Snort是一个安全检测和预防系统。 它可以配置为简单地将检测到的网络事件记录到日志中并将其阻止。 借助OpenAppID检测器和规则,Snort软件包支持应用程序检测和过滤。 该软件包可以通过系统>插件管理进行安装。 Snort使用称为规则的检测签名进行操作。 Snort规则可以由用户自定义创建,或者可以启用和下载几个预先打包的规则集中的任何一个。

Snort软件包目前提供对这些预包装规则的支持:

  • Snort VRT(漏洞研究小组)规则

  • Snort GPLv2社区规则

  • Emerging Threats Open规则

  • Emerging Threats Pro规则

  • OpenAppID开放应用程序检测器和规则

Snort GPLv2社区规则和Emerging Threats Open规则都是免费提供的,无需注册。 Snort VRT规则有两种形式。 一个是免费的注册用户版本,但需要在snort注册。 注册用户的免费版本只能提供30天以前的规则。 可以购买Snort VRT付费订阅,并且每周更新两次(有时更频繁)。 Emerging Threats Pro规则仅向付费用户提供,几乎每天都会提供更新以应对快速变化的威胁。

 

对于商业应用,强烈建议从Snort或Emerging Threats获得付费订阅,以便下载最新的规则。 

 

目录

 

  • 启动Snort配置GUI

  • 首次配置Snort

  • 更新规则 

  • 添加Snort接口

  • 选择保护网络的规则类型

  • 启用Snort接口

  • 选择保护网络的签名类型

  • 定义服务器以保护和提高性能

  • 管理阻止的主机

  • 管理通行列表

  • 警报阈值和抑制

  •  了解警报

  • 使用OpenApp ID进行应用程序ID检测

启动Snort配置GUI

要启动Snort配置应用程序,请导航到pfSense菜单系统服务> Snort。

pfSense 配置Snort(包含OpenApp ID)_pfsense Snort

首次配置Snort

点击Global Settings(全局设置)标签,并启用规则集下载使用。 如果选中了Snort VRT或Emerging Threats Pro规则,将显示一个文本框输入通过订阅或注册获得的唯一订购用户代码。

 

可以启用多个规则集来进行下载,但请注意: 如果付费订阅适用于Snort VRT规则,则所有Snort GPLv2社区规则都将自动包含在使用Snort VRT规则下载的文件中;因此,如果付费用户帐户用于Snort VRT规则,则不要启用GPLv2社区规则。 所有Emerging Threats Open规则都包含在Emerging Threats Pro规则的付费订阅中。 如果启用Emerging Threats Pro规则,则会自动禁用Emerging Threats Open规则。

 

pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_02

一旦启用了所需的规则集,接下来设置Snort规则包的Update Interval(更新间隔)。 在大多数情况下,可以选择12小时。 当然也可以根据需要进行定制。时间格式采用24小时制, 默认开始时间是当地时间零点3分。 因此,如果选择12小时的更新间隔,Snort将在每天零点3分和每天12点3分检查Snort VRT和Emerging Threats网站,以便更新发布的规则包。

pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_03

更新规则

 

Updates(更新)选项卡用于检查下载的规则包的状态并下载新的更新。 它显示了可用的规则包及其当前状态(未启用,未下载或有效的MD5校验和以及下载日期)。

点击update Rules(更新规则)按钮下载最新的规则包, 如果供应商网站上有更新,它将被下载并安装。 通过比较本地文件与供应商网站上的远程文件的MD5, 如果不匹配,则下载新文件。 无论MD5哈希值如何检测,FORCE(强制)按钮都可用于强制从供应商网站下载规则包。

在下面的截图中,Snort VRT和Emerging Threats Open规则包已经成功下载。 显示计算出的MD5哈希值和文件下载日期和时间。 另外要注意,上次更新的时间和结果显示在页面的中心。

pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_04

添加Snort 接口

单击Snort Interfaces 选项卡,然后点击 “+”图标添加Snort接口。

pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_05

接口设置选项卡将打开,并自动选择可用接口。 也可以根据需要,使用接口下拉菜单更改接口。可以为接口输入一个描述说明。 其他接口参数也可以在此页面上设置。 完成后,请务必点击页面底部的SAVE(保存)按钮。

pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_06

保存后,浏览器将返回到Snort Interfaces选项卡。 请注意下图中的警告图标,显示新的Snort接口没有选择规则。 那些规则将在下面配置。 点击pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_07图标可以再次编辑已建立的Snort接口。

pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_08

选择保护网络的规则类型

点击新接口的Categories(类别)标签。 

 

如果获得了Snort VRT Oinkmaster代码(免费注册用户或付费订阅),启用了Snort VRT规则,并在Global Settings 全局设置)选项卡中输入了Oinkmaster代码,则可以从三个预配置的IPS策略中进行选择。这极大地简化了在检查流量时选择Snort使用强制规则的过程。 IPS策略只有在启用了Snort VRT规则时才能使用。

 

三种Snort VRT IPS策略分别是:(1) Connectivity连接)、(2)Balanced平衡)和(3)Security安全。这些是按照安全性越来越高的顺序排列的,但是,如果对Snort不熟悉,建议选(1)。在更安全的策略下,会经常出现误报,并且需要有经验的管理员进行仔细的调整。所以对Snort不熟悉,那么建议在非阻止模式下使用限制性较低的连接策略。一旦在此网络环境中获得了使用Snort的经验,可以启用阻止模式,然后升级到更严格的IPS策略。

pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_09

如果未启用Snort VRT规则,或者要使用任何其他规则包,则通过选中要使用的规则类别旁边的复选框来选择规则类别。

pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_10

完成后单击SAVE(保存)选择并构建Snort使用的规则文件。

在接口上启用Snort 

单击Snort Interfaces选项卡显示已配置的Snort接口。 单击 "X"图标在接口上启用Snort。

pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_11

Snort启动需要几秒钟的时间。 一旦开始,图标将显示为 pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_12 。 要停止接口上的Snort运行,单击 pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_12图标。

pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_14

选择保护网络的签名类型

 

单击接口的Rule(规则)选项卡,在启用的类别中配置单个规则。 通常这个页面只是用来禁用特定的规则,可能会在特定的网络环境中产生较多的误报。 确保它们实际上是真正的误报,然后再禁用Snort规则!

 

Category(类别)下拉列表中选择一个规则类别以查看所有分配的规则。 单击行最左侧的pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_15图标可以将规则的状态从启用变为禁用或从禁用变为启用。 该图标将改变颜色以提示采取的操作。 页面底部是一个图例,显示了用于指示规则当前状态的四种图标颜色。


pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_16

pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_17

定义服务器以保护和提高性能

pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_18

管理阻止主机

Blocked(已阻止)选项卡显示Snort当前正在阻止的主机(当在Interface Settings(接口设置)选项卡上选择阻止选项时)。 阻止的主机可以通过几个预先定义的时间间隔被Snort自动清除。 接口的阻止选项在接口的Snort Interface Settings(接口设置)选项卡上进行配置。

pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_19

管理通行列表

要创建新的通过列表,请单击pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_20。要编辑现有的通行证列表,请单击pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_21。要删除通过列表,请单击pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_22。请注意,如果“通过列表”当前已分配给一个或多个Snort接口,则可能无法删除。


pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_23

 

Snort会为每个接口自动生成一个默认的通行列表,当没有指定其他列表时,将使用此默认列表。通行列表自动分配给接口设置选项卡上设置的接口。

 

可以创建自定义通行列表并分配给一个接口。当有不在直连到防火墙网络上的可信外部主机时,可以这样做。要以这种方式添加外部主机,必须先在防火墙>别名管理下创建一个别名,然后将可信外部主机IP地址添加到别名中。在下面的例子中,别名“Friendly_ext_hosts”已被分配。该别名将包含可信外部主机的IP地址。

 

创建自定义通行列表时,请在Add auto-generated IP addresses(添加自动生成的IP地址)部分中选中所有自动生成的IP地址。不选中这部分可能会导致阻止包括防火墙接口本身的关键地址,这可能会将自己锁定在防火墙之外!只有在绝对必要的情况下,才能取消选中框。

pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_24

 

点击ALIASES(别名)按钮打开一个窗口,显示以前定义的别名供选择。 选择后请记住点击保存以应用更改。

 

注意:简单地创建一个通行列表只是第一步! 必须通过转到Snort接口的Interface Settings(接口设置)选项卡并选择新创建的通行列表,如下所示。 分配并保存新的通行列表后,在受影响的接口上重新启动Snort以使应用生效。

 

pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_25

警报阈值和抑制

抑制列表允许控制由Snort规则生成的警报。当警报被抑制时,Snort不再记录警报条目(或者在阻止违规者被启用的情况下阻止IP地址)。 Snort仍然根据规则检查所有网络流量,但即使流量符合规则签名,也不会生成警报。这与禁用规则不同。当禁用规则时,Snort不再尝试将其与任何网络流量进行匹配。只能根据源IP或目标IP停止警报时,可以用抑制规则来代替禁用规则。例如,要抑制来自特定可信IP地址的流量来源时的警报,如果有任何其他IP流量的来源,则规则仍然会触发。为了消除规则中的所有警报,简单地禁用规则而不是抑制规则会更有效。禁用该规则将从Snort的匹配规则列表中删除它,因此Snort所做的工作会更少。

pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_26


Suppress List Edit(抑制列表编辑)页面上,可以手动添加或编辑新的抑制列表条目。 通过单击 Alerts(警报)选项卡上的警报条目显示的pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_20来添加抑制列表更方便。在手动编辑抑制列表条目后,必须单击SAVE(保存)按钮以应用更改。

 

pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_28

了解警报

 

Alerts(警报)选项卡是查看由Snort生成的警报的位置。 如果Snort在多个接口上运行,请在下拉选择器中选择要查看警报的接口。

单击DOWNLOAD(下载)按钮将下载包含所有记录警报的gzip .tar文件到本地电脑。 CLEAR(清除)按钮用于清除当前警报日志。 

 

pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_29


警报详情

pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_30

Date (日期)列显示警报生成的日期和时间。 其余的列显示来自生成警报规则的数据。

 

在“Source(源), Destination(目标)列中,pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_31用于在IP地址上执行反向DNS查找的图标。pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_20图标,用于使用IP地址和SID(签名ID)为警报添加自动“禁止列表”条目。这将防止规则仅针对该特定IP地址生成未来的警报。如果源或目标地址当前被Snort阻止,则还将显示一个pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_22图标。单击该图标将删除该IP地址的阻止。

SID列包含两个图标。pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_20图标将自动将该SID添加到接口的“禁止列表”,并禁止来自所有IP地址签名的以后的警报。SID列中的图标pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_35将禁用该规则并将其从强制规则集中删除。手动禁用规则后,SID列中的图标将变为pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_36

 

使用OpenApp ID进行应用程序ID检测

OpenAppID是用于开源***检测系统Snort的应用层网络安全插件。 点击此处了解详情。

启用OpenAppID及其规则是从Global Settings(全局设置)完成的。 选中下图中的两个复选框并保存页面后将启用检测器和规则下载。

pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_37

启用检测器和规则后,进入Snort Updates选项卡并单击update Rules更新规则, 等待所有的规则更新。 完成后,页面将显示OpenAppID检测器和规则已更新。

pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_38

以下步骤假设已经将Snort接口添加到LAN接口。 编辑LAN接口并导航到LAN categoriesLAN类别)选项卡。 确保右栏中的Snort OPENAPPID Rules(规则)都被选中,然后点击保存。

pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_39

最后,在编辑Snort接口的同时,导航至 LAN Preprocessor(LAN预处理器)选项卡。

pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_40

向下滚动到Application ID Detection(应用程序ID检测)部分,并选中Enable (启用)和 AppID Stats Logging(AppID统计信息)复选框, 保存页面,在Snort接口上激活OpenApp ID。

pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_41

可以从 Alerts(警报)选项卡查看检测到的应用程序。 以下屏幕截图是已识别的服务和应用程序的示例:

 

 

Facebook

pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_42

Netflix

pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_43

Reddit

pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_44

Amazon Web Services

pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_45

iCloud

pfSense 配置Snort(包含OpenApp ID)_pfsense Snort_46

Twitter

 

 

 

原文地址,其他设置可以参考这篇文章

 

 

2017-12-07