Firewalld区域划分及服务器内网安全隔离配置

1次阅读

Firewalld区域机制通过预定义(trusted、internalpublic等)和自定义区域实现网络分层防护,支持按网卡绑定、富规则限速/日志审计,强化内网安全隔离与访问控制。

Firewalld区域划分及服务器内网安全隔离配置

Firewalld 的区域(zone)机制是实现服务器网络分层防护的核心,不同区域对应不同信任级别和默认规则集。合理划分区域并配置内网安全隔离,能有效限制服务暴露范围、防止横向渗透。

常见区域功能与适用场景

Firewalld 自带多个预定义区域,按信任度从高到低排列:

  • trusted:完全信任,所有连接被允许(仅用于高度可控的管理网络)
  • internal:用于内部可信网络,如公司局域网或私有云内网,允许大部分服务(如ssh、mdns、samba-client)
  • home:家庭网络环境,比 internal 更保守,禁用部分发现类服务
  • public:默认外部区域,仅开放明确声明的服务(如 httphttps),适合公网接口
  • external:用于充当 NAT 网关的主机,启用 IP 伪装(masquerade),通常不用于普通服务器
  • dmz:非军事区,仅开放极少数对外服务(如 web 前端),后端服务器应避免使用此区域
  • block / drop:拒绝所有入站连接(block 发送拒绝响应,drop 直接丢包),适合严格隔离的内网网段

按网卡绑定区域实现物理/逻辑隔离

多网卡服务器可通过绑定不同区域区分内外流量。例如:eth0 接公网 → public;eth1 接内网 → internal;eth2 接数据库集群 → dmz 或自定义受限区域。

操作示例:

  • 查看当前区域分配:firewall-cmd –get-active-zones
  • 将 eth1 绑定到 internal 区域:firewall-cmd –permanent –zone=internal –change-Interface=eth1
  • 重载配置生效:firewall-cmd –reload
  • 确认绑定结果:firewall-cmd –zone=internal –list-all

注意:同一网卡不能同时属于多个区域;若需更细粒度控制,应配合富规则(rich rules)或直接使用 ipset。

自定义区域强化内网服务访问控制

预定义区域无法满足全部业务需求时,可创建专用区域。例如为“运维管理网段 192.168.10.0/24”新建 zone mgmt,仅放行 ssh 和 ansible 端口,并拒绝其他所有来源:

  • 创建新区域:firewall-cmd –permanent –new-zone=mgmt
  • 设置默认拒绝策略:firewall-cmd –permanent –zone=mgmt –set-target=REJECT
  • 仅允许指定子网访问 ssh:firewall-cmd –permanent –zone=mgmt –add-source=192.168.10.0/24,再添加服务:firewall-cmd –permanent –zone=mgmt –add-service=ssh
  • 绑定网卡或 IP 段:firewall-cmd –permanent –zone=mgmt –add-interface=eth1firewall-cmd –permanent –zone=mgmt –add-source=192.168.10.5
  • 重载生效:firewall-cmd –reload

结合富规则实现动态策略与日志审计

对关键内网服务(如数据库、API 网关)建议启用连接限速与访问日志,便于追踪异常行为:

  • 限制某 IP 每分钟最多 10 次 mysql 连接:
    firewall-cmd –permanent –zone=internal –add-rich-rule=’rule family=”ipv4″ source address=”192.168.5.20″ service name=”mysql” limit value=”10/m” accept’
  • 记录所有未匹配规则的入站连接(用于审计):
    firewall-cmd –permanent –zone=internal –add-rich-rule=’rule log prefix=”unmatched-internal:” level=”info”‘
  • 启用日志后,可在 /var/log/messages 或 journalctl 中查看:journalctl -u firewalld | grep “unmatched-internal”

富规则优先级高于普通服务/端口规则,且支持源地址、目标端口、协议、时间等多维条件组合。

text=ZqhQzanResources