在防火墙上使用外部黑名单来阻止恶意 IP 是防火墙最常见的功能,这有助于保护内部网络的安全。当然你也可以使用DoH / DoT(基于 http 或 TLS 的 DNS)或 IPS来做这件事。但从配置的难度上来说,还是前者更方便。下面介绍一下配置方法。
创建外部黑名单别名
OPNsense 支持在别名中使用外部黑名单,别名可用在防火墙规则上。我们首先要使用“URL 表 (IP)”类型为所需的黑名单创建别名。
可以使用firehol.org、spamhaus drop、dshield_30d黑名单位列表,更新频率为 12 小时。
要注意查看使用的列表内容,以避免出现访问故障。有些列表可能包含阻止本地流量的私有 IP。
创建防火墙浮动规则
配置浮动规则可以阻止这些列表中的IP流量,跟接口和进出方向没有关联,这大大减少了在每个接口上配置规则的数量。
- 规则类别:浮动
- 动作:阻止
- 方向:any
- TCP 版本:IPv4 IPv6
- 目标:选中前面设置的别名
- 协议:any
- 记录:选中
选中激活日志记录,方便在遇到问题时能够轻松识别和检查日志中的阻止条目。
设置完成以后,单击保存并“应用更改”,确保规则生效。
测试
在规则生效以后,注意查看日志,确保一切正常。也可以从黑名单中选择一个 IP进行ping或ssh测试,来验证规则是否生效。
可以看到ping或ssh-ing IP都无法连通,在防火墙实时日志中也能看到流量被阻止。
其他
只需使用更多的列表就可以阻止更多的恶意主机,但在添加之前,要确保列表的内容是你需要的。
需要注意的是,如果添加列表过多,可能需要在“设置 -> 高级”中增加“防火墙最大表条目”的值。