Ich glaube, ich habe fast mein iptables-Setup auf meinem CentOS 5.3-System abgeschlossen. Hier ist mein Drehbuch ...
# Establish a clean slate
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F # Flush all rules
iptables -X # Delete all chains
# Disable routing. Drop packets if they reach the end of the chain.
iptables -P FORWARD DROP
# Drop all packets with a bad state
iptables -A INPUT -m state --state INVALID -j DROP
# Accept any packets that have something to do with ones we've sent on outbound
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# Accept any packets coming or going on localhost (this can be very important)
iptables -A INPUT -i lo -j ACCEPT
# Accept ICMP
iptables -A INPUT -p icmp -j ACCEPT
# Allow ssh
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# Allow httpd
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# Allow SSL
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# Block all other traffic
iptables -A INPUT -j DROP
Für den Kontext ist dieser Computer ein Virtual Private Server-Webanwendungshost.
In einer früheren Frage sagte Lee B, dass ich "ICMP ein bisschen mehr sperren sollte". Warum nicht einfach alles blockieren? Was würde passieren, wenn ich das tun würde (was für eine schlechte Sache würde passieren)?
Wenn ich ICMP nicht blockieren muss, wie kann ich es dann weiter blockieren?