CommunityRedacción y edicióngithub.com

zw008/VMware-NSX-Security

Microsegmentación y seguridad de NSX DFW: firewall distribuido, grupos de seguridad, etiquetas, traceflow, IDPS — herramientas MCP para agentes de IA

¿Qué es VMware-NSX-Security?

VMware-NSX-Security es un conjunto de 21 herramientas MCP (10 de solo lectura y 11 de escritura) diseñado para que agentes de IA automaticen la gestión de seguridad de NSX DFW. Este skill permite operaciones completas sobre políticas de firewall distribuidas (DFW), grupos de seguridad, etiquetas de VM, traceflow y perfiles IDPS. Está especialmente optimizado para implementar microsegmentación de confianza cero entre capas de aplicación, usando grupos dinámicos basados en etiquetas y reglas DFW. Es un proyecto open source comunitario (licencia MIT), no afiliado a VMware/Broadcom. Se integra con otros skills como vmware-nsx (redes) y vmware-monitor (monitoreo) para automatización integral del ciclo de vida de NSX.

Compatible con✓Claude Code~Codex CLI✓Cursor
npx skills add zw008/VMware-NSX-Security

Installed? Explore more Redacción y edición skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Seguridad VMware NSX

Aviso: Este es un proyecto de código abierto mantenido por la comunidad y no está afiliado, respaldado ni patrocinado por VMware, Inc. o Broadcom Inc. "VMware" y "NSX" son marcas registradas de Broadcom. El código fuente es auditado públicamente en github.com/zw008/VMware-NSX-Security bajo la licencia MIT.

Microsegmentación y seguridad de VMware NSX DFW: 21 herramientas MCP para firewall distribuido, grupos de seguridad, etiquetas de VM, Traceflow e IDPS.

Skill de seguridad especializado para la API de políticas NSX-T / NSX 4.x. Skills complementarios: vmware-nsx (redes), vmware-aiops (ciclo de vida de VM), vmware-monitor (monitoreo de solo lectura), vmware-avi (AVI/ALB/AKO), vmware-harden (líneas base de cumplimiento). | vmware-pilot (orquestación de flujos de trabajo) | vmware-policy (auditoría/política)

Qué Hace Este Skill

CategoríaHerramientasConteo
Políticas DFWlistar, obtener, crear, actualizar, eliminar, listar reglas6
Reglas DFWcrear, actualizar, eliminar, obtener estadísticas4
Grupos de Seguridadlistar, obtener, crear, eliminar4
Etiquetas de VMlistar etiquetas, aplicar etiqueta, eliminar etiqueta3
Traceflowejecutar trace, obtener resultado2
IDPSlistar perfiles, obtener estado2

Total: 21 herramientas (10 de solo lectura + 11 de escritura)

Instalación Rápida

uv tool install vmware-nsx-security
vmware-nsx-security doctor

Cuándo Usar Este Skill

  • Listar, crear o modificar políticas y reglas de seguridad DFW
  • Crear grupos de seguridad basados en etiquetas de VM, rangos IP o membresía de segmento
  • Aplicar o listar etiquetas NSX en máquinas virtuales
  • Ejecutar Traceflow para trazar la ruta de un paquete y diagnosticar razones de caída
  • Verificar configuración de perfiles IDPS, estado de firmas y configuraciones globales de IDS
  • Implementar microsegmentación de confianza cero entre capas de aplicación

Usa skills complementarios para:

  • Segmentos NSX, puertas de enlace, NAT, enrutamiento, IPAM → vmware-nsx
  • Ciclo de vida de VM, despliegue, operaciones invitadas → vmware-aiops
  • Inventario de vSphere, salud, alarmas, eventos → vmware-monitor
  • Almacenamiento: iSCSI, vSAN, datastores → vmware-storage
  • Tanzu Kubernetes → vmware-vks
  • Balanceo de carga, AVI/ALB, AKO, Ingress → vmware-avi

Skills Relacionados — Enrutamiento de Skills

Intención del UsuarioSkill Recomendado
Seguridad NSX: reglas DFW, grupos de seguridad, IDS/IPSvmware-nsx-security ← este skill
Redes NSX: segmentos, puertas de enlace, NAT, enrutamientovmware-nsx
Monitoreo de solo lectura de vSphere, alarmas, eventosvmware-monitor
Ciclo de vida de VM, despliegue, operaciones invitadasvmware-aiops
Almacenamiento: iSCSI, vSAN, datastoresvmware-storage
Tanzu Kubernetesvmware-vks
Flujos de trabajo de múltiples pasos con aprobaciónvmware-pilot
Líneas base de cumplimiento (CIS / 等保 / PCI-DSS), detección de desviaciones, asesor de corrección con LLMvmware-harden (uv tool install vmware-harden)
Balanceador de carga, AVI, ALB, AKO, Ingressvmware-avi (uv tool install vmware-avi)
Consulta de registros de auditoríavmware-policy (vmware-audit CLI)

Flujos de Trabajo Comunes

Implementar Microsegmentación de Capas de Aplicación

Pre-vuelo (juicio — los cambios DFW pueden bloquear a todos):

  • Permitir por defecto primero: la primera regla en cualquier política nueva debe ser ALLOW para tráfico de gestión (DNS, NTP, vCenter, SSH desde jumphost). Sin ella, en el momento que agregas un denegar por defecto, bloqueas tu propio acceso.
  • Inventario de etiquetas: confirma que las VM que pretendes proteger realmente tengan la etiqueta (tag list <vm>). Un grupo basado en una etiqueta inexistente coincide con cero VM — la política aparecerá "aplicada" pero no hará cumplir nada.
  • Elección de categoría: Application para microsegmentación entre capas (las reglas se evalúan tarde, después de que las reglas de Infraestructura pasen). Usar Emergency para reglas rutinarias agotará la capacidad real de respuesta a incidentes.
  • ¿Sin estado? Por defecto, con estado — NSX DFW tiene estado y casi ninguna regla debe ser sin estado. Sin estado = ambas direcciones deben permitirse explícitamente.
  • Siempre comienza con registro habilitado en las reglas nuevas; desactívalo después de verificar. Las caídas silenciosas son el peor tipo de error.

Pasos:

  1. Etiqueta las VM primero (ver flujo de trabajo abajo) — grupos vacíos = sin cumplimiento
  2. Crea grupos mediante la herramienta MCP create_group con tag_scope/tag_value (la condición de etiqueta se empareja como "scope|tag", por ejemplo tier|web; nota que múltiples tipos de criterios — etiqueta/IP/segmento — se combinan con OR, no AND)
  3. policy create app-microseg --category Application
  4. Agrega reglas en orden: ALLOW management → ALLOW intra-tier → ALLOW web→app en puerto de app → DROP any-any con registro
  5. Verifica con traceflow (ver abajo) antes de habilitar denegar por defecto

Aplicar Etiquetas NSX a VM

Juicio: las etiquetas determinan la membresía de grupo, que a su vez determina el cumplimiento DFW. Una etiqueta mal escrita excluye silenciosamente una VM de la protección. Siempre vuelve a listar después de aplicar.

  1. tag list my-web-vm-01 → registra el ID externo de la VM, también mira qué etiquetas ya existen (evita duplicados / colisiones tipográficas)
  2. tag apply <vm-external-id> --scope tier --value web
  3. Verificar: tag list my-web-vm-01 nuevamente → confirma que la nueva etiqueta está presente Y no hay ninguna inesperada

Trazar un Paquete con Traceflow

Juicio: traceflow es tu mecanismo de verificación para cualquier cambio DFW. Ejecútalo antes de habilitar reglas de denegar y después de cada modificación de regla. No confíes en "se ve bien en la interfaz."

  1. Obtén el ID de puerto lógico de la VM fuente mediante vmware-nsx troubleshoot vm-segment
  2. traceflow run <lport-id> --src-ip <src> --dst-ip <dst> --proto TCP --dst-port <port>
  3. Inspecciona la cadena de aciertos DFW: qué regla coincidió, ALLOW o DROP, y en qué nodo de transporte
  4. Error común: la regla coincide en la categoría Application pero está oculta por un DROP anterior en la categoría Environment — lee el trace de arriba a abajo, no solo el veredicto final

Verificar Contadores de Aciertos de Políticas DFW

vmware-nsx-security policy list
vmware-nsx-security rule list <policy-id>
vmware-nsx-security rule stats <policy-id> <rule-id>

Operaciones Multi-Destino

Todos los comandos aceptan --target <nombre> para operar contra un NSX Manager específico:

# Destino predeterminado
vmware-nsx-security policy list

# Destino específico
vmware-nsx-security policy list --target nsx-prod
vmware-nsx-security group list --target nsx-lab

Modo de Uso

EscenarioRecomendadoPor qué
Modelos locales/pequeños (Ollama, Qwen)CLI~2K tokens vs ~8K para MCP
Modelos en la nube (Claude, GPT-4o)CualquieraMCP proporciona E/S JSON estructurada
Pipelines automatizadosMCPParámetros seguros por tipo, salida estructurada

Herramientas MCP (21 — 10 lectura, 11 escritura)

Todas las herramientas MCP aceptan un parámetro opcional target.

CategoríaHerramientaTipoDescripción
Política DFWlist_dfw_policiesLecturaLista todas las políticas de seguridad DFW con categoría, secuencia y conteo de reglas
get_dfw_policyLecturaObtiene detalles de política: categoría, con estado, bloqueada, alcance, etiquetas
create_dfw_policyEscrituraCrea una nueva política DFW con categoría y número de secuencia
update_dfw_policyEscrituraActualización parcial: display_name, description, sequence_number, stateful
delete_dfw_policyEscrituraElimina política — rechaza si existen reglas activas
list_dfw_rulesLecturaLista reglas en una política: acción, fuentes, destinos, servicios
Reglas DFWcreate_dfw_ruleEscrituraCrea regla con fuentes/destinos/servicios/acción/alcance
update_dfw_ruleEscrituraActualización parcial de campos de regla
delete_dfw_ruleEscrituraElimina una regla de una política
get_dfw_rule_statsLecturaObtiene conteos de paquetes/bytes/sesiones/aciertos y popularity_index para una regla
Grupos de Seguridadlist_groupsLecturaLista todos los grupos de seguridad con conteo de expresiones
get_groupLecturaObtiene detalles del grupo: criterios de expresión + hasta 50 miembros VM efectivos
create_groupEscrituraCrea grupo con criterios de membresía por etiqueta/IP/segmento (la etiqueta se empareja como "scope|tag"; múltiples criterios se combinan con OR)
delete_groupEscrituraElimina grupo — rechaza si está referenciado por reglas/alcances DFW, o si el escaneo de referencias falla
Etiquetas de VMlist_vm_tagsLecturaLista etiquetas NSX en una VM por nombre visible
apply_vm_tagEscrituraAplica una etiqueta de alcance/valor a una VM (aditiva, preserva etiquetas existentes)
remove_vm_tagEscrituraElimina una etiqueta de alcance/valor de una VM (otras etiquetas preservadas; puede cambiar membresía dinámica de grupo)
Traceflowrun_traceflowEscrituraInyecta paquete de prueba; devuelve operation_state + observaciones salto por salto (por resource_type) + dfw_hits
get_traceflow_resultLecturaVerifica operation_state/observaciones de un traceflow existente
IDPSlist_idps_profilesLecturaLista perfiles IDPS con severidad y criterios de filtro
get_idps_statusLecturaObtiene estado de firmas IDPS + configuraciones globales de IDS (auto_update, exportación syslog)

Referencia Rápida de CLI

# Política DFW
vmware-nsx-security policy list [--target <nombre>]
vmware-nsx-security policy get <policy-id>
vmware-nsx-security policy create <id> --name "Nombre Visible" --category Application [--dry-run]
vmware-nsx-security policy delete <id> [--dry-run]

# Reglas DFW
vmware-nsx-security rule list <policy-id>
vmware-nsx-security rule stats <policy-id> <rule-id>
vmware-nsx-security rule delete <policy-id> <rule-id> [--dry-run]

# Grupos de Seguridad
vmware-nsx-security group list
vmware-nsx-security group get <group-id>
vmware-nsx-security group delete <group-id> [--dry-run]

# Etiquetas
vmware-nsx-security tag list <vm-display-name>
vmware-nsx-security tag apply <vm-external-id> --scope env --value production [--dry-run]
vmware-nsx-security tag remove <vm-external-id> --scope env --value production [--dry-run]

# Traceflow
vmware-nsx-security traceflow run <lport-id> --src-ip &lt;src-ip&gt; --dst-ip &lt;dst-ip&gt;

# IDPS
vmware-nsx-security idps profiles
vmware-nsx-security idps status

# Diagnóstico
vmware-nsx-security doctor [--skip-auth]

Solución de Problemas

"No se puede eliminar política — existen reglas activas"

delete_dfw_policy verifica reglas activas antes de eliminar. Usa vmware-nsx-security rule list <policy-id> para ver qué reglas necesitan eliminarse primero. Luego elimina cada regla individualmente antes de reintentar la eliminación de la política.

"No se puede eliminar grupo — está referenciado por reglas DFW"

delete_group escanea todas las políticas en busca de referencias al grupo en source_groups, destination_groups y alcance applied-to de las reglas, más alcance a nivel de política. Elimina el grupo de esas referencias primero (mediante update_dfw_rule reemplazando la ruta del grupo con 'ANY' u otro grupo), luego reintenta. Si el error dice que el escaneo de referencias falló, la eliminación se abortó como precaución — verifica la conectividad NSX con vmware-nsx-security doctor y reintenta.

"No se encontró ninguna máquina virtual con display_name"

list_vm_tags busca VM por nombre visible a través de la API de fabric NSX. Causas comunes:

  1. El nombre visible no coincide — el nombre en NSX Manager puede diferir del de vCenter. Verifica vmware-monitor vm list para el nombre visible exacto del fabric NSX.
  2. VM no registrada — las VM recién desplegadas pueden tardar un minuto en aparecer en el fabric NSX.
  3. Múltiples VM con el mismo nombre — usa apply_vm_tag con el external_id específico.

Traceflow devuelve observaciones vacías

  1. Si operation_state es IN_PROGRESS, el trace no ha terminado — vuelve a consultar con get_traceflow_result <traceflow-id>.
  2. Verifica que src_lport_id sea el UUID de adjunto de puerto lógico correcto — no la ruta del puerto de segmento. Obténlo de vmware-nsx troubleshoot vm-segment <vm>.
  3. La VM fuente debe estar encendida y conectada a un segmento overlay NSX.
  4. Si la VM está en un segmento respaldado por VLAN, Traceflow no es compatible.
  5. NSX Manager requiere que el nodo de transporte que aloja la VM fuente sea accesible. Verifica vmware-nsx health transport-nodes.

Las estadísticas de reglas DFW muestran cero aciertos

Una regla recién creada tendrá conteos de aciertos cero hasta que el tráfico coincida con ella. Si el tráfico esperado aún muestra cero:

  1. Confirma que la regla no está deshabilitada (disabled: false en la salida de list_dfw_rules).
  2. Verifica que la membresía del grupo fuente/destino sea correcta usando get_group.
  3. Verifica el número de secuencia de la regla — una regla de secuencia inferior con ALLOW/DROP puede estar coincidiendo primero.

Error "Password not found"

Convención de variable de contraseña: VMWARE_NSX_SECURITY_<TARGET_UPPER>_PASSWORD donde los guiones se reemplazan por guiones bajos. Para el destino nsx-prod: VMWARE_NSX_SECURITY_NSX_PROD_PASSWORD. Verifica ~/.vmware-nsx-security/.env.

invalid peer certificate: UnknownIssuer (uvx)

Proxy TLS corporativo no confiado por el almacén de certificados incluido de uv. Usa la forma de comando único v1.5.15+ vmware-nsx-security mcp (sin re-resolución de PyPI), o export UV_NATIVE_TLS=true para que uv use el almacén de certificados del sistema.

Seguridad

  • Registro de auditoría: Todas las operaciones de escritura se registran en ~/.vmware/audit.db (SQLite WAL, mediante vmware-policy) con marca de tiempo, usuario, destino, operación, parámetros y resultado
  • Verificaciones de dependencia: delete_dfw_policy verifica reglas activas; delete_group verifica referencias a reglas DFW — previene fallos en cascada accidentales
  • Validación de entrada: Todos los IDs se validan contra un conjunto de caracteres seguro (alfanuméricos, guiones, guiones bajos, puntos); todos los campos de texto se sanitizan para eliminar caracteres de control
  • Modo dry-run: Los comandos de escritura de CLI admiten --dry-run para previsualizar llamadas API sin ejecutarlas
  • Doble confirmación: Las operaciones destructivas de CLI (eliminación) requieren dos avisos de confirmación separados
  • Seguridad de credenciales: Las contraseñas se cargan solo desde variables de entorno (archivo .env), nunca desde config.yaml
  • Sin cambios de red: No puede modificar segmentos, puertas de enlace, NAT o enrutamiento — ese alcance pertenece a vmware-nsx
  • Defensa contra inyección de prompts: Todas las cadenas originadas en la API se pasan a través de _sanitize() antes de incluirlas en la salida de la herramienta

Configuración

uv tool install vmware-nsx-security

Skills relacionados