IP阻止列表(又称IP黑名单、禁止列表等)功能非常丰富,好用的列表IP会更多,误报更少。IP阻止列表与多层安全性措施一起使用时是非常有用的。在大多数情况下,IP阻止列表可以帮助减少资源利用率,减少试图非法登录防火墙次数。
目前最好用的IP阻止列表来自Binary Defense。你也可以使用其他列表,也可以使用多个列表。banlist.txt文件每5分钟更新一次,下面是更新地址。
https://www.binarydefense.com/banlist.txt
另外个好用的列表是firehol_level3,可以从下面的地址进行更新:
https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/firehol_level3.netset
下面,在pfSense防火墙上进行配置示例。
创建别名
导航到Firewall -> Aliases,单击“Add”,为别名指定名称,指明描述说明,然后在URL表字段中输入链接。由于最低更新频率至少一天(/ 1),因此5分钟更新一次的列表我们并不能及时获得使用。
入站/ WAN规则
接下来,转到Firewall -> Rules,选择WAN选项卡,并使用之前配置的别名添加如下图所示的规则。选中记录数据包,以便在需要时能轻松地查找故障。
选项设置如下:
Action -> Block
Interface -> WAN
Protocol -> Any
Source -> Single host or alias -> BanList
Log -> <选中>
Description -> <帮助你记住规则的说明>
点击保存并应用后,规则应该与下图的规则类似。此外,确保列表中的规则比其他规则更高,例如VPN、网络服务器的NAT规则等。
出站/LAN规则
如果只是阻止WAN接口上的入站,那么可以跳过本节。下面设置的这个规则可以阻止你的内部网络与已知的不良的外部IP地址进行通信。转到Firewall -> Rules,LAN选项卡。使用之前配置的别名,添加如下图所示的规则。如果需要在几个内部网段上使用这个阻止列表,则可以使用浮动规则,而无需在每个内部网络上进行复制。
选项设置如下:
Action -> Block
Interface -> LAN
Protocol -> Any
Destination -> Single host or alias -> BanList
注意:上面的WAN规则使用源地址,而LAN规则使用目标地址
Log -> <不选>
Description -> <帮助你记住规则的东西>
表
设置完以后,将鼠标悬停在防火墙规则中的“BanList”上,并查看它是否具有与其关联的IP地址。查看与别名关联所有IP地址的另一种方法是转到Diagnostics>Tables,然后从下拉列表中选择“BanList”。
它如何工作和阻止非法IP的?
要查看防火墙是否阻止了某些东西,只需查看规则已处理的字节数,或者可以查看防火墙日志。例如我的防火墙日志,不到一分钟,浏览WAN接口上的前几个阻止条目,就发现了如下IP。如果你未记录所有阻止的数据包,则阻止的流量不会显示。
现在回到banlist.txt,可以在这里找到相同的IP地址,证明拦截成功!
原文地址
您好!
按照您的文档操作,拦截很成功。只是有一点疑问:
默认的最小更新周期为1天,在系统日志中查看到更新表都是提示无需更新,但是在系统诊断–表,这里,选择所需的表再点击更新系统,稍后数字是会变化的。回头再看系统日志,也会提示更新了多少这些话。
为什么系统自己不能更新表,谢谢!
解决了,仔细看了更新脚本,加了两个参数(now 和 forceupdate ) 。
/usr/bin/nice -n20 /etc/rc.update_urltables now forceupdate
不错,会自己解决问题。