02 - Roteadores com ACL
video: https://youtu.be/... no frontmatter da nota.Roteadores com ACL (Access Control Lists)
1. O Roteador como Elemento de Segurança
No contexto do controle de perímetro, os roteadores com ACL (Access Control Lists) desempenham um papel de defesa fundamental, permitindo que um equipamento cuja função primária é o encaminhamento de pacotes assuma também a função de um elemento de segurança ativo.
Embora a função básica de um roteador seja conectar segmentos de rede distintos (domínios de broadcast diferentes) através de tabelas de roteamento, ele pode ser configurado para realizar uma crítica de segurança sobre os pacotes que o atravessam. No perímetro, ele atua como o dispositivo que delimita a fronteira entre a rede interna (Intranet) e redes externas não confiáveis (Internet).
A primeira linha de defesa de uma rede corporativa costuma ser um roteador CE (Customer Edge) com ACLs anti-spoofing (BCP 38/RFC 2827) e filtragem de bogons, complementando — não substituindo — o firewall dedicado.
2. Funcionamento das Listas de Acesso (ACL)
Uma ACL é uma lista sequencial de instruções de permissão ou negação. O roteador utiliza os argumentos contidos no cabeçalho dos pacotes para compará-los com as regras da lista.
- Critérios de Filtragem: As críticas baseiam-se em campos como endereço IP de origem e destino, tipo de protocolo de transporte (TCP, UDP, ICMP) e a porta de serviço (socket).
- Regra de Bloqueio Implícito: Um princípio crucial é que qualquer tráfego que não seja explicitamente permitido por uma regra da ACL será bloqueado automaticamente pela regra final implícita "deny all" ao final da lista.
- Ordem Importa: As regras são avaliadas de cima para baixo (top-down). A primeira regra que casa com o pacote é aplicada e o processamento para. Regras mais específicas devem vir antes das mais genéricas.
Estrutura Lógica de uma Regra
[permit|deny] [protocolo] [origem] [destino] [porta/condição] [log]
Cada regra tem:
- Ação: permit (permite) ou deny (descarta).
- Critério: endereço IP, porta, protocolo, flags TCP.
- Logging: opcional, registra hits da regra.
3. Tipos de ACL e Aplicação no Perímetro
As fontes classificam as ACLs em dois tipos principais, dependendo da profundidade da análise:
A. ACL Padrão (Standard)
- Possui baixo recurso de verificação, analisando apenas o IP de origem do pacote para decidir se ele pode ser roteado.
- Faixa numérica Cisco: 1-99 e 1300-1999.
- Aplicação: bloquear/permitir tráfego vindo de uma sub-rede específica sem distinção de porta.
access-list 10 deny 192.168.50.0 0.0.0.255
access-list 10 permit any
B. ACL Estendida (Extended)
- Oferece maior flexibilidade e detalhes, verificando endereços IP de origem/destino, protocolos e portas específicas. É a mais indicada para perímetros complexos.
- Faixa numérica Cisco: 100-199 e 2000-2699.
- Permite inspeção de flags TCP (established, SYN, ACK), ICMP types, DSCP, TTL e intervalos de portas.
access-list 100 permit tcp 192.168.1.0 0.0.0.255 host 10.0.0.5 eq 443
access-list 100 deny tcp any any eq 22 log
access-list 100 permit icmp any any echo
access-list 100 deny ip any any log
C. ACLs Nomeadas e Reflexivas
- Nomeadas (Named ACLs): Permitem nome descritivo e edição granular (inserir/remover regras específicas).
- Reflexiva (Reflexive ACL): Cria regras dinâmicas que permitem tráfego de retorno apenas para conexões iniciadas internamente — simula o comportamento stateful de um firewall usando ACL stateless.
- Time-based ACL: Regras ativadas em janelas de horário (ex.: bloquear redes sociais em horário comercial).
4. Direção de Aplicação (Inbound vs Outbound)
Quanto à direção do tráfego, as ACLs podem ser aplicadas de duas formas nas interfaces do roteador:
- Inbound (Entrada): Os pacotes são processados antes de serem roteados. É considerada eficiente para o perímetro pois economiza processamento ao descartar pacotes maliciosos antes mesmo da pesquisa na tabela de rotas.
- Outbound (Saída): Os pacotes são roteados primeiro e processados pela ACL logo antes de saírem pela interface.
Recomendação de projeto:
- ACLs anti-spoofing (BCP 38): inbound na interface externa.
- ACLs de restrição de serviços internos: outbound na interface interna.
- ACLs de bloqueio de bogons: inbound na interface do provedor.
5. Exemplos de Configuração (Cisco IOS)
ACL Nomeada Estendida
ip access-list extended PERIMETRO-IN
remark === Anti-Spoofing BCP 38 ===
deny ip 192.168.0.0 0.0.255.255 any log
deny ip 10.0.0.0 0.255.255.255 any log
deny ip 172.16.0.0 0.15.255.255 any log
remark === Bogons ===
deny ip 0.0.0.0 0.255.255.255 any log
deny ip 127.0.0.0 0.255.255.255 any log
deny ip 169.254.0.0 0.0.255.255 any log
deny ip 224.0.0.0 15.255.255.255 any log
remark === Acessos permitidos ===
permit tcp any host 200.10.10.5 eq 443
permit tcp any host 200.10.10.5 eq 80
permit icmp any any echo
deny ip any any log
!
interface GigabitEthernet0/0
ip access-group PERIMETRO-IN in
Reflexiva ACL
ip access-list extended INSIDE-OUT
permit tcp any any reflect TCP-TRAFFIC timeout 300
permit udp any any reflect UDP-TRAFFIC timeout 60
ip access-list extended OUTSIDE-IN
evaluate TCP-TRAFFIC
evaluate UDP-TRAFFIC
deny ip any any log
6. ACLs em Outros Fabricantes e Sistemas
Linux — iptables (equivalente de ACL)
# Bloquear SSH externo
iptables -A INPUT -p tcp --dport 22 -s 0.0.0.0/0 -j DROP
# Permitir HTTP/HTTPS de qualquer origem
iptables -A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT
# Anti-spoofing (RFC 2827)
iptables -A INPUT -i eth0 -s 10.0.0.0/8 -j DROP
iptables -A INPUT -i eth0 -s 172.16.0.0/12 -j DROP
iptables -A INPUT -i eth0 -s 192.168.0.0/16 -j DROP
# Logging de pacotes bloqueados
iptables -A INPUT -j LOG --log-prefix "ACL-DROP: " --log-level 4
iptables -A INPUT -j DROP
7. Integração na Defesa de Perímetro
Na arquitetura de segurança, o roteador com ACL é frequentemente utilizado em conjunto com outras camadas:
- Zonas de Segurança: Ajuda a segmentar a rede em zonas como a DMZ (Zona Desmilitarizada), Intranet e Extranet.
- Módulos de Firewall: Alguns roteadores corporativos permitem a adição de módulos de hardware ou software de firewall (como o Cisco ASA, ou o Cisco IOS Firewall / Zone-Based Firewall), transformando o roteador em um dispositivo de segurança robusto que realiza inspeção de estado (stateful).
- Barreira Primária: Ao inspecionar o tráfego de entrada no perímetro, o roteador consegue barrar ataques conhecidos e reduzir a superfície de exposição dos servidores internos.
Topologia Típica
Internet ──┬── [Router CE + ACL] ── [Anti-DDoS] ── [NGFW Stateful] ──┬── DMZ
└── Intranet
8. ACL Stateful vs Stateful Firewall
| Característica | ACL (Stateless) | Firewall Stateful |
|---|---|---|
| Estado de conexão | Não mantém | Mantém tabela de estado |
| Decisão por pacote | Sim, isolado | Contextual (parte de fluxo?) |
| - Performance | Muito alta (ASIC) | Menor (inspeção) |
| Aplicações L7 | Não | Sim (NGFW) |
| Anti-spoofing | Sim | Sim |
| Reflexão de tráfego | Apenas com ACL reflexiva | Nativo |
| Custo | Baixo (já no roteador) | Médio-alto |
As ACLs são stateless por natureza: cada pacote é avaliado isoladamente, sem memória de conexões anteriores. Para simular comportamento stateful, usam-se ACLs reflexivas (Cisco) ou filtros com keep state (PF/BSD). Para inspeção real de estado, recomenda-se firewall dedicado.
9. Boas Práticas e Armadilhas Comuns
Boas Práticas
- Princípio do menor privilégio: Default-deny; permitir apenas o necessário.
- Comentários (
remark): Documentar cada bloco de regras para facilitar auditoria. - Logging seletivo: Logar apenas negações suspeitas (evitar inundação de logs).
- Revisão periódica: ACLs acumulam regras obsoletas; auditar trimestralmente.
- Testes em laboratório: Validar ACL em ambiente de homologação antes de produção.
- Versionamento: Salvar ACLs em repositório Git ou RANCID/Oxidized.
- Anti-spoofing obrigatório: RFC 2827/3704 (BCP 38/84) deve estar em todo roteador de borda.
Armadilhas
- Máscara wildcard invertida: Cisco usa wildcard (0 = match, 1 = ignora), inverso da máscara de sub-rede. Erro comum: usar
255.255.255.0em vez de0.0.0.255. - Regra
permit ip any anyno final: Anula o deny implícito — geralmente descuido. - Ordem errada: Regras genéricas antes das específicas mascaram estas últimas.
- ACL não aplicada: A ACL existe mas não foi associada a nenhuma interface (
ip access-group). - CPU spikes: ACLs com
logem alto tráfego podem saturar CPU do roteador.
10. Resumo Técnico
| Aspecto | Standard ACL | Extended ACL | Reflexiva |
|---|---|---|---|
| Faixa Cisco | 1-99, 1300-1999 | 100-199, 2000-2699 | Named only |
| Critério | IP origem | IP/Proto/Porta/Flags | Estado de fluxo |
| Stateful | Não | Não | Sim (limitado) |
| Uso típico | Filtragem simples | Perímetro/serviços | Substituto p/ FW stateful |
| RFC/BCP | — | — | BCP 38 (anti-spoofing) |
11. Conclusão
Em suma, o uso de ACLs em roteadores é uma prática estratégica que aproveita a infraestrutura de rede existente para criar uma posição inatacável no perímetro, controlando rigorosamente o que entra e sai da organização. Embora não substituam firewalls stateful dedicados — sobretudo para inspeção de aplicação (L7) — as ACLs oferecem primeira linha de defesa eficiente, econômica e de baixa latência. Quando bem planejadas com anti-spoofing (BCP 38), segmentação de zonas e regras reflexivas, contribuem decisivamente para uma postura de defesa em profundidade madura. O segredo está em tratar a ACL como código: versionada, documentada, testada e revisada continuamente.