Entendendo o funcionamento de um firewall e regras IPtables
Introdução
O Firewall tem o objetivo proteger o servidor e a rede local contra acessos indesejados, tráfego indesejado, proteger serviços que estejam rodando no servidor e bloquear a passagem de coisas que você não deseja receber (como conexões vindas da Internet para sua rede local, evitando acesso aos dados corporativos de uma empresa ou a seus dados pessoais). A implementação de um bom firewall dependerá da experiência, conhecimentos de redes (protocolos, roteamento, interfaces, endereçamento, masquerade, etc), da rede local, e sistema em geral do Administrador de redes, a segurança de sua rede e seus dados dependem da escolha do profissional correto, que entenda a fundo o TCP/IP, roteamento, protocolos, serviços e outros assuntos ligados a rede. No kernel do Linux 2.4, foi introduzido o programa IPtables (também chamado de Netfilter) que substitui o ipchains dos kernels da série 2.2. Este novo programa tem como vantagem ser muito estável (assim como o ipchains e ipfwadm), confiável, permite muita flexibilidade na programação de regras pelo administrador do sistema, mais opções disponíveis ao administrador para controle de tráfego, controle independente do tráfego da rede local/entre redes/interfaces devido a nova organização das etapas de roteamento de pacotes.
O IPtables é um firewall em 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 servidor. 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 servidor, contagem de