Controle o tráfego com firewalls
Escreva regras que deixam passar o tráfego certo e barram o resto.
- Prever o resultado de uma lista de regras por primeira correspondência.
- Explicar a negação por padrão e a filtragem com estado.
- Usar segmentos de rede para limitar o dano de uma invasão.
Agora você sabe o que preenche cada cabeçalho. Um firewall usa esses mesmos campos para decidir o que é permitido: endereço de origem e de destino, protocolo e porta. Mas a maior parte dos problemas com firewalls não vem de uma regra errada. Vem de regras na ordem errada.
A primeira correspondência vence
A maioria dos firewalls lê as regras de cima para baixo e para na primeira que corresponde. Isso é diferente do roteamento, em que a rota mais específica vence, qualquer que seja sua posição.
Boas listas de regras terminam com negação por padrão: tudo o que não foi permitido explicitamente é bloqueado, então esquecer uma regra quebra um recurso em vez de abrir um buraco.
Experimente
Corrija a ordem das regras
Cada regra aqui é razoável, mas a ordem está errada. Use as setas para reordená-las até todo o tráfego receber o veredito certo. Cada fluxo mostra qual regra o capturou, então comece por um errado e pergunte o que o capturou cedo demais.
A melhor solução possível leva cinco movimentos. Você consegue igualar?
Regras, verificadas de cima para baixo
- 1PermitirHTTPS de qualquer lugar
- 2NegarSSH de qualquer lugar
- 3PermitirSSH do escritório
- 4PermitirBanco de dados do escritório
- 5NegarTudo o que vem da lista de bloqueio
- –Todo o resto: negado por padrão
Tráfego
- Um cliente carrega o site (internet, 443)Deve passar. Correspondeu à regra 1: Permitir.
- Uma pessoa da administração faz login (escritório, 22)Deve passar. Correspondeu à regra 2: Negar.
- Um desconhecido tenta SSH (internet, 22)Deve ser bloqueado. Correspondeu à regra 2: Negar.
- Um atacante conhecido sonda o site (lista de bloqueio, 443)Deve ser bloqueado. Correspondeu à regra 1: Permitir.
- Uma pessoa desenvolvedora consulta o banco (escritório, 5432)Deve passar. Correspondeu à regra 4: Permitir.
- Um desconhecido tenta o banco (internet, 5432)Deve ser bloqueado. Nenhuma regra correspondeu, então é negado por padrão.
2 fluxos estão com o veredito errado.
Firewalls com estado
Se um firewall nega todo o tráfego de entrada, como as respostas às suas próprias requisições voltam? Um firewall com estado (stateful) lembra das conexões que deixou sair e permite automaticamente os pacotes de retorno. Você viu a mesma ideia na tabela NAT. Quase todos os firewalls modernos funcionam assim, então você escreve regras para o lado que inicia a conexão.
Firewalls reais listam suas regras da mesma forma. Os números importam, porque a avaliação começa na regra 1 e para na primeira correspondência:
1$ sudo iptables -L INPUT -n --line-numbers
2Chain INPUT (policy DROP)
3num target prot source destination
41 ACCEPT all 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
52 ACCEPT tcp 203.0.113.0/24 0.0.0.0/0 tcp dpt:22
63 DROP tcp 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
74 ACCEPT tcp 0.0.0.0/0 0.0.0.0/0 tcp dpt:443policy DROP é a negação por padrão, e a regra 1 é a parte com estado: ela deixa entrar as respostas de conexões existentes.
Segmentação: considere que algo vai entrar
Um único firewall na borda é como a muralha de um castelo: depois que um atacante entra, tudo fica ao alcance. A segmentação divide uma rede em zonas, usando sub-redes e VLANs, com filtragem entre elas. Um servidor web pode alcançar o banco de dados em uma porta, mas um notebook comprometido não alcança o banco de forma alguma.
Isso segue o princípio do menor privilégio: cada sistema só alcança o que precisa. Tudo o que você aprendeu sobre sub-redes é o que torna isso possível.
Experimente
A qual zona isto pertence?
Você está desenhando a rede de uma empresa com três zonas. A zona pública é acessível pela Internet, a zona interna é para os funcionários e a zona restrita guarda os sistemas mais sensíveis. Coloque cada sistema onde ele possa fazer seu trabalho com a menor exposição.
“O site da empresa”
“Notebooks dos funcionários”
“O banco de dados de clientes”
“A impressora do escritório”
“O sistema de pagamentos”
Experimente
Leia regras reais de firewall
Acompanhe cada pacote a partir do topo. Clique na regra que decide o destino dele.
Chega uma conexão para a porta 22 vinda de 198.51.100.7. Qual regra decide?
Principais conclusões
Firewalls comparam campos de cabeçalho, e a primeira regra que corresponde decide.
Termine com a negação por padrão e deixe o rastreamento de estado cuidar das respostas.
A segmentação limita até onde um atacante consegue ir depois de entrar.
Quiz da aula
7 perguntas · aprovação com 5 acertos · até 50 XP
Ao passar, você conclui a aula e mantém sua sequência. As perguntas erradas voltarão em sessões de revisão.
Dúvidas sobre esta lição
Travou em algum ponto? Pergunte. Descobriu algo? Compartilhe. Explicar também é uma ótima forma de aprender.
Carregando publicações…