Por que meu firewall é reiniciado na reinicialização?

3

Eu hospedo servidores de jogos em meu servidor dedicado e estava configurando o firewall há alguns dias (tive que configurar tudo novamente, o disco rígido falhou e eu esqueci de fazer back-up).

Tudo correu bem, as regras de firewall funcionaram corretamente, até que tive que reinicializar o servidor. Eu reiniciei o servidor usando o comando padrão reboot e o servidor nunca voltou a funcionar.

Eu entrei em contato com meu provedor, e observei que as regras em iptables foram completamente redefinidas, bloqueando todas as portas no servidor.

Eu tinha ativado o firewall via sudo ufw enable e adicionei o relevante em iptables ( como visto aqui ):

sudo ufw enable
sudo iptables -A INPUT -d 85.25.95.217/32 -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -d 85.25.95.217/32 -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -d 85.25.95.217/32 -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -d 85.25.110.75/32 -p tcp --dport 443 -j DROP
sudo iptables -A INPUT -d 85.25.110.75/32 -p tcp --dport 80 -j DROP
sudo iptables -A INPUT -d 85.25.116.59/32 -p tcp --dport 443 -j DROP
sudo iptables -A INPUT -d 85.25.116.59/32 -p tcp --dport 80 -j DROP
sudo iptables -A INPUT -d 188.138.110.103/32 -p tcp --dport 443 -j DROP
sudo iptables -A INPUT -d 188.138.110.103/32 -p tcp --dport 80 -j DROP
sudo iptables -A INPUT -d 85.25.110.75/32 -p tcp --dport 8880 -j DROP
sudo iptables -A INPUT -d 85.25.110.75/32 -p tcp --dport 8881 -j DROP
sudo iptables -A INPUT -d 85.25.116.59/32 -p tcp --dport 8880 -j DROP
sudo iptables -A INPUT -d 85.25.116.59/32 -p tcp --dport 8881 -j DROP
sudo iptables -A INPUT -d 188.138.110.103/32 -p tcp --dport 8880 -j DROP
sudo iptables -A INPUT -d 188.138.110.103/32 -p tcp --dport 8881 -j DROP
sudo iptables-save > /etc/network/iptables.rules
reboot

No meu arquivo interfaces , coloquei pre-up iptables-restore < /etc/network/iptables.rules no final.

O que fiz de errado, ou se não fiz nada de errado, por que ufw redefiniu / bloqueou todas as portas quando o servidor foi reinicializado?

    
por cybermonkey 02.03.2015 / 12:48

1 resposta

4

Ok, então se você usar iptables da linha de comando, eles não serão restaurados ao recarregar ou reinicializar.

Você pode definir suas regras de firewall com ufw instruções aqui ou se você realmente precisa usar iptables você precisa salvar suas regras para arquivar e tê-las restauradas antes de sua rede aparecer, você também deve desativar ufw como bodhi.zazen sugeriu assim:

sudo ufw disable # You don't want UFW managaing your firewall if you are.
iptables -A INPUT -p tcp --match multiport --dports 1:79 -j ACCEPT
iptables -A INPUT -p tcp --match multiport --dports 81:65535 -j ACCEPT
sudo sh -c "iptables-save > /etc/iptables.rules"

Supondo que você tenha configurado suas interfaces de rede usando /etc/network/interfaces

Encontre seu stub para sua interface e adicione o seguinte à estrofe:

pre-up iptables-restore < /etc/iptables.rules

por exemplo,

auto eth0
iface eth0 inet dhcp
pre-up iptables-restore < /etc/iptables.rules
# post-down iptables-restore < /etc/iptables.downrules # if needed

Instruções mais detalhadas e variações aqui

    
por stedotmartin 02.03.2015 / 13:00