Informática Numaboa - Linux
Filtragem de pacotes no Linux 2.4
Qui 26 Abr 2007 17:47 |
- Detalhes
- Categoria: Como fazer configurações
- Atualização: Quinta, 01 Janeiro 2009 03:06
- Autor: vovó Vicki
- Acessos: 10244
Como os pacotes atravessam os filtros
O kernel começa com três listas de regras na tabela 'filtro'. Estas listas são chamadas de cadeias do firewall ou simplesmente cadeias. As três cadeias são chamadas de INPUT (entrada ou ingresso), OUTPUT (saída ou egressão) e FORWARD (redespacho).
_____ Ingresso / \ Saída -->[Roteamento]--->|FORWARD|-------> [Decisão] \_____/ ^ | | v ____ ___ / \ / \ |OUTPUT| |INPUT| \____/ \___/ ^ | | ----> Processo Local ------
Os três círculos representam as três cadeias mencionadas acima. Quando um pacote alcança um destes círculos, a cadeia é examinada para decidir o destino do pacote. Se a cadeia disser que o pacote deve ser descartado (DROP), ele é eliminado ali, mas se a cadeia disser que o pacote dever ser aceito (ACCEPT), ele continua seu caminho.
Uma cadeia é uma checklist de regras. Cada regra diz 'se o cabeçalho do pacote for este, então faça o seguinte'. Se a regra não puder ser aplicada ao pacote, então a próxima é consultada. Finalmente, se não houver mais regras para consultar, então o kernel verifica a política da cadeia para decidir o que deve fazer. Num sistema onde há preocupação com a segurança, esta política costuma dizer ao kernel para eliminar (DROP) o pacote.
- Quando um pacote entra (digamos, através de uma placa Ethernet), a primeira coisa que o kernel olha é o destino do pacote. Isto é chamado de 'roteamento'.
- Se o destino for esta máquina, o pacote continua pelo caminho até a cadeia INPUT mostrada no diagrama. Se ele passar por esta cadeia, qualquer processo que o estiver aguardando irá recebê-lo.
- Caso contrário, se o kernel não estiver com o redespacho habilitado ou se não souber como redespachar o pacote, o pacote será eliminado. Se o redespacho estiver habilitado e o pacote é destinado para uma outra interface de rede, então ele vai para a cadeia FORWARD. Se for aceito, o pacote será redespachado.
- Finalmente, um programa rodando nesta máquina pode enviar pacotes de rede. Estes pacotes passam através da cadeia OUTPUT imediatamente: se ele disser ACCEPT, então o pacote continua na direção da interface para a qual ele foi destinado.