Firewall
O programa iptables fornece uma interface para o usuário manipular o filtro de pacotes do kernel. Com ele pode se analizar os cabeçalhos dos pacotes e decidir o destinos deles.
O IPtables é um firewall a nível de pacotes e funciona baseado no endereço/porta de origem/destino do pacote, prioridade etc. Ele funciona através da comparação de regras para saber se um pacote tem ou não permissão para passar. Em firewalls mais restritivos, o pacote é bloqueado e registrado para que o administrador do sistema tenha conhecimento sobre o que está acontecendo em seu sistema.
Ele também pode ser usado para modificar e monitorar o tráfego da rede, fazer NAT (masquerading, source nat, destination nat), redirecionamento de pacotes, marcação de pacotes, modificar a prioridade de pacotes que chegam/saem do seu sistema, contagem de bytes, dividir tráfego entre máquinas, criar proteções anti-spoofing, contra SYN flood, DoS etc.
O tráfego vindo de máquinas desconhecidas da rede pode também ser bloqueado/registrado através do uso de simples regras. As possibilidades oferecidas pelos recursos de filtragem IPtables como todas as ferramentas UNIX maduras, dependem de sua imaginação, pois ele garante uma grande flexibilidade na manipulação das regras de acesso ao sistema, precisando apenas conhecer quais interfaces o sistema possui, o que deseja bloquear, o que tem acesso garantido, quais serviços devem estar acessíveis para cada rede, e iniciar a construção de seu firewall.
O IPtables ainda tem a vantagem de ser modularizável, funções podem ser adicionadas ao firewall ampliando as possibilidades oferecidas. Usei por 2 anos o IPchains e afirmo que este é um firewall que tem possibilidades de gerenciar tanto a segurança em máquinas isoladas, como roteamento em grandes organizações, onde a passagem de tráfego entre redes deve ser minuciosamente controlada.
Um firewall não funciona de forma automática (instalando e esperar que ele faça as coisas por você), é