Como bloquear tudo, exceto http (s) e DNS no iptables?

0

Eu quero configurar o firewall na minha máquina Ubuntu, especificamente para bloquear tudo dentro e fora, exceto as portas 80/443 para navegação, e 53 para resolver o DNS, eu tentei, mas nenhum resultado.

Agora estou usando UFW , que é fácil de configurar, mas não tenho certeza se é seguro como iptables .
Alguém pode me responder como bloquear todas as portas, exceto aquelas necessárias?

    
por George 16.04.2017 / 15:56

1 resposta

2

Como você deve saber, ufw em si é de alguma forma um front-end para iptables , é um programa para gerenciar um firewall de filtro de rede.

Se você não é muito bom em usar iptables , sugiro usar ufw . você ainda pode usar gufw , uma interface gráfica para usar ufw mais fácil do que já é.

ufw é seguro?

Posso garantir que usando ufw você está seguro, porque é a mesma coisa com muitas regras predefinidas e confiáveis para proteger sua máquina.

Por padrão, ele permite conexões de saída e nega as recebidas, portanto, por exemplo, ninguém pode ssh em sua máquina.

Vamos dar uma olhada:

Primeiro, verifique se ufw está desativado:

sudo ufw disable

Agora vamos remover todas as cadeias e regras do iptables:

sudo iptables -F
sudo iptables -X

E use iptables -L para ver o padrão iptables chains e rules, que devem ser três chain e todos eles estão aceitando tudo.

permite ativar ufw :

sudo ufw enable

Agora, se você der uma olhada nas regras iptables usando iptables -L , verá que muitas regras foram definidas por ufw para protegê-lo, o que elas são boas o suficiente para transmitir.

Além disso, se você executar: sudo ufw status verbose , obterá uma saída simples que informa o que está acontecendo:

Status: active
Logging: off
Default: deny (incoming), allow (outgoing), disabled (routed)

Como bloquear tudo, exceto http (s) e amp; DNS usando o iptables?

Se você insistir em usar iptables , desative primeiro ufw e remova todas as cadeias e regras usando -F e -X switches.

sudo ufw disable
sudo iptables -F
sudo iptables -X

Políticas:
Então devemos definir políticas. as políticas são o comportamento padrão, quando um pacote não corresponde a nenhuma regra que foi definida, estas políticas serão aplicadas nelas:

sudo iptables -P DROP INPUT
sudo iptables -P DROP OUTPUT
sudo iptables -P DROP FORWARD

Em seguida, para permitir o DNS de saída:

sudo iptables -A OUTPUT -p udp --dport 53 -j ACCEPT

E para permitir http (s) de saída:

sudo iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT

Por fim, vamos permitir somente tráfegos de entrada relacionados e estabelecidos:

sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    
por Ravexina 16.04.2017 / 19:07