Como configurar o iptables para abrir as portas 80 e 443

0

Eu tento entender como o iptables funciona, mas depois de muitas horas e lendo vários artigos que tenho. O que eu quero fazer é DROP INPUT & Política FORWARD e abra alguns portos. Mais especificamente, gostaria de abrir o 80 & 443 portas para ter http & https respectivamente. Lembre-se também de que tenho o Arch Linux OS e uso o Wi-Fi.

Eu defini as regras abaixo em iptables.rules.

:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [972:60914]
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --doprt 443 -j ACCEPT
COMMIT

Quando defino as regras acima, não recebo nenhuma solicitação de entrada!

Também testei o abaixo, mas também não trabalhei:

:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [972:60914]
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --doprt 443 -j ACCEPT
-A INPUT -j DROP
COMMIT

Também testei este tutorial link . Então minhas regras são essas:

:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [972:60914]
:TCP - [0:0]
:UDP - [0:0]
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -p icmp -m icmp --icmp-type 8 -m conntrack --ctstate NEW -j ACCEPT
-A INPUT -p udp -m conntrack --ctstate NEW -j UDP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j TCP
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -j REJECT --reject-with tcp-reset
-A INPUT -j REJECT --reject-with icmp-proto-unreachable
-A TCP -p tcp -m tcp --dport 80 -j ACCEPT
-A TCP -p tcp -m tcp --dport 443 -j ACCEPT
-A TCP -p tcp -m tcp --dport 22 -j ACCEPT
-A UDP -p udp -m udp --dport 53 -j ACCEPT
COMMIT

O exemplo acima funciona, mas não tenho certeza se funciona corretamente e como funciona. Por exemplo, fico atento ao pedido de entrada se remover estas linhas:

-A TCP -p tcp -m tcp --dport 80 -j ACCEPT
-A TCP -p tcp -m tcp --dport 443 -j ACCEPT
-A TCP -p tcp -m tcp --dport 22 -j ACCEPT
-A UDP -p udp -m udp --dport 53 -j ACCEPT
    
por elefher 15.06.2015 / 19:28

1 resposta

1

Algumas coisas parecem aparentes:

  • a principal diferença entre os exemplos brutos e o funcional é que state RELATED,ESTABLISHED part - permite que as conexões de saída de sua máquina retornem com segurança, em vez de serem descartadas
  • deixar passar qualquer coisa da interface loopback lo também ajuda a desobstruir as coisas, pois ajuda a evitar obstruções aleatórias de conexões locais
  • permitindo que o tipo ICMP de entrada 8 - Pacotes de eco permita que sua máquina seja pingada, o que geralmente é útil para depuração
  • deixar passar o novo SSH arbitrário (22 / tcp) e DNS (53 / udp) não é o que você disse que quer - você deve rever essas linhas
por 15.06.2015 / 23:48