Depois de verificado a instalação, vamos a algumas regras. Abra um
terminal e digite:
# iptables -A INPUT -p tcp --syn -j DROP
# iptables -A INPUT -i ppp0 -p udp --destination-port 0:30000 -j DROP
Isso fará com que a sua máquina passe a ignorar as conexões vindas em
qualquer porta tcp, sem enviar sequer uma confirmação de que o pacote foi
recebido. Você continuará acessando a internet normalmente, mas ninguém
conseguirá se conectar diretamente a sua máquina. A segunda regra
bloqueia também parte das portas UDP, adicionando uma camada extra de
segurança.
Agora vamos a parte ruim dessas regras:
O maior problema dessas regras é que alguns programas que abrem servidores
podem deixar de funcionar, um exemplo: você pode não mais receber arquivos
pelo icq.
O mais interessante em construir um firewall no
Linux é que se você quiser
desativá-lo a qualquer, momento basta um único comando:
# iptables -f
Esse comando elimina as regras do iptables, fazendo com que sua máquina
volte a aceitar todas as conexões.
Se quisermos agora conectar uma rede interna normalmente, mas mantendo o
bloqueio a tudo que vem da internet, adicionaremos as seguintes regras:
# iptables -A INPUT -p tcp --syn -s 192.168.0.0/255.255.255.0 -j ACCEPT
E em seguida às regras anteriores:
# iptables -A INPUT -p tcp --syn -j DROP
Neste caso me baseei em uma rede que utiliza a faixa de ip de
192.168.0.1 até 192.168.0.254.
O iptables executa os processos em seqüencia. Então todos os pacotes
passam pela primeira instrução antes de ir para a segunda. Quando um
pacote vem de um endereço da rede local é imediatamente aceito, os
demais vão para as duas últimas linhas e acabam recusados. É simples
a primeira linha diz sim para os pacotes da rede local enquanto as
duas últimas dizem não para todos os demais.
Agora, imagine que você queira permitir ao mesmo tempo pacotes vindos
da rede local e uma certa porta vinda da internet, como por exemplo a
porta 22 do SSH. Neste caso a regra seria a seguinte:
# iptables -A INPUT -p tcp --destination-port 22 -j ACCEPT
# iptables -A INPUT -p tcp --syn -s 192.168.0.0/255.255.255.0 -j ACCEPT
# iptables -A INPUT -p tcp --syn -j DROP
# iptables -A INPUT -p udp --syn -j DROP
Com estas novas regras tudo o que vem na porta 22 (tanto da internet
quanto da rede local) é aceito, tudo o que vem da rede local é aceito e
todo o resto é rejeitado. Se você quiser abrir outras portas, como por
exemplo as portas 1021 e 1080, basta alterar os números das portas
mostradas nas regras anteriores.
Com essas regras permitimos que somente os servidores que realmente
queremos disponibilizar estejam disponíveis. Lembrando que a qualquer
momento você pode dar um
iptables -f e re-adicionar as regras e
depois fechar tudo.
Estas são algumas regras simples, mas que realmente são de fundamental
importância para a segurança dos dados de sua empresa.
Na terceira e última parte desta trilogia você ficará sabendo sobre o
funcionamento de cada elemento que compõe as regras de um um firewall
e também saberá a relação custo x benefício deste firewall... Até lá !!!
Thiago da Silva Christofoli
Analista de Sistemas