Aula 20: Segurança de switch — Port Security, DHCP Snooping e DAI

Aula 20: Segurança de switch — Port Security, DHCP Snooping e DAI

Bem-vindo à Aula 20 do curso Cisco IOS — Do Zero ao Avançado. Hoje mergulharemos em um dos pilares mais críticos da administração de redes: a segurança de switch. Embora switches sejam frequentemente vistos como dispositivos “burros” de camada 2, a verdade é que eles são vetores de ataques sofisticados — e a proteção começa nas portas onde os hosts se conectam. Nesta aula, você aprenderá a blindar seu switch contra ameaças como inundação de endereços MAC, servidores DHCP falsos e envenenamento de cache ARP. Vamos configurar, testar e verificar três recursos nativos do Cisco IOS: Port Security, DHCP Snooping e Dynamic ARP Inspection (DAI).

A segurança de switch não é um luxo — é uma necessidade. Em nossos projetos na JRT Technology Solutions, presenciamos ambientes onde um simples notebook conectado a uma porta mal configurada comprometeu toda a rede corporativa. Ataques de MAC flooding podem transformar um switch em um hub, permitindo que um invasor capture todo o tráfego. Já um servidor DHCP rogue entrega endereços IP falsos, desviando o gateway padrão para um host controlado pelo atacante. E o ARP spoofing, por sua vez, é a base para ataques de man-in-the-middle (MITM) que roubam credenciais e sessões. A boa notícia é que o Cisco IOS oferece ferramentas maduras para mitigar essas ameaças, e você as dominará completamente ao final desta aula.

Esta aula é classificada como nível intermediário. Você já deve estar familiarizado com a configuração básica de VLANs, acesso via console/SSH e a diferença entre portas de acesso e tronco — tópicos que abordamos nas aulas anteriores. Nosso laboratório utilizará um switch Catalyst gerenciável (emulado ou físico) rodando IOS release 15.2 ou superior. Iremos passo a passo: primeiro ativando o Port Security para controlar quais endereços MAC podem acessar cada porta; depois configurando DHCP Snooping para barrar DHCP replies não autorizadas; e, por fim, habilitando DAI para inspecionar pacotes ARP e descartar aqueles que não condizem com a tabela de binding do DHCP Snooping. Cada etapa será demonstrada com comandos reais, saídas esperadas e verificações que você pode reproduzir agora mesmo.

Ao concluir esta aula, você será capaz de: proteger portas de acesso contra ataques de inundação de MAC, limitar o número de hosts por porta, configurar envelhecimento dinâmico de endereços seguros, classificar portas como trusted/untrusted para DHCP, criar uma base confiável de bindings IP-MAC e utilizar essas informações para filtrar ARP malicioso. Tudo isso com um plano de configuração testado e aprovado por nossos especialistas da JRT Technology Solutions, que utilizam diariamente essas técnicas em implantações reais. Prepare seu terminal, abra a sessão console do switch e vamos começar a blindar sua rede.

O que você vai aprender nesta aula

  • Entender os ataques de camada 2: MAC flooding, DHCP spoofing e ARP spoofing
  • Configurar Port Security em portas de acesso, definindo MACs estáticos, dinâmicos e sticky
  • Implementar limites de endereços MAC por porta e ações de violação (protect, restrict, shutdown)
  • Habilitar DHCP Snooping globalmente e por VLAN, definindo portas confiáveis
  • Verificar a tabela de bindings do DHCP Snooping
  • Ativar Dynamic ARP Inspection (DAI) com base nos bindings de DHCP Snooping
  • Configurar DAI em portas confiáveis e aplicar ACLs para inspeção adicional
  • Verificar a operação conjunta dos três recursos de segurança de switch
  • Diagnosticar e solucionar os erros mais comuns nesse tipo de configuração

Pré-requisitos e Ambiente

Para acompanhar esta aula sem dificuldades, você precisará de:

  • Um switch Cisco Catalyst gerenciável (físico, emulado via GNS3/EVE-NG ou com Cisco CML) rodando IOS versão 15.2(2) ou superior. Recursos como Port Security, DHCP Snooping e DAI estão disponíveis nas licenças LAN Base e IP Base.
  • Acesso privilegiado (enable mode) ao switch.
  • Conhecimento prévio: configuração de hostname, VLANs, portas de acesso (switchport mode access, switchport access vlan), interfaces e noções básicas de endereçamento IP.
  • Um host conectado para testes (pode ser uma máquina virtual com interface bridge para o switch, ou um simples notebook).
  • Opcional mas recomendado: um segundo switch ou roteador que possa agir como servidor DHCP legítimo, para testar o DHCP Snooping; ou um software como dhcpsrv para simular um servidor DHCP rogue.

Neste guia, usaremos um switch com hostname SW-Aula20. As portas de acesso que configuraremos são GigabitEthernet0/1 e GigabitEthernet0/2. A VLAN nativa será a 10 para os hosts de teste. Se seu ambiente usa VLANs diferentes, ajuste os IDs conforme necessário. Todos os comandos devem ser executados no modo de configuração global (configure terminal), exceto onde indicado.

Entendendo as Ameaças: Por que a Segurança de Switch é Essencial

Antes de aplicarmos as proteções, precisamos compreender exatamente o que estamos combatendo. A camada 2 do modelo OSI é inerentemente confiável — switches aprendem endereços MAC automaticamente, e protocolos como ARP e DHCP não possuem autenticação nativa. Isso abre brechas que exploraremos a seguir.

MAC Flooding: Um invasor envia milhares de quadros com endereços MAC de origem falsos aleatórios. A tabela CAM (Content Addressable Memory) do switch tem tamanho limitado (geralmente 8.192 entradas em switches Catalyst antigos). Quando a tabela estoura, o switch não consegue mais aprender novos MACs legítimos e opera em modo fail-open: ele encaminha quadros para todas as portas da mesma VLAN, como um hub. O atacante então utiliza um sniffer para capturar tráfego que não seria visível normalmente. O Port Security limita o número de MACs por porta, prevenindo esse estouro.

DHCP Spoofing: Um servidor DHCP falso conectado a uma porta responde a requisições DHCPDISCOVER com ofertas contendo um gateway padrão controlado pelo atacante. Os clientes recebem IPs válidos mas com rotas comprometidas. Todo tráfego destinado à internet ou a outras sub-redes passa pelo atacante, que pode interceptar, modificar ou bloquear a comunicação. O DHCP Snooping classifica portas como confiáveis (onde está o servidor DHCP legítimo) e não confiáveis (acesso de clientes), bloqueando mensagens DHCPOFFER e DHCPACK vindas de portas não confiáveis.

ARP Spoofing / Poisoning: Após receber um IP (legítimo ou não), um host pode enviar respostas ARP gratuitas (gratuitous ARP) falsificadas, associando o IP do gateway padrão ao seu próprio endereço MAC. Os demais hosts na rede atualizam seu cache ARP com a informação errada e passam a enviar pacotes destinados ao roteador para o atacante. O Dynamic ARP Inspection (DAI) valida pacotes ARP contra uma base confiável de bindings IP-MAC (gerada pelo DHCP Snooping) e descarta os que não conferem.

Em resumo: segurança de switch eficaz começa com a combinação desses três recursos. Eles formam uma cadeia de confiança: o Port Security garante que apenas MACs autorizados acessem a porta; o DHCP Snooping constrói um banco de associações IP-MAC confiáveis; e o DAI utiliza esse banco para barrar ARP malicioso. Vamos agora implementar cada camada, uma a uma, com todos os comandos e verificações.

Configurando Port Security: Proteção de Portas de Acesso

O Port Security é um recurso de interface que restringe quais endereços MAC podem enviar tráfego através de uma porta de acesso. Ele é configurado por porta e suporta três modos de aprendizado: static (MACs manualmente configurados), dynamic (aprendidos automaticamente enquanto houver espaço) e sticky (MACs aprendidos dinamicamente são automaticamente convertidos para configurados e salvos na running-config). Quando um quadro com endereço MAC de origem não autorizado é recebido, uma ação de violação é disparada: protect (descarta silenciosamente), restrict (descarta e gera log SNMP/syslog) ou shutdown (derruba a porta, colocando-a em estado errdisable).

Vamos iniciar configurando a interface GigabitEthernet0/1 como porta de acesso na VLAN 10, com um máximo de 2 endereços MAC. Utilizaremos o modo sticky para que os primeiros dois dispositivos conectados tenham seus MACs fixados permanentemente. A ação de violação será restrict, para que tentativas de excesso sejam registradas mas a porta continue funcionando (útil em ambientes de produção onde não se pode perder conectividade sem aviso). Em seguida, configuraremos a interface GigabitEthernet0/2 com um único MAC estático pré-definido, simulando um host fixo e confiável, e ação de violação shutdown — ideal para portas de servidores ou equipamentos críticos.

Siga o passo a passo abaixo:

  1. Acesse o modo de configuração global e defina o hostname.
  2. Assegure-se de que as interfaces estejam como acesso e na VLAN correta (aqui, VLAN 10).
  3. Habilite o Port Security na interface.
  4. Defina o número máximo de MACs permitidos.
  5. Escolha o modo de aprendizado (sticky ou não).
  6. Defina a ação de violação.
  7. Repita para outras interfaces conforme o caso.
! Entrando no modo privilegiado e de configuração global
enable
configure terminal

! Definindo hostname (boa prática)
hostname SW-Aula20

! Criando a VLAN 10 para os testes
vlan 10
 name CLIENTES
 exit

! Configurando a interface GigabitEthernet0/1
interface GigabitEthernet0/1
 description Porta de acesso para clientes (2 MACs permitidos)
 switchport mode access
 switchport access vlan 10
 switchport port-security                 ! Habilita Port Security
 switchport port-security maximum 2      ! Máximo de 2 endereços MAC
 switchport port-security mac-address sticky  ! MACs aprendidos viram "sticky"
 switchport port-security violation restrict  ! Descarta violações e gera log
 no shutdown
 exit

! Configurando a interface GigabitEthernet0/2 (MAC estático fixo)
interface GigabitEthernet0/2
 description Porta para servidor fixo (somente um MAC autorizado)
 switchport mode access
 switchport access vlan 10
 switchport port-security
 switchport port-security maximum 1
 switchport port-security mac-address aaaa.bbbb.cccc   ! MAC fixo do servidor
 switchport port-security violation shutdown           ! Derruba a porta se violado
 no shutdown
 end

! Salvando a configuração
write memory

Explicação detalhada dos comandos utilizados:

  • switchport port-security: Habilita o recurso na interface. Sem este comando, todos os demais parâmetros de port-security são ignorados.
  • switchport port-security maximum <1-4096>: Define o número máximo de endereços MAC seguros que podem ser aprendidos (ou configurados) nesta porta. O padrão é 1.
  • switchport port-security mac-address sticky: Converte dinamicamente todos os MACs aprendidos em configurações estáticas na running-config. Eles persistem após reload somente se você salvar a configuração (write memory).
  • switchport port-security mac-address <hhhh.hhhh.hhhh>: Adiciona manualmente um endereço MAC seguro à lista estática. Pode ser repetido até o limite do “maximum”.
  • switchport port-security violation {protect | restrict | shutdown}: Define o comportamento ao detectar um MAC não autorizado ou exceder o limite. Protect descarta frames silenciosamente; Restrict descarta e incrementa contador de violação (visível via SNMP/syslog); Shutdown coloca a porta em estado errdisable, exigindo intervenção manual ou recuperação automática.

Agora, vamos conectar um host à porta Gi0/1 e verificar como o switch aprende o endereço MAC e o armazena como sticky. Suponha que o host tenha MAC 0025.8321.9a4f.

! Após conectar o primeiro host, verifique a tabela de Port Security:
SW-Aula20# show port-security interface gigabitEthernet 0/1
Port Security              : Enabled
Port Status                : Secure-up
Violation Mode             : Restrict
Aging Time                 : 0 mins
Aging Type                 : Absolute
SecureStatic Address Aging : Disabled
Maximum MAC Addresses      : 2
Total MAC Addresses        : 1
Configured MAC Addresses   : 0
Sticky MAC Addresses       : 1
Last Source Address:Vlan   : 0025.8321.9a4f:10
Security Violation Count   : 0

Note que Sticky MAC Addresses mostra 1, e Total MAC Addresses também é 1. O endereço aprendido aparece em Last Source Address:Vlan. Se você executar show run interface gigabitEthernet 0/1, verá uma linha como:

switchport port-security mac-address sticky 0025.8321.9a4f

Isso significa que o MAC sticky foi automaticamente adicionado à configuração corrente. Após salvar com write memory, esse endereço será mantido mesmo após reload. Conecte um segundo host (ex.: 00c1.b2a3.4e5f) e a porta aprenderá mais um MAC, atingindo o limite de 2. Uma tentativa de conectar um terceiro host resultará em violação Restrict: o quadro será descartado e uma mensagem de log será gerada, mas a porta não cairá. Você pode verificar a violação com:

SW-Aula20# show port-security interface gigabitEthernet 0/1
...
Security Violation Count   : 1

Na porta Gi0/2, ao conectar um dispositivo com MAC diferente de aaaa.bbbb.cccc, a ação de violação shutdown colocará a interface em estado errdisable. Para verificar:

SW-Aula20# show interfaces gigabitEthernet 0/2
GigabitEthernet0/2 is down, line protocol is down (err-disabled)

Para recuperar a porta, você pode executar shutdown seguido de no shutdown na interface, ou usar o recurso de recuperação automática por timer (abordaremos em Erros Comuns).

DHCP Snooping — Construindo uma Base Confiável de Bindings IP-MAC

O DHCP Snooping é um recurso de segurança que atua como um firewall para mensagens DHCP na camada 2. Quando habilitado, o switch divide suas portas em duas categorias: trusted (confiáveis) e untrusted (não confiáveis). Portas confiáveis são aquelas conectadas a servidores DHCP legítimos (ou uplinks para esses servidores). Nessas portas, o switch permite todo tipo de tráfego DHCP, incluindo ofertas e confirmações (DHCPOFFER, DHCPACK). Já as portas não confiáveis são tipicamente conectadas a hosts finais; nelas, o switch bloqueia servidores DHCP — ou seja, descarta mensagens DHCPOFFER e DHCPACK que cheguem por ali, impedindo que um servidor falso distribua endereços.

Além de filtrar mensagens, o DHCP Snooping constrói automaticamente uma tabela de bindings (associações) contendo o endereço MAC do cliente, o endereço IP atribuído, o lease time, a VLAN e a interface. Essa tabela é a espinha dorsal para outros recursos, como o DAI e o IP Source Guard. É fundamental que o DHCP Snooping seja ativado globalmente e, em seguida, para cada VLAN onde queremos proteção. O switch também insere a opção 82 (DHCP Relay Agent Information) nas requisições, mas isso pode ser desativado se não houver relay na rede.

Em nossos projetos na JRT Technology Solutions, sempre configuramos o DHCP Snooping mesmo em ambientes com IP fixo, porque a tabela de bindings pode ser populada manualmente (static bindings) para hosts estáticos, permitindo que o DAI funcione mesmo sem DHCP. Hoje, no entanto, focaremos no cenário com servidor DHCP legítimo.

Procedimento de configuração do DHCP Snooping:

  1. Habilitar DHCP Snooping globalmente.
  2. Habilitar DHCP Snooping para a(s) VLAN(s) desejada(s).
  3. Configurar a porta que leva ao servidor DHCP como trusted.
  4. (Opcional) Ajustar o rate limit de pacotes DHCP em portas não confiáveis.
  5. Verificar a tabela de bindings.
! No modo de configuração global
ip dhcp snooping                           ! Ativa globalmente
ip dhcp snooping vlan 10                   ! Ativa para a VLAN 10

! Definindo a porta do servidor DHCP como confiável
interface GigabitEthernet0/24
 description Conexao com o servidor DHCP legitimo
 switchport mode trunk                     ! Ou access, dependendo da topologia
 switchport trunk allowed vlan 10
 ip dhcp snooping trust                    ! Marca porta como confiável
 no shutdown
 exit

! Opcional: limitar a taxa de mensagens DHCP nas portas de acesso
interface range GigabitEthernet0/1 - 2
 ip dhcp snooping limit rate 15            ! Máximo de 15 pacotes DHCP por segundo
 exit

! (Opcional) Desabilitar inserção da opção 82 se não houver relay
no ip dhcp snooping information option
end

write memory

Explicação dos comandos:

  • ip dhcp snooping: Habilita o recurso globalmente. Sem ele, nenhum filtro é aplicado, mesmo que a VLAN esteja listada.
  • ip dhcp snooping vlan <id>: Especifica em quais VLANs o snooping estará ativo. É comum ativar para todas as VLANs de clientes, mas não para VLANs de gerenciamento (a menos que necessário).
  • ip dhcp snooping trust: Configurado em nível de interface. Portas confiáveis aceitam qualquer tráfego DHCP; portas não confiáveis bloqueiam respostas de servidor. Uplinks para roteadores com relay DHCP também devem ser trusted.
  • ip dhcp snooping limit rate <pps>: Protege o switch contra DoS limitando o número de pacotes DHCP por segundo recebidos na porta. Se excedido, a porta é colocada em errdisable por padrão.
  • no ip dhcp snooping information option: Remove a opção 82 das mensagens DHCP. Necessário se o servidor DHCP não aceitar essa opção, ou se estiver causando rejeição de leases.

Após a configuração, conecte um cliente DHCP em Gi0/1 e deixe-o obter IP normalmente do servidor legítimo conectado em Gi0/24. O switch montará a tabela de bindings automaticamente. Vamos verificá-la:

SW-Aula20# show ip dhcp snooping binding
MacAddress          IpAddress        Lease(sec)  Type           VLAN  Interface
------------------  ---------------  ----------  -------------  ----  -----------------
00:25:83:21:9A:4F   192.168.10.101   86200       dhcp-snooping  10    GigabitEthernet0/1
00:C1:B2:A3:4E:5F   192.168.10.102   86150       dhcp-snooping  10    GigabitEthernet0/1

A saída mostra dois hosts conectados à mesma porta (Gi0/1), com seus MACs e IPs atribuídos, o tempo restante do lease (em segundos) e o tipo dhcp-snooping, indicando que o binding foi aprendido dinamicamente pelo snooping. Se houvesse bindings estáticos configurados manualmente, apareceriam como static.

Para confirmar que o filtro está ativo, você pode tentar conectar um notebook configurado como servidor DHCP falso em uma porta não confiável (ex.: Gi0/2). As mensagens DHCPOFFER desse dispositivo serão descartadas silenciosamente. O switch inclusive incrementa contadores que podem ser verificados:

SW-Aula20# show ip dhcp snooping statistics
Packets Forwarded                     = 24
Packets Dropped                       = 7
Packets Dropped From untrusted ports  = 7
...

Este feedback é valioso para auditorias. Em uma implantação recente da JRT Technology Solutions, detectamos um servidor DHCP não autorizado justamente pelo incremento constante desse contador durante a noite, permitindo a correção antes que clientes fossem afetados.

Dynamic ARP Inspection (DAI) — Protegendo contra ARP Spoofing

O Dynamic ARP Inspection é o terceiro pilar da nossa estratégia de segurança de switch. Ele utiliza a tabela de bindings do DHCP Snooping para validar pacotes ARP. Quando um host envia uma resposta ARP, o switch compara os campos sender IP e sender MAC com os bindings existentes. Se houver correspondência na mesma VLAN, o pacote é permitido; caso contrário, é descartado e um log é gerado. Isso neutraliza ataques de ARP spoofing que tentam, por exemplo, associar o IP do gateway a um MAC falso.

A configuração do DAI segue uma lógica similar à do DHCP Snooping. Primeiro, ativamos o recurso globalmente e para as VLANs desejadas. Depois, classificamos portas como trusted (onde não inspecionamos ARP — tipicamente uplinks para roteadores) ou untrusted (portas de clientes, onde a inspeção ocorre). É fundamental que o DHCP Snooping já esteja funcionando e populando bindings; sem isso, o DAI bloqueará todo tráfego ARP nas portas não confiáveis, isolando os hosts. Como alternativa, você pode criar bindings estáticos para dispositivos com IP fixo, mas neste laboratório confiaremos no aprendizado dinâmico.

Passo a passo para configurar o DAI:

  1. Verifique se o DHCP Snooping está ativo e com bindings saudáveis.
  2. Habilite o DAI globalmente e para a VLAN 10.
  3. Configure a porta que conecta ao roteador/gateway como trusted (não inspeciona ARP).
  4. (Opcional) Ajuste parâmetros de rate limiting e logging.
  5. Teste e verifique.
! Ativando DAI para a VLAN 10 (modo de configuração global)
ip arp inspection vlan 10

! Interface para o gateway (roteador) — confiável para ARP
interface GigabitEthernet0/24
 description Uplink para roteador/gateway
 ip arp inspection trust
 exit

! Opcional: habilitar validação adicional de endereços IP (sender IP, target IP)
ip arp inspection validate src-mac dst-mac ip

! Opcional: configurar rate limiting para evitar inundação de pacotes ARP
interface GigabitEthernet0/1
 ip arp inspection limit rate 20 burst interval 2   ! 20 ARP/s, com rajada
 exit

interface GigabitEthernet0/2
 ip arp inspection limit rate 15 burst interval 1
 exit

end
write memory

Explicação dos comandos:

  • ip arp inspection vlan <id>: Ativa o DAI na VLAN especificada. Pode ser repetido para várias VLANs.
  • ip arp inspection trust: Configurado na interface, isenta-a da inspeção. Use em portas conectadas a roteadores, outros switches confiáveis e servidores que não são clientes DHCP (se forem estáticos, configure um binding estático e marque a porta como trusted).
  • ip arp inspection validate src-mac dst-mac ip: Habilita verificações adicionais: se o MAC de origem corresponde ao campo sender MAC, se o MAC de destino é broadcast (FF:FF:FF:FF:FF:FF) ou válido, e se o IP de origem não é um endereço inválido (como 0.0.0.0 ou 255.255.255.255). Essa linha aumenta a segurança.
  • ip arp inspection limit rate <pps> burst interval <seg>: Limita a taxa de recebimento de pacotes ARP na interface. Exceder o limite coloca a porta em errdisable, protegendo contra ataques de inundação ARP. O parâmetro burst interval define a janela de tempo em segundos.

Com o DAI ativo, vamos testar. Conecte um host legítimo em Gi0/1 e deixe-o obter IP via DHCP. Em seguida, simule um ataque ARP spoofing a partir de um segundo host na mesma porta (lembre-se do Port Security limitando a 2 MACs). Se você usar uma ferramenta como arpspoof para enviar gratuitous ARP fingindo ser o gateway, o switch descartará esses pacotes, pois o binding do IP do gateway não corresponde ao MAC do atacante. A saída do log (se configurado) ou os contadores de DAI confirmarão o bloqueio.

Verificando a Instalação / Testando a Configuração

Este é o momento mais importante da aula: garantir que todos os recursos de segurança de switch estão funcionando de forma integrada. Vamos executar uma série de comandos de verificação e interpretar as saídas. Primeiro, um checklist rápido:

  1. Port Security: interfaces devem mostrar “Port Security: Enabled” e o contador de endereços MAC dentro do limite.
  2. DHCP Snooping: bindings populados e contadores de drops > 0 se houver servidor falso tentando responder.
  3. DAI: contadores de pacotes ARP inspecionados e descartados.
  4. Integração: hosts legítimos conseguem se comunicar e obter IP; hosts maliciosos são bloqueados.
! 1. Verificar status do Port Security em todas as interfaces
show port-security

! Saída esperada (resumo):
! Secure Port  MaxSecureAddr  CurrentAddr  SecurityViolation  Security Action
!              (Count)        (Count)      (Count)
! -------------------------------------------------------------------------
! Gi0/1                  2            1                  0         Restrict
! Gi0/2                  1            0                  0         Shutdown
! -------------------------------------------------------------------------
! 2. Detalhes específicos por interface (já vimos antes)
SW-Aula20# show port-security interface gigabitEthernet 0/1
Port Security              : Enabled
Port Status                : Secure-up
Violation Mode             : Restrict
Aging Time                 : 0 mins
Aging Type                 : Absolute
SecureStatic Address Aging : Disabled
Maximum MAC Addresses      : 2
Total MAC Addresses        : 1
Configured MAC Addresses   : 0
Sticky MAC Addresses       : 1
Last Source Address:Vlan   : 0025.8321.9a4f:10
Security Violation Count   : 0
! 3. Verificar a tabela de bindings do DHCP Snooping
show ip dhcp snooping binding

! Saída esperada (deve listar ao menos um cliente na VLAN 10)
SW-Aula20# show ip dhcp snooping binding
MacAddress          IpAddress        Lease(sec)  Type           VLAN  Interface
------------------  ---------------  ----------  -------------  ----  -----------------
00:25:83:21:9A:4F   192.168.10.101   86200       dhcp-snooping  10    GigabitEthernet0/1
! 4. Estatísticas do DHCP Snooping (verificar drops)
show ip dhcp snooping statistics
SW-Aula20# show ip dhcp snooping statistics
Packets Forwarded                     = 24
Packets Dropped                       = 3
Packets Dropped From untrusted ports  = 3
! 5. Verificar o status do DAI para cada VLAN
show ip arp inspection vlan 10

! Saída esperada:
! Vlan     Configuration    Operation   ACL Match          Static ACL
! ----     -------------    ---------   ---------          ----------
! 10       Enabled          Active                          
! 6. Estatísticas de inspeção ARP
SW-Aula20# show ip arp inspection statistics
Vlan      Forwarded        Dropped     DHCP Drops     ACL Drops
----      ---------        -------     ----------     ---------
10              420              7               0              0

Perceba que 7 pacotes ARP foram descartados. Isso pode indicar tentativas de spoofing ou simplesmente um host enviando ARP para um IP que ainda não está no binding (ex.: host com IP fixo não cadastrado). Se o número de drops crescer rapidamente, investigue imediatamente.

! 7. Verificar os MACs sticky salvos na running-config
show running-config interface gigabitEthernet 0/1
! A saída deve incluir linhas como:
! switchport port-security mac-address sticky 0025.8321.9a4f
! 8. Simular violação de Port Security (conectando um terceiro host em Gi0/1)
! Após a tentativa, verificar:
show port-security interface gigabitEthernet 0/1
! O contador Security Violation Count deve incrementar.
! Exemplo após violação:
Security Violation Count   : 1
! 9. Recuperar uma porta em errdisable (após violação shutdown)
! Método manual:
interface GigabitEthernet0/2
 shutdown
 no shutdown
 exit
! Método automático (configuração global):
errdisable recovery cause psecure-violation
errdisable recovery interval 300
! Mostra status de recuperação:
show errdisable recovery

Se todos os testes passarem, você agora tem um switch com sua camada 2 blindada contra os três principais vetores de ataque em redes locais. A combinação de Port Security, DHCP Snooping e DAI é frequentemente chamada de “tríade de segurança” e é um requisito básico em qualquer política de segurança de acesso que implementamos na JRT Technology Solutions.

Erros Comuns e Como Resolver

Mesmo seguindo todos os passos, alguns problemas podem surgir. Abaixo listamos os quatro erros mais frequentes em projetos de segurança de switch, junto com suas causas e soluções completas.

  • Erro 1: Porta em errdisable após conectar um host legítimo
    Sintoma: A interface fica com status errdisable e o motivo é psecure-violation.
    Causa: O número de endereços MAC na porta excedeu o limite configurado antes que o switch pudesse liberar os MACs antigos (aging time zero) ou o usuário conecta um switch/hub não gerenciado com múltiplos dispositivos.
    Solução: Verifique quantos dispositivos estão realmente conectados. Se houver um switch downstream, considere aumentar o maximum ou usar autenticação 802.1X. Para recuperar a porta, use shutdown e no shutdown, ou configure recuperação automática: errdisable recovery cause psecure-violation e ajuste o intervalo com errdisable recovery interval 30. Além disso, ative envelhecimento de MACs seguros com switchport port-security aging time 5 e switchport port-security aging type inactivity.
  • Erro 2: Cliente não obtém IP via DHCP após ativar DHCP Snooping
    Sintoma: Hosts em portas não confiáveis não conseguem receber oferta DHCP (DHCPOFFER). O servidor DHCP parece inacessível.
    Causa: A porta do servidor DHCP (ou o uplink para ele) não foi marcada como trusted, portanto o switch está bloqueando as respostas do servidor.
    Solução: Identifique por qual porta o switch alcança o servidor DHCP legítimo (pode ser um trunk com múltiplas VLANs, um roteador com relay, etc.) e execute ip dhcp snooping trust nessa interface. Se o servidor DHCP estiver em outra VLAN, lembre-se de que o relay DHCP (ip helper-address) também precisa ser confiável — a interface do roteador que recebe os broadcasts DHCP deve ser trusted no switch local. Verifique com show ip dhcp snooping e procure por DHCP Snooping is configured but inactive — pode indicar que não foi ativado para a VLAN correta.
  • Erro 3: Hosts com IP fixo perdem conectividade após habilitar DAI
    Sintoma: Dispositivos que usam IP estático (não DHCP) param de responder na rede. O switch descarta os pacotes ARP deles.
    Causa: O DAI não encontra um binding DHCP para esses IPs e, portanto, bloqueia seus ARP requests/responses.
    Solução: Crie bindings estáticos para esses hosts usando o comando global ip source binding: ip source binding <MAC> vlan 10 <IP> interface gigabitEthernet 0/2. Isso adiciona uma entrada estática à tabela de bindings do DHCP Snooping. O DAI então permitirá o tráfego ARP desses dispositivos. Como alternativa, coloque a porta desses hosts como trusted para DAI (ip arp inspection trust), mas isso reduz a segurança. Em ambientes mistos, recomendamos o binding estático.
  • Erro 4: Porta caiu por exceder o rate limit de DHCP ou ARP
    Sintoma: Interface fica errdisable com causa dhcp-rate-limit ou arp-inspection.
    Causa: O tráfego DHCP ou ARP recebido na porta ultrapassou o limite configurado (pps). Pode acontecer com alguns dispositivos que enviam muitas requisições ARP legítimas, como impressoras com firmware buggy, ou com um ataque real.
    Solução: Primeiro, verifique se o dispositivo está se comportando normalmente; se for legítimo, aumente o limite com ip dhcp snooping limit rate 30 ou ip arp inspection limit rate 30 burst interval 2. Se for um ataque, isole a porta e investigue o host. Recupere a interface com shutdown/no shutdown ou ative recuperação automática para essas causas: errdisable recovery cause dhcp-rate-limit e errdisable recovery cause arp-inspection.

Tabelas de Referência Rápida

Abaixo, duas tabelas que resumem os comandos essenciais e os modos de violação de Port Security — imprima-as e mantenha por perto durante seus laboratórios.

Tabela 1: Comandos principais de segurança de switch
Recurso Comando Propósito
Port Security switchport port-security Habilita proteção na interface
Port Security switchport port-security maximum <n> Limite de endereços MAC
Port Security switchport port-security mac-address sticky Aprende e fixa MACs automaticamente
Port Security switchport port-security violation {protect | restrict | shutdown} Ação ao violar política
DHCP Snooping ip dhcp snooping Ativa recurso globalmente
DHCP Snooping ip dhcp snooping vlan <id> Ativa para VLAN específica
DHCP Snooping ip dhcp snooping trust Porta confiável (aceita respostas DHCP)
DHCP Snooping ip dhcp snooping limit rate <pps> Rate limit de pacotes DHCP
DAI ip arp inspection vlan <id> Ativa inspeção ARP na VLAN
DAI ip arp inspection trust Porta não inspecionada
DAI ip arp inspection validate src-mac dst-mac ip Validações adicionais de endereços
DAI ip arp inspection limit rate <pps> Rate limit de pacotes ARP
Verificação show port-security Status geral de port security
Verificação show ip dhcp snooping binding Tabela de bindings IP-MAC
Verificação show ip arp inspection statistics Estatísticas de pacotes ARP inspecionados

Tabela 2: Modos de violação do Port Security
Modo Comportamento Log/Syslog Contador SNMP Estado da Porta Quando usar
protect Descarta frames de MACs não autorizados Não Não Up Ambientes onde silêncio é desejado, mas sem visibilidade
restrict Descarta frames e gera mensagem de syslog Sim Sim Up Produção: queremos alertas sem derrubar a porta
shutdown Descarta frames, derruba a porta (errdisable) Sim Sim Errdisable Portas de alta segurança: servidores, acesso restrito

Boas Práticas e Dicas Avançadas em Segurança de Switch

Após dominar a configuração básica, algumas recomendações práticas farão diferença na operação do dia a dia — dicas que acumulamos em centenas de implantações na JRT Technology Solutions.

  • Sempre combine Port Security com autenticação 802.1X: O Port Security limita o número de MACs, mas não identifica o usuário. Com 802.1X (dot1x), você autentica cada dispositivo antes de liberar o acesso, e pode usar o recurso authentication open com multi-domain para separar tráfego de dados e voz. O Port Security então age como segunda camada de proteção.
  • Utilize envelhecimento de MACs seguros: Em ambientes dinâmicos (salas de reunião, hot desks), o acúmulo de MACs sticky pode bloquear usuários legítimos. Habilite aging com switchport port-security aging time 10 e aging type inactivity. MACs inativos por 10 minutos serão removidos, liberando espaço para novos.
  • Aplique IP Source Guard juntamente com DAI: O IP Source Guard utiliza a tabela de bindings do DHCP Snooping para filtrar pacotes IP com endereço de origem não condizente. Isso previne ataques de IP spoofing. Basta adicionar ip verify source na interface, após ter o DHCP Snooping ativo.
  • Monitore proativamente os logs de violação: Configure um servidor syslog e SNMP para receber alertas de violações de segurança. Os OIDs da MIB CISCO-PORT-SECURITY-MIB e CISCO-DHCP-SNOOPING-MIB fornecem dados valiosos para dashboards de segurança.
  • Teste periodicamente com ferramentas de auditoria: Use scanners como yersinia ou arpspoof em um ambiente controlado para verificar se suas defesas estão ativas e configuradas corretamente. Um teste não intrusivo pode ser feito enviando pacotes ARP inválidos a partir de uma porta autorizada e verificando os contadores de DAI.
  • Documente cada porta e seu propósito: Em switches de

Quer aprender na prática com especialistas?

A JRT Technology Solutions oferece treinamentos e implementação de Cisco IOS para equipes corporativas.



Falar no WhatsApp

Thiago Paes Rodrigues

Com mais de 22 anos de experiência em Tecnologia da Informação, este profissional construiu uma trajetória sólida como empresário, atuando de forma estratégica na implementação de soluções tecnológicas que otimizam processos e impulsionam resultados em diferentes setores.