最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
服务器防火墙生产环境如何用
时间:2026-08-14 08:28:49 编辑:袖梨 来源:一聚教程网
生产环境防火墙核心是“管得清、控得住、出得去、查得明”,关键在区域分层、服务封装、永久生效、日志可溯四点:按网卡角色划分区域,服务优先于端口开放,所有变更须永久+重载+留痕,并与Fail2Ban、连接跟踪、SIEM联动。
生产环境用防火墙,核心不是“堵得严”,而是“管得清、控得住、出得去、查得明”。firewalld 是主流选择,关键在区域分层、服务封装、永久生效、日志可溯这四点。
按网络角色划分区域,不混用
不同网卡对应不同信任等级,不能全塞进 public:
- 对外服务网卡(如 eth0)设为 public 区域:只开必要端口(80/443/2222),禁用 DNS、SNMP 等非业务服务
- 内网管理网卡(如 eth1)设为 internal 或 trusted:允许 SSH、Ansible 端口、监控探针(如 9100)、配置同步端口
- 数据库专用网卡(如 eth2)绑定 internal 区域,并用富规则限制仅允许应用服务器 IP 访问 3306/5432
- DMZ 区 Web 服务器的外网接口用 dmz 区域,内网接口用 internal,禁止跨区直连
服务管理优先于端口开放
别直接开 8080/tcp,先确认是否已有对应服务定义:
- 查系统内置服务:
firewall-cmd --get-services | grep -E 'http|https|redis|mongodb' - 开标准服务(永久生效):
firewall-cmd --zone=public --add-service=https --permanent - 自定义服务(如 Node.js 后端):写
/etc/firewalld/services/api.xml,定义端口+协议+描述,再 reload - 临时调试端口?用运行时命令(不加
--permanent),操作完立刻删掉,避免遗忘
所有变更必须永久+重载,且留痕
生产环境严禁只用运行时命令,否则重启即失效:
- 每条
--add-*命令都必须带--permanent - 执行完批量操作后,统一执行
firewall-cmd --reload - 把每次修改记录到配置管理工具(Ansible Playbook / Salt State)或运维日志中,包含时间、操作人、原因
- 定期校验:
firewall-cmd --list-all-zones对比预期,用diff检查/etc/firewalld/zones/下文件变更
配合监控与防御闭环
防火墙不是孤岛,要和 Fail2Ban、conntrack、审计日志联动:
- 给 SSH 改非标端口(如 2222),并启用 Fail2Ban,
bantime = 86400防暴力破解 - 开启连接跟踪日志:
firewall-cmd --set-log-denied=all,日志落进/var/log/messages,供 SIEM 分析 - 限制并发连接数(用 rich rule):
--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
相关文章
- 《今古群侠传》孤独的小单任务攻略 08-17
- 如何修改无线路由器的无线密码 08-17
- 《今古群侠传》手柄游玩情况解析 08-17
- 苍蓝前线阵营怎么推荐-苍蓝前线阵营推荐做法指南 08-17
- 绿梦时空之声清算人身份是什么-绿梦时空之声清算人身份 08-17
- 解压找茬烧脑80爆米花关卡如何过-解压找茬烧脑80爆米花如何通关 08-17