CentOS7系统加固:使用firewalld配置高级网络访问控制
在一次企业安全审计中,我们发现某CentOS7服务器存在严重的网络访问控制漏洞。通过深入分析,我们决定使用firewalld来构建更精细的网络访问控制策略。
问题背景
该服务器同时运行Web服务和数据库服务,但防火墙配置过于宽松,允许所有外部IP访问80/443端口,且未对数据库端口(3306)进行限制。经过渗透测试发现,攻击者可直接通过外网访问数据库。
配置步骤
首先启用并启动firewalld服务:
systemctl enable firewalld
systemctl start firewalld
配置核心策略:
- 仅允许特定IP段访问Web服务:
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.0.0.0/8" port protocol="tcp" port="80" accept'
- 限制数据库访问权限:
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="3306" accept'
- 阻止所有其他访问:
firewall-cmd --permanent --default-zone=drop
安全验证
使用nmap扫描验证配置效果,结果显示:
- 外部IP无法访问80/443端口
- 数据库服务仅允许内网访问
- 内部员工可正常访问所有服务
此配置有效解决了服务器的网络访问控制问题,建议所有系统管理员参考实施。

讨论