亦余心之所善兮,虽九死其犹未悔。这篇文章主要讲述pfBlockerNG设置指南相关的知识,希望能为你提供帮助。
?pfBlockerNG是为pfSense开发的免费开源软件包,提供了广告、恶意内容和地理拦截功能。?
在pfSense中使用pfBlockerNG,可以拦截广告、阻止网络跟踪、防范恶意软件和勒索软件。它将利用??DNSBL?
?功能为整个网络提供保护。pfBlockerNG可以阻止来自特定IP地址的网络流量,网络HACK发起攻击的IP地址可能属于特定的国家和地区,pfBlockerNG的这种能力可以防止特定地区的HACK实施的攻击。
pfBlockerNG是什么pfBlockerNG由??BBCan177?
?基于IP/DNS的过滤来创建并使用的。它基于Marcello Coutinho和 Tom Schaefer之前的工作项目。该项目的目标是通过使用IP和DNS控制列表,控制和管理防火墙的出、入站访问,来扩展pfSense的防火墙功能。
pfBlockerNG的特点pfBlockerNG包含多种功能,例如国家/地区阻止、IP/DNS 黑名单和IP信誉阻止等。下面简要介绍pfBlockerNG的这些功能。
IP封锁:pfBlockerNG可以基于 IPv4 和 IPv6 地址空间创建防火墙规则,这样就可以控制单个或多个接口上的入站和出站流量。还可以根据地理位置限制 IP 地址。??Geolocation?
?是对IP地址的真实地理位置的识别。??MaxMind?
?是IP地理定位准确性的行业领导者,提供并维护pfBlockerNG 使用的列表。
DNS封锁:pfBlockerNG可以控制DNS解析器访问,以防止访问恶意网站,例如广告、威胁和恶意软件。域阻止是过滤跟踪域、恶意域和广告的一种非常有效的方法。当你浏览网站时,DNS 请求会根据阻止列表进行检查。如果匹配,则拒绝该请求。这是在不使用代理服务器的情况下阻止广告的绝佳方式。
从各种黑名单来源收集或手动输入的域名用于生成优化的DNS解析器黑名单。可以订阅用户维护的阻止列表,也可以使用预建的??EasyLists?
?。
入站流量过滤:pfSense默认阻止所有入站流量。但是当你开放个别端口,用于映射内部服务器时,那么建议你使用pfBlockerNG的自定义IP列表和GeoIP限制功能控制访问范围。
出站流量过滤:pfBlockerNG提供了出站阻止功能,防止内部客户端访问恶意网站。
基于策略的路由:pfBlockerNG可以创建基于策略路由的防火墙规则,将流量从特定网关引导出去。
拦截恶意DNS和广告:pfBlockerNG支持对DNS解析器服务的网络进行 DNS 阻止,防止访问跟踪和/或恶意站点。
垃圾邮件过滤:如果网络上有邮件服务器,pfBlockerNG可以使用黑名单来阻止垃圾邮件,例如??Spamhaus?
?。
白名单:如果希望某个域名不被阻止,可以使用白名单功能实现。
安全搜索:可以为主流的搜索引擎配置安全搜索。
安装pfBlockerNG导航到??System?
?->
??Package Manager?
?->
??Available Packages?
?。在搜索字段中输入??pfblockerng?
?,然后单击??search?
?。找到pfBlockerNG-devel插件,并点击右侧的??install?
?按钮进行安装。下图为安装成功的页面。
图 1. pfBlockerNG-devel插件安装成功
配置pfBlockerNG初始配置1. 导航到??Firewall?
?>
??pfBlockerNG?
?,启动配置向导。
2. 单击??下一步?
?进行配置。如果之前配置了pfBlockerNG 并安装了以下组件,这会删除所有设置:
??
图 2. pfBlockerNG 组件安装注意事项
3. 进站防火墙接口选择WAN,出站防火墙接口选择LAN。如果有多个内部接口,建议都选中。
??
图 2. pfBlockerNG IP组件配置
4. 单击??下一步?
?继续进行配置。
5. VIP地址输入你的网络中未使用的 IP 地址,端口和 ssl 端口保留为默认。这个地址是pfBlockberNG DNSBL Web 服务器使用的地址。如果LAN地址是 10.1.1.0/24,则 VIP 地址不能在这个范围内。 IPv6 DNSBL和DNSBL白名单选项根据需要启用。
??
图 3.
pfBlockerNG DNSBL 组件配置
6. 单击??完成?
?结束向导。
图 4. pfBlockerNG初始配置完成
7.然后出现pfBlockerNG更新页面,所有激活的阻止列表都会自动下载并激活。你也可以选择??Cron?
?来定期更新选项。
图 5.pfBlockerNG 新设置
至此,pfblockerNG安装完成!
??
图 6.pfBlockerNG 安装完成
常规设置导航到??Firewall?
?->
??pfBlockerNG ->
?
?General。
确保启用了 pfBlockerNG。如果正确启用了,该页面上的设置可以保留为默认值。
图 7. pfBlockerNG 常规设置
IP过滤
即使防火墙未开放面向Internet 的端口,本地用户也可能无意中启动与恶意服务器的连接,这会对网络构成高安全风险。为了降低发生这种情况的可能性,必须限制对已知来源的勒索软件、恶意软件、僵尸网络和命令与控制 (C&
C) 服务器的访问。通过自带的 PRI1 feed,pfBlockerNG了提供定期更新的阻止列表。
本节介绍如何在pfBlockerNG上启用 IP 源(PRI1-PR5 组),并设置防火墙规则以防止出站流量访问该组中的任意地址。
IP配置导航到??Firewall?
?->
??pfBlockerNG ->
?
?IP ,参照下图进行配置。
??
图 8.pfBlockerNG 的 IP配置页面
MaxMind GeoIP配置GeoIP功能可以过滤某个国家或地区的流量。pfBlockerNG通过使用许可证密钥的 MaxMind GeoIP数据库来实现这个功能。许可证密钥完全免费,描述部分包含了指向MaxMind注册页面的链接。?保存IP设置?
?。
要获取许可证密钥,在 MaxMind 注册页面上填写注册表。
图 9.MaxMind GeoLite2注册页面
图 10.MaxMind管理许可证密钥
生成许可证密钥后,在pfBlockerNG上的MaxMind许可证密钥字段中输入。
你可以根据需要选择 MaxMind 本土语言。可以使用以下语言:
此外,也可以禁用MaxMindGeoIP数据库的定期更新。
??
图 11.MaxMind GeoIP 配置
IPv4抑制列表pfBlockerNG允许你将指定的IP地址(仅适用于 /32 或 /24)添加到黑名单。每行添加一个 IP 地址。 手动将IP地址添加到列表后,还必须运行“Force Reload-IP”才能使更改生效。
??
图 12.IPv4 抑制列表
IP接口/规则配置在??IP接口/规则配置?
?页面,pfBlockerNG会自动定义防火墙规则。这里可以指定 pfBlockerNG的IPv4、IPv6和GeoIP过滤适用于哪些入站和出站接口。要确定入站和出站接口,可以按照下面的说明进行操作。
???WAN?
?入站防火墙规则,可以将自动规则应用到入站接口。?LAN?
?出站防火墙规则,可以将自动规则应用到出站接口。?Kill states?
?(杀死状态). 由于IP阻止列表每天更新数次,该选项允许 pfBlockerNG立即终止与被阻止IP的任何连接。?Save IP Settings?
?按钮保存配置。
图 13. pfBlockerNG上的 IP接口/规则配置
启用IPv4过滤
默认情况下会启用 pfBlockerNG PRI1
Feed。Feed是公开使用的阻止列表,默认配置为定期进行同步。导航到??Firewall?
?->
??pfBlockerNG?
?->
??IP?
?->
??IPv4?
?,可以查看启用的IPv4 订阅源列表。
??
图 14. 在 pfBlockerNG 上启用 IPv4 feed
PRI1 Feed有较广泛的覆盖范围,但为了避免误报,可能会错过真正的威胁。为了加强网络安全,还必须启用其他的 IPv4 源。查看pfBlockerNB上其他可用Feed列表,请导航至??Firewall?
?->
??pfBlockerNG?
?->
??Feeds?
?。
??
图 15. IPv4类 feeds(PRI1-5)
IPv4类Feeds分为五组 (PRI1-5)。这些PRI组包含已知的勒索软件、恶意软件、僵尸网络、命令和控制 (C&
C) 服务器、机器人、Web 脚本、网络钓鱼和受感染的服务器、发现的恶意IP攻击SSH、SMTP、IMAP、TELNET、FTP 端点和其他已知的恶意行为发起者。一般来说,PRI的数字越低,误报的可能性就越低。所以,如果启用更严格的列表(PRI3 以上),可能会造成一些网站无法访问。在这种情况下,可能需要进行故障排除并将误报地址列入白名单。这里还有一些源组旨在阻止某些特定类型的不良流量,例如:
??
图 16. 其他 IPv4 类feed组
可以按照下面的步骤启用IPv4类PRI3组feeds。
??
图 17.
添加 IPv4类型PRI3组feeds
?IPv4 Source Definitions?
?窗格底部按钮??Enable All?
?来启用所有Feeds。
图 18.PRI3组的 IPv4 源定义
?Settings?
?窗格,然后选择希望在匹配 IP 地址时采取的操作选项。?Deny Both(拒绝两者)?
?则将规则应用于入站和出站连接。
图 19. 添加 PRI3 feeds
???Save IPv4 Settings?
?按钮。在pfBlockerNG 上启用 IPv4类型PRI3 feeds保护内部网络的步骤全部完成。
图 20.IPv4类型设置
可以按照上面给出的类似步骤启用其他 PRI 组、IPv6 和 DNS 阻止列表,只需添加别名组,选择要启用的列表,然后选择匹配项目时要执行的操作。但要注意启用列表对内存的占用和CPU性能的消耗。
验证IPv4过滤
按照下面的步骤在pfBlockerNG 上验证IPv4过滤。在开始测试 IPv4 过滤之前,先更新pfBlockerNG的设置。在pfBlockerNG上,单击??Update?
?选项卡下??Update Settings?
?中的??Run?
?按钮来强制更新。然后:
?Firewall?
?->
??Rules?
?->
??Floating?
?。
图 21. 阻止 IPv4类型 PRI3组的防火墙浮动规则
???pfB_PRI3_v4?
?上查看被阻止的 IP 列表。
图 22.
查看 IPv4 PRI3 别名详细信息
???1.0.221.21?
?来进行测试。?1.0.221.21?
?地址,应该是不可访问状态。
图 23.PRI3 ip地址不可访问
???Related log entries(相关日志记录)?
?。?1.0.221.21?
?,应该看到PRI3 IP 地址被 pfBlockerNG 阻止的相关信息,如下图所示。
图 24. PRI3 ip 地址被 pfBlockerNG 阻止的防火墙日志
GeoIP封锁pfBlockerNG 的GeoIP功能可用于限制对特定区域的访问。在大多数情况下,我们不需要限制本地用户对外部任意地区的访问,只需要根据GeoIP 数据阻止入站访问即可。
要在pfBlockerNG上启用GeoIP 封锁:
???Firewall?
?->
??pfBlockerNG?
?->
??IP?
?->
??GeoIP?
?。?Top Spammers?
?和??Proxy and Satellite?
?的??Action?
?选择为??Deny Inbound(拒绝入站),?
?这两个列表已被确定为在线攻击频繁来源的国家/地区列表。
图 25. pfBlockerNG 上的 GeoIP封锁
如果想封锁特定国家,而不是整个地区,进行以下操作;?Save?
?按钮。
?List Action?
?和??Loggingg?
?两个选项。?Save?
?。
图 26.
在 pfBlockerNG 上使用 GeoIP 封锁特定区域
DNS封锁可以通过具有 DNS 黑洞功能的 pfBlockerNG 阻止广告和一些恶意网站,例如 Malware、Porn、Gambling 等。
为了能够使用pfBlockerNG 的DNS封锁功能,必须确保客户端设备都使用pfSense防火墙的DNS服务器。
???Services?
?->
??DNS Resolver?
?->
??General Settings?
?,检查 DNS 解析器是否已启用。
图 27.
在 pfSense上启用 DNS 解析器
???System?
?->
??General Setup?
?,配置一个或多个外部 DNS 解析器,这些解析器需要转发未被阻止的DNS 请求。
图 28.
在 pfSense上添加 DNS 服务器
?Services?
?->
??DHCP Server?
?,选择要启用阻止的所有接口,并确保 DNS 服务器下没有填写其他内容。如果要配置静态 DNS,也应该设置为pfSense防火墙的IP 地址。?Firewall?
?->
??pfBlockerNG ->
IP ?
?。?DNSBL?
?。?DNSBL mode?
?设置??Unbound python mode?
? 。
??
图 29. pfBlockerNG 上的 DNSBL 设置
?DNSBL Webserver Configuration?
?窗格。确保Virtual IP address(虚拟 IP 地址)设置正确,且不在网络的任何部分中使用。其他设置保留为默认。
图 30.pfBlockerNG 上的 DNSBL 网络服务器配置
???DNSBL Configuration?
?部分。?Permit Firewall Rules(允许防火墙规则)?
?,选择??LAN?
?接口。这会允许防火墙创建浮动规则,并为指定的网络(LAN)启用 pfBlockerNG。
图 31.pfBlockerNG 上的 DNSBL 配置
启用其他DNSBL FeedS?Save DNSBL Settings?
?按钮。
默认情况下会启用 pfBlockerNG ADS_Basic Feed。要查看启用的 DNSBL Feed列表,可以导航到??Firewall?
?->
??pfBlockerNG?
?->
??DNSBL?
?->
??DNSBL Groups?
?。
??
图 32.pfBlockerNG 上启用的DNSBL Group feed
ADS_Basic feed,也称为StevenBlack_ADs,覆盖范围非常广泛,但因为要考虑减少误报,可能会错过真正的威胁。为了加强网络安全性,应该启用额外的DNSBL Feed。要查看pfBlockerNB 上的可用Feeds列表,请导航至??Firewall?
?->
??pfBlockerNG?
?->
??Feeds?
?。
??
图 33. DNSBL类feeds
【pfBlockerNG设置指南】在撰写本文时,有140余个DNSBL 类的feeds的可以使用。这些feeds用于阻止特定类型的恶意或不良流量,例如:
推荐阅读
- Linux系统yum命令安装软件时保留(下载)rpm包#yyds干货盘点#
- #yyds干货盘点#物理机上快速搭建kvm虚拟机
- 13-docker系列-docker之harbor仓库的搭建
- ELK+Kafka+Filebeat企业级日志收集系统 #yyds干货盘点#
- #指尖人生#Python常用模块(OS模块)
- #私藏项目实操分享# 实现LVS+keepalived高可用集群
- #yyds干货盘点#LVM逻辑卷管理器
- 12-docker系列-docker之compose如何上手使用
- KiCad镜像下载与安装