Como posso usar o Ubuntu como servidor de firewall?

1

O Ubuntu pode ser configurado como um servidor de firewall, se sim como? , se não por quê?

    
por One Zero 05.02.2012 / 12:41

2 respostas

3

O Firewall do Ubuntu interno chamado Iptable . Por padrão, iptable permite todo o tráfego. Então, você precisa configurar com base em suas necessidades:)

Aqui estão os comandos básicos em Iptable

Digitando

sudo iptables -L

lista suas regras atuais no iptables. Se você acabou de configurar seu servidor, você não terá regras, e você deverá ver

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Por favor, veja o artigo completo em help.ubuntu.com

Um script simples do iptables

#!/bin/bash
# flush all chains
iptables -F
# set the default policy for each of the pre-defined chains
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
# allow establishment of connections initialised by my outgoing packets
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# drop everything else
iptables -A INPUT -i eth+ -p udp -j DROP
iptables -A INPUT -i eth+ -p tcp -m tcp --syn -j DROP
# accept anything on localhost
iptables -A INPUT -i lo -j ACCEPT

Eu tenho interfaces de rede em eth0 e eth1, então esse script tem regras que cobrem ambos; Se suas interfaces tiverem nomes diferentes, você precisará editar as regras para cobrir isso. Isso baixa tudo que chega, exceto as conexões que foram inicialmente estabelecidas pelos meus pacotes de saída (obrigado Luke! - veja os comentários); o que significa que não é bom para servidores.

Eu coloquei este script em /opt/scripts/iptables.script e o tornei executável. Depois de executá-lo, você pode descobrir se ele funcionou exibindo suas regras atuais do iptables com:

sudo iptables -L -v

Eu criei um script de inicialização simples para iniciar / parar o firewall em /etc/init.d/firewall :

#!/bin/bash
if [[  == start ]] ; then
  sudo /opt/scripts/iptables.script
else
  sudo iptables -F
fi

Em seguida, coloquei um link simbólico em meus diretórios /etc/rc.* usando a ferramenta update-rc.d, portanto, o firewall é iniciado antes de a rede aparecer:

update-rc.d firewall start 20 2 3 4 5 . stop 99 0 1 6 .

Fonte

Espero que esta ajuda:)

    
por Achu 05.02.2012 / 13:09
0

Prefiro ufw HELP é um wrapper em torno do iptables e mais fácil de configurar.

    
por gajdipajti 05.02.2012 / 13:38