CentOS 防火墙策略优化实操指南
一 基线加固与最小暴露面
systemctl status|start|enable firewalldfirewall-cmd --permanent --zone=public --add-service=ssh|http|httpsfirewall-cmd --permanent --zone=public --add-port=8080/tcpfirewall-cmd --reloadfirewall-cmd --list-all(当前区)、firewall-cmd --list-all-zones(全量)二 规则组织与精细化控制
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port port="22" protocol="tcp" accept'firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="203.0.113.50" reject'firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port port="80" protocol="tcp" reject time start=00:00:00 end=06:00:00'三 性能与规模化优化
四 运维与变更管控
--list-all 与 --list-all-zones 对比当前与持久配置差异,确保生效与回滚路径清晰。--set-log-denied),结合 rsyslog/集中式日志平台或 SIEM 做异常流量与暴力访问检测;对关键变更实施“灰度/维护窗口/回滚预案”。五 场景化模板与一键命令清单
firewall-cmd --permanent --zone=public --add-service=ssh --add-service=http --add-service=httpsfirewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="203.0.113.10" port port="22" protocol="tcp" accept'firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" port port="22" protocol="tcp" reject'(谨慎,确保已验证密钥登录)firewall-cmd --set-log-denied=all && firewall-cmd --reloadfirewall-cmd --set-default-zone=internalfirewall-cmd --permanent --zone=internal --add-port=8080/tcpfirewall-cmd --reloadfirewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="198.51.100.20" port port="3306" protocol="tcp" accept'(不加 --permanent 即为运行时,重启/重载后消失)firewall-cmd --reload