山姆是一家算法交易公司的网络分析师。他在UMKC获得了信息技术学士学位。
为什么要建立入侵检测系统?
黑客、病毒和其他威胁不断地探测你的网络,寻找进入的途径。只要有一台被黑的机器,整个网络就会受损。出于这些原因,我建议设置一个入侵检测系统,这样您就可以保证系统的安全,并监控Internet上的各种威胁。
Snort是一种开源IDS,可以轻松安装在pfSense防火墙上,以保护家庭或公司网络免受入侵者的入侵。Snort还可以配置为入侵防御系统(IPS),使其非常灵活。
在本文中,我将带领您完成在pfSense 2.0上安装和配置Snort的过程,以便您可以开始实时分析流量。
安装Snort包
要开始使用Snort,您需要使用pfSense包管理器安装包。包管理器位于pfSense web GUI的系统菜单中。
从包列表中找到Snort,然后单击右边的加号开始安装。
snort通常需要几分钟来安装,它有几个依赖项,pfSense必须首先下载并安装这些依赖项。
安装完成后,Snort将显示在服务菜单中。



获取Oinkmaster代码
要使Snort有用,需要使用最新的规则集对其进行更新。Snort包可以自动更新这些规则,但首先必须获得Oinkmaster代码。
有两组不同的Snort规则可用:
- 订阅者发布集是可用的最新规则集。实时访问这些规则需要付费的年订阅。
- 规则的另一个版本是注册用户版本,它对在Snort.org站点上注册的任何人完全免费。
这两个规则集之间的主要区别在于,注册用户发行版中的规则比订阅规则晚30天。如果您想要最新的保护,您应该获得订阅。
按照以下步骤获取您的Oinkmaster代码:
- 访问Snort规则网页下载所需的版本。
- 单击“Sign Up for an Account”并创建一个Snort帐户。
- 确认帐户后,请登录Snort.org。
- 单击上方链接栏上的“我的帐户”。
- 单击“订阅和Oinkcode”选项卡。
- 点击Oinkcodes链接,然后点击“生成代码”。
代码将保存在您的帐户中,以便您以后需要时可以获取它。需要将此代码输入到pfSense中的Snort设置中。



在Snort中输入Oinkmaster代码
获取Oinkcode后,必须将其输入到Snort包设置中。Snort设置页面将出现在web界面的服务菜单中。如果不可见,请确保已安装该软件包,如果需要,请重新安装该软件包。
必须在Snort设置的“全局设置”页面上输入Oinkcode。我也喜欢勾选该复选框以启用新出现的威胁规则。ET规则由开源社区维护,可以提供Snort集中可能找不到的一些附加规则。
自动更新
默认情况下,Snort包不会自动更新规则。推荐的更新间隔是每12小时一次,但是您可以根据您的环境进行更改。
一旦你完成了修改,不要忘记点击“保存”按钮。
手动更新规则
Snort没有任何规则,因此您必须在第一次手动更新它们。要运行手动更新,请单击“更新”选项卡,然后单击“更新规则”按钮。
如果您选择了该选项,该包将从Snort.org下载最新的规则集,还会下载Emerging Threats。
更新完成后,规则将被提取出来,然后就可以使用了。



添加接口
在Snort开始作为入侵检测系统发挥作用之前,必须为其分配监视接口。典型的配置是让Snort监视任何WAN接口。另一种最常见的配置是让Snort监视WAN和LAN接口。
监视LAN接口可以提供对网络中正在进行的攻击的一些可见性。LAN网络上的PC感染恶意软件并开始对网络内外的系统发起攻击并不罕见。
要添加接口,请单击Snort接口选项卡上的加号。
配置接口
单击“添加界面”按钮后,将看到界面设置页面。设置页面包含许多选项,但只有少数几个你真正需要担心的东西,使之启动和运行。
- 首先,选中页面顶部的启用框。
- 接下来,选择要配置的接口(在本例中,我首先配置WAN)。
- 将内存性能设置为AC-BNFA。
- 选中“Log Alerts to snort unified2 file”复选框,这样barnyard2将起作用。
- 单击save。
如果您正在运行多广域网路由器,您可以继续在您的系统上配置其他WAN接口。我还建议增加LAN接口。
选择规则类别
在启动接口之前,还需要为每个接口配置一些设置。要配置其他设置,请返回Snort接口选项卡,并单击界面旁边页面右侧的“E”符号。这将把您带回到该特定接口的配置页面。
要选择应该为接口启用的规则类别,请单击categories选项卡。所有的检测规则被划分为不同的类别。包含来自Emerging Threats规则的类别将以“Emerging”开头,来自Snort.org的规则以“snort”开头。
选择类别后,单击页面底部的保存按钮。
规则类别的目的是什么?
通过将规则划分为类别,您可以只启用您感兴趣的特定类别。我建议启用一些更一般的类别。如果您在您的网络上运行特定的服务,如web或数据库服务器,那么您也应该启用与它们相关的类别。
重要的是要记住,每次打开一个附加类别时,Snort将需要更多的系统资源。这也会增加假阳性的数量。一般来说,最好只打开你需要的组,但可以自由地尝试这些类别,看看哪种效果最好。
如何获取更多规则类别信息?
如果你想知道一个类别中有哪些规则,并了解更多它们的作用,那么你可以点击这个类别。这将直接链接到类别内所有规则的列表。
流行的Snort规则类别
类别名称 | 描述 |
---|---|
snort_僵尸网络-cnc.rules |
目标已知的僵尸网络命令和控制主机。 |
snort_ddos.rules |
检测拒绝服务攻击。 |
snort_scan.rules |
这些规则检测端口扫描、Nessus探测和其他信息收集攻击。 |
snort_virus.rules |
检测已知木马、病毒和蠕虫的特征。强烈推荐使用这个类别。 |
预处理器和流程设置
在预处理器设置页面上有一些应该启用的设置。许多检测规则需要启用HTTP检查才能正常工作。
- 在HTTP检查设置下,启用“使用HTTP检查规范化/解码”
- 在通用预处理器设置部分,启用“端口扫描检测”
- 保存设置。
启动界面
当向Snort添加新接口时,它不会自动开始运行。要手动启动界面,请单击每个已配置界面左侧的绿色播放按钮。
当Snort运行时,界面名称后面的文本将显示为绿色。要停止Snort,请单击界面左侧的红色停止按钮。


如果Snort启动失败
有两个常见问题可以阻止Snort启动。
- 检查规则:要验证规则的安装,请单击updates选项卡并在已安装的签名规则集部分中查找散列。您应该看到类似于SNORT的内容。ORG > > >“59 b31f005c3d4ead427cba4b02fffd70。”
- 预处理器设置:一些规则要求在预处理器设置中启用HTTP inspect选项,因此请确保已启用此功能。
- 检查系统日志:如果Snort遇到错误,您将在系统日志中看到消息。系统日志可在“状态/系统日志”下查看。错误通常会告诉你问题是什么。
检查警报
成功配置并启动Snort之后,一旦检测到匹配规则的流量,您应该开始看到警报。
如果你没有看到任何提示,给它一点时间,然后再检查一次。可能需要一段时间才能看到任何警报,这取决于流量和启用的规则。
如果想要远程查看警报,可以启用“将警报发送到主系统日志”的界面设置。出现在系统日志中的警报可以是使用Syslog远程查看.
据作者所知,这篇文章准确、真实。内容仅用于信息或娱乐目的,不能替代商业、金融、法律或技术事务中的个人顾问或专业建议。
©2011 Sam Kear
评论
弗朗索瓦2017年9月12日:
Snort有助于应对内部和外部病毒攻击。CLAM只适用于WAN接口的内容扫描。而且,有两种协议能让你的安全加倍。这在作者的大纲中有明确的定义(snort)。很好。
提布斯2016年10月25日:
您推荐使用snort_virus.rules,但如果使用squid包已经启用了ClamAV,该怎么办?你更喜欢哪一个?使用snort_virus.rules或ClamAV进行Snort ?难道不需要同时激活两者吗?
Pankaj库马尔2015年12月19日
在pfsense 2上,根据您的文档,我已经设置了snort,但它也阻止了所有的流量,甚至包括Internet。请帮助我如何纠正这个问题?