在复杂的网络环境中,CentOS防火墙规则的优化是系统安全的重要环节。本文将通过实际案例展示如何在生产环境中合理配置iptables规则,确保服务可用性的同时提升安全性。
环境背景
某企业级CentOS服务器部署了Web服务、数据库和SSH服务,需要在保证业务正常运行的前提下,通过防火墙规则实现最小权限访问控制。
核心配置策略
1. 基础链规则设置
# 清除现有规则
iptables -F
iptables -X
# 设置默认策略
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
2. 核心服务访问控制
# 允许loopback接口通信
iptables -A INPUT -i lo -j ACCEPT
# 允许SSH访问(限制源IP)
iptables -A INPUT -p tcp --dport 22 -s 10.0.0.0/8 -j ACCEPT
# 允许HTTP/HTTPS服务
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# 允许数据库访问(仅内网)
iptables -A INPUT -p tcp --dport 3306 -s 10.0.0.0/8 -j ACCEPT
3. 安全增强规则
# 限制SSH暴力破解尝试
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP
# 允许ICMP ping(限制频率)
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/second -j ACCEPT
验证与测试
通过以下命令验证规则生效:
# 查看当前规则
iptables -L -n -v
# 测试连接是否正常
telnet 127.0.0.1 22
该配置方案可有效防止未经授权的访问,同时保持核心服务的可用性。

讨论