CommunityEscrita e Ediçãogithub.com

zw008/VMware-NSX-Segurança

Microssegmentação e segurança VMware NSX DFW: firewall distribuído, grupos de segurança, tags, traceflow, IDPS — ferramentas MCP para agentes de IA

O que é VMware-NSX-Segurança?

Esta skill fornece 21 ferramentas MCP para gerenciar a segurança VMware NSX DFW (Distributed Firewall), permitindo que agentes de IA (como Claude Code, Cursor, Codex) automatizem a configuração de políticas de firewall, grupos de segurança, tags de VM, Traceflow e IDPS. Ela é essencial para implementar microssegmentação zero-trust em ambientes NSX-T / NSX 4.x, oferecendo ferramentas de leitura e escrita (10 leitura, 11 escrita) que cobrem desde a listagem e criação de políticas DFW até a execução de Traceflow para diagnóstico de pacotes. A skill suporta múltiplos alvos NSX Manager via parâmetro `--target`, tem modo dry-run para operações destrutivas e registro de auditoria em SQLite. É útil para engenheiros de segurança e plataforma que precisam automatizar a aplicação de políticas de segurança, verificar conectividade entre camadas de aplicação e auditar mudanças em firewalls distribuídos sem depender da interface gráfica.

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

Installed? Explore more Escrita e Edição skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

VMware NSX Segurança

Aviso: Este é um projeto open-source mantido pela comunidade e não é afiliado, endossado ou patrocinado por VMware, Inc. ou Broadcom Inc. "VMware" e "NSX" são marcas registradas da Broadcom. O código-fonte é publicamente auditável em github.com/zw008/VMware-NSX-Security sob licença MIT.

Microssegmentação e segurança VMware NSX DFW — 21 ferramentas MCP para firewall distribuído, grupos de segurança, tags de VM, Traceflow e IDPS.

Skill de segurança focada em domínio para NSX-T / API de Política NSX 4.x. Skills complementares: vmware-nsx (rede), vmware-aiops (ciclo de vida de VMs), vmware-monitor (monitoramento somente leitura), vmware-avi (AVI/ALB/AKO), vmware-harden (baselines de conformidade). | vmware-pilot (orquestração de fluxos de trabalho) | vmware-policy (auditoria/política)

O Que Esta Skill Faz

CategoriaFerramentasContagem
Política DFWlistar, obter, criar, atualizar, excluir, listar regras6
Regras DFWcriar, atualizar, excluir, obter estatísticas4
Grupos de Segurançalistar, obter, criar, excluir4
Tags de VMlistar tags de VM, aplicar tag, remover tag3
Traceflowexecutar trace, obter resultado2
IDPSlistar perfis, obter status2

Total: 21 ferramentas (10 somente leitura + 11 escrita)

Instalação Rápida

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

Quando Usar Esta Skill

  • Listar, criar ou modificar políticas e regras de segurança DFW
  • Criar grupos de segurança baseados em tags de VM, faixas de IP ou associação a segmentos
  • Aplicar ou listar tags NSX em máquinas virtuais
  • Executar Traceflow para rastrear o caminho de um pacote e diagnosticar motivos de descarte
  • Verificar configuração de perfil IDPS, status de assinatura e configurações globais de IDS
  • Implementar microssegmentação zero-trust entre camadas de aplicação

Use skills complementares para:

  • Segmentos NSX, gateways, NAT, roteamento, IPAM → vmware-nsx
  • Ciclo de vida de VM, implantação, operações convidadas → vmware-aiops
  • Inventário vSphere, saúde, alarmes, eventos → vmware-monitor
  • Armazenamento: iSCSI, vSAN, datastores → vmware-storage
  • Tanzu Kubernetes → vmware-vks
  • Balanceamento de carga, AVI/ALB, AKO, Ingress → vmware-avi

Skills Relacionadas — Roteamento de Skills

Intenção do UsuárioSkill Recomendada
Segurança NSX: regras DFW, grupos de segurança, IDS/IPSvmware-nsx-security ← esta skill
Rede NSX: segmentos, gateways, NAT, roteamentovmware-nsx
Monitoramento vSphere somente leitura, alarmes, eventosvmware-monitor
Ciclo de vida de VM, implantação, operações convidadasvmware-aiops
Armazenamento: iSCSI, vSAN, datastoresvmware-storage
Tanzu Kubernetesvmware-vks
Fluxos de trabalho multi-etapas com aprovaçãovmware-pilot
Baselines de conformidade (CIS / 等保 / PCI-DSS), detecção de desvios, consultor de correção LLMvmware-harden (uv tool install vmware-harden)
Balanceador de carga, AVI, ALB, AKO, Ingressvmware-avi (uv tool install vmware-avi)
Consulta de log de auditoriavmware-policy (CLI vmware-audit)

Fluxos de Trabalho Comuns

Implementar Microssegmentação de Camada de Aplicação

Pré-voo (julgamento — mudanças DFW podem bloquear todos) :

  • Primeiro permitir por padrão: a primeira regra em qualquer nova política deve ser ALLOW para tráfego de gerenciamento (DNS, NTP, vCenter, SSH a partir do jumphost). Sem ela, no momento em que você adicionar um default-deny, você bloqueará seu próprio acesso.
  • Inventário de tags: confirme que as VMs que você pretende proteger realmente possuem a tag (tag list <vm>). Um grupo baseado em uma tag inexistente corresponde a zero VMs — a política parecerá "aplicada", mas não imporá nada.
  • Escolha de categoria: Application para microssegmentação de camada de aplicação (regras avaliadas tarde, depois que regras de Infrastructure passam). Usar Emergency para regras rotineiras esgotará a capacidade de resposta a incidentes reais.
  • Stateless? Padrão stateful — NSX DFW é stateful e quase nenhuma regra deve ser stateless. Stateless = ambas as direções devem ser explicitamente permitidas.
  • Sempre comece com logging ativado em novas regras; desative depois que for verificado. Descarte silencioso é o pior tipo de bug.

Passos:

  1. Tagge as VMs primeiro (veja fluxo de trabalho abaixo) — grupos vazios = sem imposição
  2. Crie grupos via ferramenta MCP create_group com tag_scope/tag_value (a condição de tag é correspondida como "scope|tag", ex. tier|web; note que múltiplos tipos de critério — tag/IP/segmento — são ORed, não ANDed)
  3. policy create app-microseg --category Application
  4. Adicione regras na ordem: ALLOW gerenciamento → ALLOW intra-camada → ALLOW web→app na porta da aplicação → DROP any-any com logging
  5. Verifique com traceflow (veja abaixo) antes de ativar default-deny

Aplicar Tags NSX em VMs

Julgamento: tags conduzem associação a grupos, que conduzem imposição DFW. Uma tag com erro de ortografia exclui silenciosamente uma VM da proteção. Sempre reliste após aplicar.

  1. tag list my-web-vm-01 → registre o ID externo da VM, veja também quais tags já existem (evite duplicatas / colisões de digitação)
  2. tag apply <vm-external-id> --scope tier --value web
  3. Verifique: tag list my-web-vm-01 novamente → confirme que a nova tag está presente E nenhuma inesperada

Rastrear um Pacote com Traceflow

Julgamento: traceflow é seu mecanismo de verificação para qualquer mudança DFW. Execute-o antes de ativar regras de negação e após cada modificação de regra. Não confie em "parece correto na interface."

  1. Obtenha o ID da porta lógica da VM de origem via vmware-nsx troubleshoot vm-segment
  2. traceflow run <lport-id> --src-ip <src> --dst-ip <dst> --proto TCP --dst-port <port>
  3. Inspecione a cadeia de hits DFW: qual regra correspondeu, ALLOW ou DROP, e em qual nó de transporte
  4. Falha comum: a regra corresponde na categoria Application, mas é ofuscada por um DROP anterior na categoria Environment — leia o trace de cima para baixo, não apenas o veredito final

Verificar Contagens de Hits de Política DFW

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

Operações Multi-Alvo

Todos os comandos aceitam --target <nome> para operar contra um NSX Manager específico:

# Alvo padrão
vmware-nsx-security policy list

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

Modo de Uso

CenárioRecomendadoPor quê
Modelos locais/pequenos (Ollama, Qwen)CLI~2K tokens vs ~8K para MCP
Modelos em nuvem (Claude, GPT-4o)QualquerMCP fornece I/O JSON estruturado
Pipelines automatizadosMCPParâmetros type-safe, saída estruturada

Ferramentas MCP (21 — 10 leitura, 11 escrita)

Todas as ferramentas MCP aceitam um parâmetro opcional target.

CategoriaFerramentaTipoDescrição
Política DFWlist_dfw_policiesLeituraLista todas as políticas de segurança DFW com categoria, sequência e contagem de regras
get_dfw_policyLeituraObtém detalhes da política: categoria, stateful, bloqueada, escopo, tags
create_dfw_policyEscritaCria uma nova política DFW com categoria e número de sequência
update_dfw_policyEscritaAtualização parcial: display_name, descrição, sequence_number, stateful
delete_dfw_policyEscritaExclui política — recusa se regras ativas existirem
Regras DFWlist_dfw_rulesLeituraLista regras em uma política: ação, origens, destinos, serviços
create_dfw_ruleEscritaCria regra com origens/destinos/serviços/ação/escopo
update_dfw_ruleEscritaAtualização parcial de campos de regra
delete_dfw_ruleEscritaExclui uma regra de uma política
get_dfw_rule_statsLeituraObtém contagens de pacotes/bytes/sessões/hits e popularity_index para uma regra
Grupos de Segurançalist_groupsLeituraLista todos os grupos de segurança com contagem de expressões
get_groupLeituraObtém detalhes do grupo: critérios de expressão + até 50 membros VM efetivos
create_groupEscritaCria grupo com critérios de associação tag/IP/segmento (tag correspondida como "scope|tag"; múltiplos critérios ORed)
delete_groupEscritaExclui grupo — recusa se referenciado por regras/escopos DFW, ou se a varredura de referência falhar
Tags de VMlist_vm_tagsLeituraLista tags NSX em uma VM por nome de exibição
apply_vm_tagEscritaAplica uma tag de escopo/valor a uma VM (aditiva, preserva tags existentes)
remove_vm_tagEscritaRemove uma tag de escopo/valor de uma VM (outras tags preservadas; pode alterar associação a grupos dinâmicos)
Traceflowrun_traceflowEscritaInjeta pacote de sonda; retorna operation_state + observações salto a salto (por resource_type) + dfw_hits
get_traceflow_resultLeituraVerifica operation_state/observações de um traceflow existente
IDPSlist_idps_profilesLeituraLista perfis IDPS com severidade e critérios de filtro
get_idps_statusLeituraObtém status de assinatura IDPS + configurações globais de IDS (auto_update, exportar syslog)

Referência Rápida da CLI

# Política DFW
vmware-nsx-security policy list [--target <nome>]
vmware-nsx-security policy get <policy-id>
vmware-nsx-security policy create <id> --name "Nome de Exibição" --category Application [--dry-run]
vmware-nsx-security policy delete <id> [--dry-run]

# Regras 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 Segurança
vmware-nsx-security group list
vmware-nsx-security group get <group-id>
vmware-nsx-security group delete <group-id> [--dry-run]

# Tags
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]

Solução de Problemas

"Não é possível excluir política — regras ativas existem"

delete_dfw_policy verifica regras ativas antes de excluir. Use vmware-nsx-security rule list <policy-id> para ver quais regras precisam ser removidas primeiro. Em seguida, exclua cada regra individualmente antes de tentar novamente a exclusão da política.

"Não é possível excluir grupo — referenciado por regras DFW"

delete_group varre todas as políticas em busca de referências ao grupo em source_groups, destination_groups e escopo applied-to das regras, mais escopo no nível da política. Remova o grupo dessas referências primeiro (via update_dfw_rule substituindo o caminho do grupo por 'ANY' ou outro grupo) e tente novamente. Se o erro disser que a varredura de referência falhou, a exclusão foi abortada como precaução — verifique a conectividade NSX com vmware-nsx-security doctor e tente novamente.

"Nenhuma máquina virtual encontrada com display_name"

list_vm_tags procura VMs pelo nome de exibição via API de fabric NSX. Causas comuns:

  1. Nome de exibição incorreto — o nome no NSX Manager pode diferir do vCenter. Verifique vmware-monitor vm list para o nome de exibição exato do fabric NSX.
  2. VM não registrada — VMs recém-implantadas podem levar um minuto para aparecer no fabric NSX.
  3. Múltiplas VMs com o mesmo nome — use apply_vm_tag com o external_id específico.

Traceflow retorna observações vazias

  1. Se operation_state for IN_PROGRESS, o trace não terminou — consulte novamente com get_traceflow_result <traceflow-id>.
  2. Verifique se src_lport_id é o UUID correto de anexo de porta lógica — não o caminho da porta de segmento. Obtenha de vmware-nsx troubleshoot vm-segment <vm>.
  3. A VM de origem deve estar ligada e conectada a um segmento de overlay NSX.
  4. Se a VM estiver em um segmento com suporte VLAN, o Traceflow não é suportado.
  5. O NSX Manager exige que o nó de transporte que hospeda a VM de origem seja acessível. Verifique vmware-nsx health transport-nodes.

Estatísticas de regra DFW mostram zero hits

Uma regra recém-criada terá contagens de hits zero até que o tráfego corresponda a ela. Se o tráfego esperado ainda mostrar zero:

  1. Confirme que a regra não está desabilitada (disabled: false na saída de list_dfw_rules).
  2. Verifique se a associação do grupo de origem/destino está correta usando get_group.
  3. Verifique o número de sequência da regra — uma regra com sequência mais baixa com ALLOW/DROP pode estar correspondendo primeiro.

Erro "Senha não encontrada"

Convenção de variável de senha: VMWARE_NSX_SECURITY_<TARGET_UPPER>_PASSWORD onde hífens são substituídos por underscores. Para alvo nsx-prod: VMWARE_NSX_SECURITY_NSX_PROD_PASSWORD. Verifique ~/.vmware-nsx-security/.env.

invalid peer certificate: UnknownIssuer (uvx)

Proxy TLS corporativo não confiável pelo armazenamento de certificados agrupado do uv. Use o formulário de comando único v1.5.15+ vmware-nsx-security mcp (sem re-resolução PyPI), ou export UV_NATIVE_TLS=true para fazer o uv usar o armazenamento de certificados do sistema.

Segurança

  • Registro de auditoria: Todas as operações de escrita registradas em ~/.vmware/audit.db (SQLite WAL, via vmware-policy) com timestamp, usuário, alvo, operação, parâmetros e resultado
  • Verificações de dependência: delete_dfw_policy verifica regras ativas; delete_group verifica referências a regras DFW — previne falhas em cascata acidentais
  • Validação de entrada: Todos os IDs validados contra conjunto de caracteres seguro (alfanuméricos, hífens, underscores, pontos); todos os campos de texto sanitizados para remover caracteres de controle
  • Modo dry-run: Comandos de escrita na CLI suportam --dry-run para pré-visualizar chamadas de API sem executar
  • Confirmação dupla: Operações destrutivas na CLI (exclusão) exigem dois prompts de confirmação separados
  • Segurança de credenciais: Senhas carregadas apenas de variáveis de ambiente (arquivo .env), nunca de config.yaml
  • Sem alterações de rede: Não pode modificar segmentos, gateways, NAT ou roteamento — esse escopo pertence a vmware-nsx
  • Defesa contra injeção de prompt: Todas as strings originadas da API passam por _sanitize() antes da inclusão na saída da ferramenta

Configuração

uv tool install vmware-nsx-security
# Configuração interativa
vmware-nsx-security doctor

Links

RecursoLink
Repositóriogithub.com/zw008/VMware-NSX-Security
Relatar problemasGitHub Issues
LicençaMIT

Habilidades Relacionadas