pfBlockerNG是一个可以安装在pfSense中的软件包,可以将防火墙的功能扩展到L2 / L3 / L4防火墙之上。由于攻击者和网络犯罪分子的能力不断提高,管理员必须不断提高防火墙的防御能力。

pfBlockerNG为pfSense提供了允许/拒绝决策的能力,例如IP地址的地理位置、域名或特定网站的Alexa评级等。限制域名的功能非常有用,它允许管理员阻止尝试连接到已知不良域名。

本教程将通过配置pfSense防火墙设备来使用pfBlockerNG软件包,以及添加/配置pfBlockerNG域名阻止列表的示例。

基本要求

本教程的基本配置环境如下:

全新安装的pfSense防火墙。

一个WAN和一个LAN接口。

LAN的IP范围:192.168.0.0/24。

实验图

下图是本文将使用的pfSense环境。

pfSense 网络拓扑

在pfsense中安装pfBlockerNG

第一步是连接到pfSense防火墙的Web界面。 这个实验室环境使用192.168.0.0/24网络,防火墙网关地址为192.168.0.1。在浏览器地址栏输入“https://192.168.0.1”,进入pfSense登录页面。

pfSense 登陆窗口

登录pfSense页面后,点击‘System(系统)’菜单,进入‘Package Manager(软件包管理)’。

pfSense 软件包管理

单击‘Available Packages(可用软件包)’。

pfSense 可用软件包

找到‘pfBlockerNG软件包,单击边上的 ‘+’ 进行安装。并单击“Confirm(确认)”开始安装。

安装fBlockerNG

一旦确认,pfSense将开始安装pfBlockerNG。 这里注意不要离开安装页面, 等待安装结束。

pfBlockerNG 安装

安装完成后,我们开始pfBlockerNG配置。pfBlockerNG配置后,DNS请求的网站将会由运行pfBlockerNG软件的pfSense防火墙进行筛分和拦截。 pfBlockerNG会将已知不良域名的更新列表映射到错误IP地址。

pfSense防火墙需要拦截DNS请求,以便过滤掉不良域名,并使用UnBound的本地DNS解析器。 这意味着LAN接口上的客户端需要使用pfSense防火墙作为DNS解析器。

如果客户端请求pfBlockerNG阻止列表中的域名,那么pfBlockerNG将返回该域名的一个虚拟IP地址。

pfBlockerNG 配置

第一步是在pfSense防火墙上启用UnBound DNS解析器。 点击“Services(服务)”下拉菜单,然后选择“DNS Resolver(DNS解析器)”。

pfSense DNS 解析器

首先选中“Enable DNS resolver(启用DNS解析器)”的复选框。

Listening port(侦听端口),选53。

Network Interfaces(网络接口),一般是LAN接口和Localhost。

Outgoing Network Interfaces(出口网络接口) ,在此配置中选WAN。

启用DNS解析器

选择完成后,请单击页面底部的“Save(保存)”,然后点击页面顶部出现的“Apply Changes(应用更改)”按钮。

下一步是pfBlockerNG配置的第一步。 导航到“Firewall(防火墙)”菜单下的pfBlockerNG,然后单击“pfBlockerNG”。

配置pfBlockerNG

单击“DNSBL(DNS阻止列表)”选项卡,开始设置DNS阻止列表,然后再激活pfBlockerNG。

设置NS 列表

选中“Enable DNSBL(启用DNSBL)”复选框(以下以绿色突出显示)。

在“DNSBL Virtual IP(虚拟IP)”中输入虚拟的IP地址。这个地址不是正在使用的pfSense网络上的有效IP。该IP将用于收集统计信息以及监视被pfBlockerNG拒绝的域名。

启用NSBL

向下滚动页面,进行其他设置。

DNSBL Listening Interface(侦听接口),设置为“LAN”。

DNSBL IP Firewall Settings(防火墙设置)下的“List Action(列表动作)”, 这个设置决定当DNSBLfeed 提供IP地址时应该做什么。

pfBlockerNG规则可以设置为执行任意数量的操作,一般情况下选择“Deny Both(拒绝两者)”, 这将阻止与DNSBL feed IP /域的入站和出站连接。。

配置NSBL

选择项目后,滚动到页面底部,然后单击“SAVE(保存)”按钮。

pfBlockerNG为管理员提供了单独或一起配置的两个选项。 这两个选项是来自其他网页或EasyLists的手动Feed。

要了解有关不同EasyLists(简单列表)的更多信息,请访问:https://easylist.to/。

配置 pfBlockerNG EasyList(简单列表)

我们首先讨论并配置EasyLists,一般用户有这些列表就已经可以了,而且容易管理。

pfBlockerNG中的两个EasyLists是“EasyList w/o Element Hiding”和“EasyPrivacy”。 要使用这些列表,请首先点击页面顶部的“DNSBL EasyList”。

配置 DNSBL EasyList

需要进行以下设置:

  • DNS Group Name(DNS组名) – 用户自定义,不能使用特殊字符。

  • Description(描述) – 输入一个描述说明,供管理员参考。

  • EasyList Feed – 选择添加哪个列表(EasyList或EasyPrivacy)

  • Header/Label – 用户自定义,不能使用特殊字符。

配置EasyList

下面的设置部分都是用户的个人偏好,可以根据需要选择多个。 “DNSBL - EasyList Settings”中比较重要的设置如下:

  • Categories(分类) – 用户选择的列表种类,可以多选。

  • List Action(列表动作) – 为了回应DNS请求,这里请设置为“Unbound”

  • Update Frequency (更新频率)– 列表更新的频率。

DNSBL EasyList 设置

当EasyList设置完成,请单击页面底部的“Save(保存)”按钮, 页面将会重新加载后,然后再单击“Update(更新)”选项卡。

在更新选项卡上,选中“Reload(重新加载)”选项,然后选中“ALL(所有)”选项, 来下载EasyList配置页面上选择的阻止列表。

以上这些,必须手动完成,否则只能在设定的更新频率后自动下载列表。更改设置后(添加或删除列表)确保运行这个步骤。

更新asyList 设置

注意查看下面的日志窗口是否有错误, 如果一切顺利,防火墙的LAN端的客户端机器通过pfSense防火墙应该可以查询已知的不良站点,并收到不良IP地址的信息。 注意,客户端机器必须设置使用pfsense作为其解析器!

检查Nslookup的错误

请注意上面的nslookup,网址返回的结果是我们在pfBlockerNG配置的伪IP, 这是我们期望的结果。 这将导致对“100pour.com”网址的任何请求被指向虚拟IP地址10.0.0.1。

为pfSense配置DNSBL Feed

与AdBlock EasyLists相反,我们可以在pfBlockerNG中使用其他的DNS黑名单。 这些列表通常可以被拉入pfBlockerNG。 下面是这些可用资源的列表:

  • https://forum.pfsense.org/index.php?topic=114499.0

  • https://forum.pfsense.org/index.php?topic=102470.0

  • https://forum.pfsense.org/index.php?topic=86212.0

个人最喜爱的一些列表包括以下内容:

  • http://adaway.org/hosts.txt

  • http://www.malwaredomainlist.com/hostslist/hosts.txt

  • http://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&mimetype=plaintext

  • https://zeustracker.abuse.ch/blocklist.php?download=domainblocklist

  • https://gist.githubusercontent.com/BBcan177/4a8bf37c131be4803cb2/raw

下面我们来配置添加DNSBL Feed:

首先导航到‘Firewall’ -> ‘pfBlockerNG’ ->’DSNBL’。

在DNSBL配置页面上,点击“DNSBL Feeds”,然后单击“Add(添加)”按钮。

配置DNSBL Feeds

在这里允许向pfBlockerNG添加其他不良IP地址或DNS名称列表。

配置DNS 不良列表

这里的一些重要设置如下:

  • DNS Group Name(DNS组名) – 用户自定义。

  • Description (描述)– 便于管理使用。

  • DNSBL Settings(DNS黑名单设置)

    • State(状态) – 运行状态。

    • Source(源) – DNS黑名单的链接/来源

    • Header/Label – 用户自定义,注意不能使用特殊字符。

  • List Action(列表动作) –  设置为“nbound”。

  • Update Frequency(更新频率) – 设置列表多久更新一次。

设置完以后,点击页面底部的保存按钮。 与pfBlockerNG的任何修改一样,此次修改也将在下一个更新频率到达时自动生效。也可以手动强制重新加载,方法是导航到“Update(更新)”选项卡,选中“Reload(重新加载)”选项,选中“All(全部)” 选项,点击“Run(运行)”按钮。

DNSBL Feeds 更新设置

查看下面的日志窗口是否有任何错误, 如果一切顺利,可以从lan侧的客户端测试一个DNSBL配置中使用的一个域名进行nslookup,以测试列表是否正常工作。

查看DNS查询结果

从上面的输出结果可以看出,pfSense正在将在pfBlockerNG中配置的虚拟IP地址作为黑名单域名的不良IP返回。

在日常的管理中,管理员可以通过添加更多列表或创建自定义域/ IP列表来继续调整列表。pfBlockerNG会将这些受限域名重定向到一个假的IP地址。

本文转自 鐵血男兒 51CTO博客,原文链接:http://blog.51cto.com/fxn2025/1946870,如需转载请自行联系原作者

pfSense安装和配置pfBlockerNg相关推荐

  1. Maven安装与配置(最实用!!!)eclipse中配置maven

    Maven安装与配置 一.需要准备的东西 JDK Eclipse(本章主要是在eclipse中进行配置maven) Maven程序包 二.下载与安装 1. 前往maven下载最新版的Maven程序: ...

  2. Portainer 安装与配置

    文章目录 Portainer 安装与配置 一.介绍 二.安装使用 1.单机运行 2.基于swarm集群方式运行 Portainer 安装与配置 一.介绍 ​ Portainer 是一个开源.轻量级Do ...

  3. Myeclipse安装、配置、测试

    Myeclipse安装.配置.测试(win7_64bit) 目录 1.概述 2.本文用到的工具 3.安装与激活 4.JavaSE开发测试(确保JDK已正确安装) 5.JavaEE开发测试(确保服务器和 ...

  4. [网摘学习]在Ubuntu上安装和配置OpenStack Nova之二

    再收藏一份Openstack的文章,这两天的操作与此相同.但其中出现的问题还需要查找原因.待个人继续学习研究. 原文参考:http://www.linuxde.net/2011/11/1599.htm ...

  5. centos6.5 php5.2,Linux中PHP安装与配置(CentOS-6.5:php-5.2.13)

    1 PHP简介     PHP(PHP: Hypertext Preprocessor的缩写,中文名:"超文本预处理器")是一种通用开源脚本语言.语法吸收了C语言.Java和Per ...

  6. java jdk 1.8 安装_下载、安装、配置 java jdk1.8

    近期配置react native的开发环境,所以就从配置环境开始.rn的环境配置有那么几项,其中重要的一个就是java jdk(Java Development Kit 的缩写),那么以下就是下载.安 ...

  7. mysql安装好需要优化配置一下_Mysql的安装、配置、优化

    Mysql的安装.配置.优化 安装步骤 1.先单击中的安装文件,如果是win7系统,请选择以管理员的方式运行. 2.大概需要30秒的时间,开始进入安装界面.请先把标红的打勾,好进行下一步的动作. 3. ...

  8. windows下opencv安装及配置(vs2010环境)

    opecv下载 前往官方下载地址 https://opencv.org/releases/ opencv安装及配置 解压,会得到一个opencv文件夹,可将提取出的文件移动到任意位置,我将其放在F盘. ...

  9. Elasticsearch 6.3.1、Head插件 安装及配置

    安装Elasticsearch Elasticsearch下载地址:https://www.elastic.co/cn/downloads/elasticsearch 也可以直接使用wget下载到某目 ...

  10. Zookeeper 安装和配置

    Zookeeper 安装和配置01 ZooKeeper的安装与部署02 转载于:https://www.cnblogs.com/hfultrastrong/p/8414587.html

最新文章

  1. 关于SQLServer2005的学习笔记——约束、Check、触发器的执行顺序
  2. 【PC工具】更新常用USB转串口芯片MAC驱动,CH340G驱动安装有可能遇到的问题及解决办法...
  3. 系统属性的JDK 12 Javadoc标记
  4. Response.Redirect ,Server.Excute和Server.Transfer区别详解
  5. c语言字符串文库总结,C语言程序设计入门:字符串函数
  6. css学习之border 边框
  7. tc.html是什么页面,HTML iframe属性详细说明
  8. 27个澳洲年轻人,重演了少年马云的一段奇遇
  9. 如何在 Linux 终端中知道你的公有 IP
  10. 奇葩报错之返回值为 -1073741515 (0xc0000135) ‘未找到依赖 dll‘
  11. C-COT -- 超越相关滤波:学习连续卷积算子(Continuous Convolution Operators)
  12. html5获取视频帧,从HTML5和JavaScript的视频捕获帧
  13. 联想thinkpadE450笔记本电脑自带的键盘不停自动打\\\\\\
  14. cesium 获取当前屏幕视角的三维参数,x、y、z、heading、pitch、roll
  15. input框禁止输入的四种方式
  16. 笔记本添加外置显示器
  17. CRC32的CrackMe
  18. 奇数偶数分频电路(占空比50%)
  19. Kafka 的 ISR 副本同步队列
  20. PDF文档电子公章的初试

热门文章

  1. 趋势科技2013/2014序列号
  2. 一年时间,拿到了人生中的第一个20万
  3. mysql中floor的用法_Mysql报错注入之floor报错详解
  4. 拜读经典——大话设计模式(一)——温习C#
  5. 科技如何激发女权主义并改变男性气质
  6. 道与术丨华为云数据库战略启示录
  7. springBoot2学习
  8. 华硕ASUS路由器AC86U无线掉线解决方法
  9. 诛仙斩龙墨雪服务器怎么找不到了,《诛仙3》5月13日服务器数据互通公告
  10. 以太坊2.0协议核心Beacon链详解