A melhor aposta é ter uma política de descarte padrão no iptables e só permitir o que é necessário. Algo como:
# Drop all packets by default. iptables -P INPUT DROP # Allow preexisting connections iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # Allow SSH from 192.0.2.0/24 iptables -A INPUT -p tcp -s 192.0.2.0/24 --destination-port 22 -i eth0 -j ACCEPT # Allow HTTP from all iptables -A INPUT -p tcp --destination-port 80 -i eth0 -j ACCEPT
Isso não impedirá que as pessoas realizem os scans de portas, mas isso significará que todos eles verão a porta 80 aberta.