Estou tentando configurar o iptables para configurações de segurança.
Basicamente, configurei uma lista de permissões e tentei testá-la.
Defino as seguintes configurações para permitir ssh, http e https em meu servidor, permitindo valores de entrada de 22.80.443. E portos temporários também foram permitidos.
sudo iptables -t filter -F
sudo iptables -P OUTPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 3000: -j ACCEPT
A seguir está uma lista de configurações.
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpts:3000:65535
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Eu permiti como acima, mas consegui me conectar normalmente ao ssh e ao apache na porta 80 do meu servidor.
No entanto, o comando “curl https://google.com” não respondeu corretamente no meu servidor.
O estranho é depois de adicionar a seguinte regra:
sudo iptables -P INPUT ACCEPT
Quando faço "curl https://google.com", a comunicação é concluída normalmente.
Qual é a razão para isso e qual é a solução?