7.3. Filtragem Comum do iptables

Manter atacantes remotos fora de uma LAN é um aspecto importante da segurança de rede, senão o mais importante. A integridade de uma LAN deve ser protegida de usuários remotos maldosos, através do uso de regras rígidas de firewall. Entretanto, com uma norma default definida para bloquear todos os pacotes entrando, saindo e encaminhados, é impossível que o firewall/porta de comunicação (gateway) e usuários internos da LAN comuniquem-se entre si ou com recursos externos. Para permitir a usuários executar funções relacionadas à rede e a usar aplicações de rede, os administradores devem abrir certas portas para a comunicação.

Por exemplo: para permitir o acesso à porta 80 pelo firewall, adicione a seguinte regra:

iptables -A INPUT -p tcp -m tcp --sport 80 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT 

Isto permite a navegação Web normal através de sites que comunicam através da porta 80. Para permitir o acesso a sites seguros (como https://www.example.com/), você deve abrir a porta 443 também.

iptables -A INPUT -p tcp -m tcp --sport 443 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 443 -j ACCEPT 

ImportanteImportante
 

Ao criar um conjunto de regras do iptables, é crucial lembrar que a ordem é importante. Por exemplo: se uma corrente especifica que todos os pacotes da sub-rede local 192.168.100.0/24 são derrubados e uma outra corrente é adicionada (-A) para permitir pacotes do 192.168.100.13 (que está dentro da sub-rede restrita derrubada), então a regra adicionada é ignorada. Você deve definir uma regra para permitir 192.168.100.13 primeiro, e então definir uma regra para derrubar na sub-rede.

Para inserir uma regra arbitrariamente num conjunto de regras existentes, use -I, seguido pela corrente na qual deseja inserir a regra e o número da regra (1,2,3,...,n) onde você deseja que a regra resida. Por exemplo:

iptables -I INPUT 1 -i lo -p all -j ACCEPT

A regra é inserida como a primeira no conjunto INPUT para permitir o tráfego do dispositivo loopback local.

Algumas vezes você precisa de acesso remoto à LAN de fora dela. Serviços seguros, como SSH, podem ser usados para conexão remota criptografada aos serviços da LAN. Para administradores com recursos baseados em PPP (tais como bancos de modem ou contas ISP volumosas), o acesso discado pode ser usado para circundar as barreiras do firewall seguramente, já que conexões via modem ficam tipicamente por trás de um firewall/gateway por serem conexões diretas. Entretanto, casos especiais podem ser elaborados para usuários remotos com conexões de banda larga. Você pode configurar o iptables para aceitar conexões de clientes SSH remotos. Por exemplo: para permitir o acesso SSH remoto, as seguintes regras podem ser usadas:

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p udp --sport 22 -j ACCEPT

Há outros serviços para os quais você talvez precise definir regras. Consulte o Guia de Referência do Red Hat Enterprise Linux para informações detalhadas sobre o iptables e suas várias opções.

Estas regras permitem o acesso de entrada e saída para um único sistema, como um PC conectado diretamente à Internet ou firewall/porta de comunicação (gateway). No entanto, não permitem que os nódulos por trás do firewall/porta de comunicação acessem estes serviços. Para permitir o acesso LAN a estes serviços, você pode usar o NAT com regras de filtragem do iptables.