生产环境防火墙核心是“管得清、控得住、出得去、查得明”,关键在区域分层、服务封装、永久生效、日志可溯四点:按网卡角色划分区域,服务优先于端口开放,所有变更须永久+重载+留痕,并与Fail2Ban、连接跟踪、SIEM联动。
生产环境用防火墙,核心不是“堵得严”,而是“管得清、控得住、出得去、查得明”。firewalld 是主流选择,关键在区域分层、服务封装、永久生效、日志可溯这四点。
不同网卡对应不同信任等级,不能全塞进 public:
别直接开 8080/tcp,先确认是否已有对应服务定义:
firewall-cmd --get-services | grep -E 'http|https|redis|mongodb'
firewall-cmd --zone=public --add-service=https --permanent
/etc/firewalld/services/api.xml,定义端口+协议+描述,再 reload--permanent),操作完立刻删掉,避免遗忘生产环境严禁只用运行时命令,否则重启即失效:
--add-* 命令都必须带 --permanent
firewall-cmd --reload
firewall-cmd --list-all-zones 对比预期,用 diff 检查 /etc/firewalld/zones/ 下文件变更防火墙不是孤岛,要和 Fail2Ban、conntrack、审计日志联动:
bantime = 86400 防暴力破解firewall-cmd --set-log-denied=all,日志落进 /var/log/messages,供 SIEM 分析--add-rich-rule='rule family="ipv4" source address="192.168.10.0/24" port port="22" protocol="tcp" limit value="5/m" accept'
firewall-cmd --list-all-zones > /backup/firewall-$(date +%F).log