CentOS 使用 iptables 作为其主要的防火墙工具,可以通过配置 iptables 规则来增强系统的安全性。以下是一些基本的步骤和策略,用于使用 iptables 保护 CentOS 系统:
默认策略设置:
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
允许已建立的连接:
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
SSH 安全:
fail2ban 等工具来防止暴力破解攻击。iptables -A INPUT -p tcp --dport 22 -s <允许的IP地址> -m conntrack --ctstate NEW -j ACCEPT
关闭不必要的服务:
iptables -A INPUT -p tcp --dport <端口号> -j DROP
允许 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 -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
定期更新和维护:
使用防火墙管理工具:
firewalld 这样的图形化工具来管理 iptables 规则,它提供了更简单的接口和动态管理功能。请注意,iptables 规则的配置需要谨慎进行,错误的配置可能会导致服务不可用或安全漏洞。在进行任何更改之前,建议备份当前的 iptables 规则,并在测试环境中验证新规则的影响。此外,对于生产环境,强烈建议在进行任何更改之前咨询安全专家。