7.13. 使用 firewalld 设置和控制 IP 集
IP 集是一种 RHEL 功能,可将 IP 地址和网络分组到集合中,以实现更灵活、有效的防火墙规则管理。
例如,当您需要时 IP 集非常有价值:
- 处理大量 IP 地址列表
- 对大量 IP 地址列表实施动态更新
- 创建基于 IP 的自定义策略,以增强网络安全性和控制
红帽建议使用 firewall-cmd
命令来创建和管理 IP 集。
7.13.1. 使用 IP 集为允许列表配置动态更新
您可以进行接近实时更新,来灵活地允许 IP 集中的特定 IP 地址或范围,即使在无法预计的情况下也是如此。这些更新可由各种事件触发,如检测安全威胁或更改网络行为。通常,此类解决方案利用自动化来减少手动工作,并通过快速响应情况来提高安全性。
前提条件
-
firewalld
服务正在运行。
流程
创建一个具有有意义的名称的 IP 集:
# firewall-cmd --permanent --new-ipset=allowlist --type=hash:ip
名为
allowlist
的新 IP 集包含您希望防火墙允许的 IP 地址。为 IP 集添加动态更新:
# firewall-cmd --permanent --ipset=allowlist --add-entry=198.51.100.10
此配置使用新添加的 IP 地址更新
allowlist
IP 集,允许防火墙传递网络流量。创建引用之前创建的 IP 集的防火墙规则:
# firewall-cmd --permanent --zone=public --add-source=ipset:allowlist
如果没有此规则,IP 集不会影响网络流量。默认防火墙策略会预先显示。
重新载入防火墙配置以应用更改:
# firewall-cmd --reload
验证
列出所有 IP 集:
# firewall-cmd --get-ipsets allowlist
列出活跃的规则:
# firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: enp0s1 sources: ipset:allowlist services: cockpit dhcpv6-client ssh ports: protocols: ...
命令行参数的
sources
部分可让您了解流量来源(主机名、接口、IP 集、子网等)被允许或拒绝访问特定防火墙区。在这种情况下,允许允许允许列表
IP 集中的 IP 地址通过公共区
的防火墙传递流量。探索 IP 集的内容:
# cat /etc/firewalld/ipsets/allowlist.xml <?xml version="1.0" encoding="utf-8"?> <ipset type="hash:ip"> <entry>198.51.100.10</entry> </ipset>
后续步骤
-
使用脚本或安全实用程序来获取您的威胁智能源,并以自动化方式更新
允许列表
。
其他资源
-
firewall-cmd (1)
手册页