Я думаю, що у мене майже завершено налаштування iptables в моїй системі CentOS 5.3. Ось мій сценарій ...
# 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
Для контексту ця машина є хостом веб-програми Virtual Private Server.
У попередньому запитанні Лі Б сказав, що мені слід «трохи зафіксувати ICMP». Чому б просто не заблокувати його взагалі? Що було б, якби я це зробив (що б поганого сталося)?
Якщо мені потрібно не блокувати ICMP, як я можу продовжувати блокувати його більше?