O meu nome é Fernando Belo e sou formador/e-tutor nas áreas de redes, programação e hardware na Master D.
Uma das principais questões que os meus formandos dos Cursos de Helpdesk e Manutenção e Reparação de Desktops e Portáteis me colocam é: “Como criar uma firewall eficaz e barata para colocar a proteger uma rede?”.
Assim, decidi que este artigo se focaria precisamente nesse ponto e vou explicar como criar uma firewall em ambiente Linux usando iptables. “Como? Em Linux? Mas isso é complicadíssimo!”
Não. Não é. Pode usar um PC velhinho que tenha aí por casa e uma distribuição de Linux como o Ubuntu, por exemplo, que é gratuita. Este PC, terá de ser equipado com duas placas de rede, uma para receber e outra para enviar dados. Colocaremos o PC antes do nosso router (no caso de os PC’s estarem ligados diretamente ao mesmo) ou entre o router e o servidor (se a nossa rede possuir um).
A função da firewall na rede é filtrar, limitar ou bloquear acessos aos dispositivos que compõem a mesma. Vamos então criar uma firewall do tipo “bloqueio”, ou seja, uma que fecha todas as portas, podendo, a posteriori, desbloquear as portas que desejarmos.
Usando o Ubuntu, entramos no terminal e escrevemos o comando:
sudo apt-get install iptables (sudo para assumir o papel de root/administrador).
Em seguida, escrevemos:
sudo modprobe iptables (para verificar que o iptables ficou a instalado).
Avançamos para as regras:
iptables -A INPUT -p tcp –syn -j DROP (esconde serviços que estejam desprotegidos e apenas aceita ligações que sejam iniciadas do nosso lado, faz ignorar qualquer pedido TCP).
A ligação à Internet funcionará normalmente e nenhum dos programas que sejam iniciados do nosso lado da rede deixará de aceitar pedidos e de funcionar.
“Mas eu queria que a porta 25 estivesse aberta!”. Não tem problema, basta usar o comando:
iptables -A INPUT -p tcp –destination-port 25 -j ACCEPT
“E se eu quiser que um intervalo de IP’s da minha rede se liguem sem problemas, como faço?”
Imagine que a sub-rede que está a usar é 192.168.100.0 (IP’s entre 192.168.100.1 e 192.168.100.254) com uma máscara 255.255.255.0. Basta usar o comando:
iptables -A INPUT -p tcp –syn -s 192.168.100.0/255.255.255.0 -j ACCEPT
Podemos ir ainda mais longe nas restrições de bloquear as ligações via UDP. Tenha em atenção que este bloqueio pode fazer com que alguns programas deixem de funcionar. O comando é:
iptables -A INPUT -i ppp0 -p udp –dport 0:30000 -j DROP
Podemos consultar a tabela de regras escrevendo o comando:
sudo iptables -L
Para terminar mas não menos importante se desejarmos anular todas as configurações para reconfigurar basta escrever:
iptables –F
Agora mão na massa e experimentem. Espero que este artigo vos seja útil.
Fernando Belo
Formador/e-Tutor na Master Distância