Estou procurando um conjunto mínimo de regras do iptables para um proxy reverso Nginx / Varnish de volume bastante alto. Eu gostaria de fechar o servidor, de modo que apenas as portas 80 e 22 estejam abertas para conexões do lado de fora.
Além disso, gostaria de excluir o tráfego nas portas 80 do rastreamento de conexão, já que a lista de conexões tende a crescer. Por outro lado, gostaria de ter a liberdade de usar o rastreamento de conexão para outras coisas.
Como é possível implementar um conjunto de regras mínimo que exclua o tráfego HTTP e HTTPS nas portas 80 e 443 do rastreamento de conexão?
Este é o meu conjunto de regras básicas:
iptables -F INPUT iptables -P INPUT DROP iptables -i lo -A INPUT -j ACCEPT iptables -i eth0 -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -i eth0 -A INPUT -p TCP --dport 22 -j ACCEPT iptables -i eth0 -A INPUT -p TCP --dport 80 -j ACCEPT iptables -i eth0 -A INPUT -p ICMP -j ACCEPT
O servidor executa Nginx no IP público (10.0.0.1 por causa deste exemplo) nas portas 80 e 443. O Nginx fala com um verniz em 10.0.0.1:8080. O verniz fala com um servidor web em outra máquina (10.0.0.2:80). Este servidor da Web de back-end precisa responder ao Varnish para limpar as URLs.
Eu tentei coisas como
iptables -F PREROUTING -t raw iptables -F OUTPUT -t raw iptables -t raw -A PREROUTING -p TCP --dport 80 -j NOTRACK iptables -t raw -A OUTPUT -p TCP --sport 80 -j NOTRACK iptables -t raw -A PREROUTING -p TCP --dport 8080 -j NOTRACK iptables -t raw -A OUTPUT -p TCP --sport 8080 -j NOTRACK
e variações com IPs de origem ou de destino explicitamente mencionados, mas ele quebrou o servidor (bloqueando algum tráfego) ou não conseguiu remover todo o tráfego HTTP do rastreamento de conexão.