在CentOS系统中,使用iptables防火墙可以有效地防止各种网络攻击。以下是一些常见的iptables规则和策略,可以帮助你提高系统的安全性:

首先,清除现有的iptables规则,以确保你从一个干净的状态开始:
iptables -Fiptables -Xiptables -t nat -Fiptables -t nat -Xiptables -t mangle -Fiptables -t mangle -Xiptables -P INPUT DROPiptables -P FORWARD DROPiptables -P OUTPUT ACCEPT根据你的需求,允许必要的端口和服务。例如,允许SSH(默认端口22)、HTTP(80)和HTTPS(443):
iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPTiptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPTiptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPTiptables -A OUTPUT -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPTiptables -A INPUT -p tcp --dport 443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPTiptables -A OUTPUT -p tcp --sport 443 -m conntrack --ctstate ESTABLISHED -j ACCEPT使用limit模块限制连接速率,防止DDoS攻击:
iptables -A INPUT -p tcp --syn -m limit --limit 1/s --limit-burst 3 -j ACCEPTiptables -A INPUT -p tcp --syn -j DROP限制ICMP请求的数量,防止ICMP洪水攻击:
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 3 -j ACCEPTiptables -A INPUT -p icmp --icmp-type echo-request -j DROP使用syncookies选项来防止SYN洪水攻击:
echo 1 > /proc/sys/net/ipv4/tcp_syncookies允许已建立的连接和相关的数据包通过:
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPTiptables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT保存iptables规则,以便在系统重启后仍然有效:
service iptables save定期更新和维护你的iptables规则,以应对新的安全威胁。
iptables -L -v -n命令查看当前的iptables规则和统计信息。通过以上步骤,你可以显著提高CentOS系统的安全性,防止各种常见的网络攻击。