Linux防火墙更新应对新威胁的实操指南
一、更新思路与原则
- 采用最小权限:仅开放必需端口与服务,按**区域(Zone)**隔离不同网络环境(如 public、internal、dmz),默认拒绝入站。
- 区分运行时(runtime)与持久化(permanent):先用 –permanent 写入配置,再统一 –reload 生效,避免频繁中断。
- 变更遵循“先评估、后变更、再验证”:评估影响范围、在维护窗口变更、变更后立即验证与回滚预案。
- 持续监控与审计:开启拒绝日志,定期审计开放端口与服务清单。
以上做法与 firewalld 的区域化、动态更新机制相匹配,适合生产环境持续应对新威胁。
二、firewalld快速更新步骤
- 现状盘点
- 查看状态与规则:systemctl status firewalld、firewall-cmd –state
- 查看当前生效配置:firewall-cmd –list-all;查看活动区域:firewall-cmd –get-active-zones
- 安全加固示例
- 仅允许内网访问数据库:
- 将管理网段加入更严格区域:firewall-cmd –permanent –zone=internal –add-source=10.0.0.0/8
- 仅在内网区域放行 MySQL:firewall-cmd –permanent –zone=internal –add-service=mysql
- 限制暴露面:关闭不必要服务(示例:firewall-cmd –permanent –remove-service=ftp)
- 临时封禁可疑来源(紧急处置):firewall-cmd –panic-on;恢复:firewall-cmd –panic-off
- 仅允许内网访问数据库:
- 使配置生效
- 常规生效(不中断现有连接):firewall-cmd –reload
- 完全重载(会中断连接,慎用):firewall-cmd –complete-reload
- 验证与回滚
- 验证:firewall-cmd –list-all –zone=internal、ss -lntp | grep 3306
- 回滚:撤销对应 –permanent 规则后再次 –reload
以上命令覆盖日常“盘点-加固-生效-验证”的完整闭环。
三、按威胁场景的常用规则模板
- 暴露面收敛
- 关闭或移除不必要服务(如 ftp、telnet):firewall-cmd –permanent –remove-service=ftp
- 仅开放必要端口(示例:仅开放 443/tcp):firewall-cmd –permanent –zone=public –add-port=443/tcp
- 来源白名单与精细放行
- 仅允许可信网段访问管理口:firewall-cmd –permanent –zone=internal –add-source=192.168.1.0/24
- 仅允许某 IP 访问数据库:firewall-cmd –permanent –zone=internal –add-rich-rule=‘rule family=“ipv4” source address=“192.168.1.100” port port=“3306” protocol=“tcp” accept’
- 限制暴力破解
- SSH 限流:firewall-cmd –permanent –zone=public –add-rich-rule=‘rule family=“ipv4” port port=“22” protocol=“tcp” limit value=“5/m” accept’
- 端口转发与 NAT
- 将外网 80/tcp 转发至内网 8080/tcp:
- firewall-cmd –permanent –add-rich-rule=‘rule family=ipv4 destination port port=80 protocol=tcp redirect port=8080’
- 出站 SNAT(伪装):firewall-cmd –permanent –add-masquerade
- 将外网 80/tcp 转发至内网 8080/tcp:
- 日志与告警
- 记录被拒绝的数据包:firewall-cmd –set-log-denied=all;查看:journalctl -u firewalld -f
以上模板覆盖“收敛暴露面、来源控制、速率限制、端口转发、日志审计”的高频场景。
- 记录被拒绝的数据包:firewall-cmd –set-log-denied=all;查看:journalctl -u firewalld -f
四、iptables场景的更新方法
- 规则变更与持久化
- 示例(按需调整):
- 放行管理端口:iptables -A INPUT -p tcp –dport 22 -j ACCEPT
- 默认拒绝其他入站:iptables -A INPUT -j DROP
- 保存规则(发行版常见路径):iptables-save > /etc/iptables/rules.v4
- 开机自动加载:在 /etc/network/if-pre-up.d/iptables 中加入
- /sbin/iptables-restore < /etc/iptables/rules.v4
- 并赋予执行权限:chmod +x /etc/network/if-pre-up.d/iptables
- 示例(按需调整):
- 变更要点
- 建议先在非生产环境验证;必要时分阶段应用;保留可回滚的备份规则文件。
以上做法适用于仍在使用 iptables 的系统或容器场景。
- 建议先在非生产环境验证;必要时分阶段应用;保留可回滚的备份规则文件。
五、维护与验证清单
- 持续运营
- 定期审计:firewall-cmd –list-all-zones、firewall-cmd –get-active-zones
- 开启拒绝日志并监控异常:firewall-cmd –set-log-denied=all;journalctl -u firewalld -f
- 性能与可维护性:在 /etc/firewalld/firewalld.conf 中启用 individual_calls=no(批量操作更高效),并在支持的系统上优先 firewall_backend=nftables
- 故障与应急
- 紧急切断:firewall-cmd –panic-on;恢复:firewall-cmd –panic-off
- 变更失败快速回滚:撤销对应 –permanent 规则并 –reload;必要时重启服务:systemctl restart firewalld
以上清单有助于把“更新—验证—观测—应急”固化为日常运维节奏。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/1473466.html