CentOS中的iptables是一个强大的防火墙工具,可以帮助你进行安全防护。以下是一些使用iptables进行安全防护的基本步骤:
默认策略设置:
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
允许SSH连接:
iptables -A INPUT -p tcp --dport 22 -s <允许的IP地址> -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT
允许HTTP/HTTPS连接:
iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 443 -m conntrack --ctstate ESTABLISHED -j ACCEPT
限制连接数:
iptables -A INPUT -p tcp --syn -m connlimit --connlimit-above 5 -j DROP
允许DNS查询:
iptables -A INPUT -p udp --dport 53 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p udp --sport 53 -m conntrack --ctstate ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 53 -m conntrack --ctstate ESTABLISHED -j ACCEPT
允许ICMP Echo请求:
iptables -A INPUT -p icmp --icmp-type echo-request -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -m conntrack --ctstate ESTABLISHED -j ACCEPT
保存iptables规则:
service iptables save
查看iptables规则:
iptables -L -n -v
请注意,iptables规则可能会因系统配置和安全需求的不同而有所差异。在进行任何更改之前,请确保你了解每个规则的作用,并根据你的具体情况进行调整。此外,建议在生产环境中使用更高级的防火墙管理工具,如firewalld,它提供了更友好的界面和更灵活的配置选项。