在pfSense上设置Suricata

在pfSense上设置Suricata

Suricata是一个开源的入侵检测系统(IDS)。Suricata有几个优点。1、它是多线程的,所以你可以运行一个实例,它将平衡每个处理器上的负载处理。2、 Suricata会在流量开始时自动识别最常见的协议,允许规则编写者将规则写入协议,而不是预期的端口。3、Suricata可以识别网络上数以千计的文件类型,并且可以标记要提取的文件,以便将文件写入磁盘并使用描述捕获情况和流程的元数据文件。Suricata的另一个优点是它与Snort规则兼容,因此虽然它是Snort的替代品,但仍然可以使用Snort更新。在pfSense 中,Suricata以插件形式提供。

  • 安装Suricata
  • 启用规则下载
  • 创建列表
  • 启用Barnyard2
  • 配置日志记录和其他参数
  • 启用看门狗
  • 检查配置

安装Suricata

进入System -> Package Manager -> Available Packages,搜索suricata:

然后点击右侧的安装按钮进行安装。安装完成后,在系统服务菜单下可以找到suricata。


启用规则下载

在Services -> Suricata -> Global Settings(全局设置)下,进行设置来下载Snort和ET规则:

添加规则后,可以在Services -> Suricata -> Updates下手动更新下载规则:

创建列表

Services -> Suricata -> Pass List下创建了一个代表home network(家庭网络)的列表:

在Services-> Suricata -> Suppress下创建一个抑制列表来抑制某些snort和ET签名:

以下是抑制的一些签名:

在抑制列表的顶部,还可以选择在Services -> Suricata -> Interfaces -> WAN Categories下启用哪些规则类别:


启用Barnyard2

在Services -> Suricata -> Interface -> WAN Barnyard2下,如果已经配置了snorby,我们就可以将事件发送到snorby数据库:


配置日志记录和其他参数

Servces -> Suricata -> Interface -> WAN settings下,在Interfaces(接口)的General Settings(常规设置)下,我们启用它并设置日志记录:

在下面我启用了之前创建的列表:

在这里没有选中Log Extende Http Info(扩展日志记录)Enale  tracked files Log(跟踪的文件日志),因为我通过系统日志发送日志,而JSON被截断(方便后面进行ELK设置)。


启用看门狗

我们还可以安装Service Watchdog插件:

在Services -> Service Watchdog下,可以监控Suricata服务:


检查配置

可以ssh到pfSense并查看所有设置:

[2.43-RELEASE][[email protected]]/root: top -CPz -o cpu -nlast pid: 69987;  load averages:  0.08,  0.06,  0.07  up 6+07:27:23    17:38:0641 processes:  1 running, 40 sleeping

Mem: 299M Active, 484M Inact, 260M Wired, 383M Buf, 2870M FreeSwap: 4096M Total, 4096M Free

  PID USERNAME  THR PRI NICE   SIZE    RES STATE   C   TIME     CPU COMMAND35582 root        7  20    0   696M   593M uwait   1   8:21   2.78% suricata35368 root        1  20    0   134M 99440K nanslp  0  14:56   0.00% barnyard215529 root        1  20    0 16676K  2256K bpf     0   4:54   0.00% filterlog22872 root        5  20    0 27300K  2448K accept  1   3:55   0.00% dpinger46428 root        1  52   20 17000K  2564K wait    0   3:53   0.00% sh37472 unbound     2  20    0 63304K 34280K kqread  1   3:06   0.00% unbound

每个接口启动了一个suricata实例:

[2.43-RELEASE][[email protected]]/root: ps auwwx | grep suricataroot    35582   2.9 14.7 713016 607712  -  Ss    2:36PM     8:24.77 /usr/local/bin/suricata -i re0 -D -c /usr/local/etc/suricata/suricata_34499_re0/suricata.yaml --pidfile /var/run/suricata_re034499.pidroot    35368   0.0  2.4 137684  99440  -  S     2:36PM    14:56.48 /usr/local/bin/barnyard2 -r 34499 -f unified2.alert --pid-path /var/run --nolock-pidfile -c /usr/local/etc/suricata/suricata_34499_re0/barnyard2.conf -d /var/log/suricata/suricata_re034499 -D -qroot    90667   0.0  0.1  18740   2252  0  S+    5:39PM     0:00.00 grep suricata

可以查看/ var / log / suricata / INSTANCE下的所有日志:

[2.43-RELEASE][[email protected]]/root: ls -1 /var/log/suricata/suricata_re034499/alerts.logalerts.log.2016_0501_1750barnyard2http.logsuricata.logunified2.alert.1462653477

它创建了一个cronjob来监视服务:

[2.43-RELEASE][[email protected]]/root: grep watch /etc/crontab*/1	*	*	*	*	root	/usr/local/pkg/servicewatchdog_cron.php

原文地址:http://blog.51cto.com/fxn2025/2106650

时间: 2024-08-02 19:44:41

在pfSense上设置Suricata的相关文章

PfSense防火墙设置L2TP+IPsec配置

L2TP使我们日常使用很广泛的,如何在Pfsense上配置L2TP+IPsec呢?首先我们来设置L2TP Server注意:L2TP Server设置比较简单,请注意Server Address 是指L2tp的服务器地址,不是公网地址切勿搞错.下面是IPsec部分设置添加用户请使用动态IP 下面进行IPSec部分设置 首先勾选:Enable IPsec Mobile Client Support,其它选项默认即可,保存进入IPsec Phase 1设置如下图.协商模式请选择 Main ,其它选项

iOS:实现MKAnnotation协议,在地图上设置大头针,点击显示具体的位置信息

如何添加大头针(地标): 通过MapView的addAnnotation方法可以添加一个大头针到地图上 通过MapView的addAnnotations方法可以添加多个大头针到地图上 –(void)addAnnotation:(id <MKAnnotation>)annotation; 说明:需要传入一个遵守了MKAnnotation协议的对象 基本步骤为: <1>新建一个遵守MKAnnotation协议的类: @interface MyAnnotation : NSObject 

使用html area标签在图片上设置链接

一张图片的静态页!如果你不会切图做静态页,那么就用一张效果图来实现吧! 原理:在图片上设置链接的area标签,产生图片的局部点击事件效果~ <img src="planets.jpg" border="0" usemap="#planetmap" alt="Planets" />相当于效果图 <map name="planetmap" id="planetmap">

IOS7上设置TabBar的图片

IOS7上设置TabBar的图片 by 伍雪颖 - (void)setTarBarStyle { UIEdgeInsets insets = UIEdgeInsetsMake(6, 0, -6, 0); _tarBar.imageInsets = insets; _tarBar.selectedImage = [[UIImage imageNamed:@"near_on"] imageWithRenderingMode:UIImageRenderingModeAlwaysOrigina

在域控制器上设置NTP时间自动同步的组策略,使域中所有客户机的时间保持一致

默认情况下,客户机会定时与域控制器同步时间,但有些时候客户机却不能与域控制器进行时间同步,出现这种情况往往是因为使用了ghost镜像安装系统的结果,某些ghost镜像系统为了精简系统服务,关闭了Windows Time服务,而Windows Time服务是时间同步所依赖的服务,所以设置NTP之前,必须保证客户机的Windows Time服务是已启动和自动启动状态. 在域控制器上设置NTP,网络上的教程也很多,都有涉及到修改注册表,本人经过试验后发现,修改注册表是非必要的,只需要创建修改组策略即可

在Java代码上设置TextView字体大小

部分源码: /** * Set the default text size to a given unit and value. See {@link * TypedValue} for the possible dimension units. * * @param unit The desired dimension unit. * @param size The desired size in the given units. * * @attr ref android.R.styleab

centos上设置时区

本地单文件上传脚本,命名uf 这是在本机上做的测试,利用bpcs_uploader脚本实现,只是进行简单的封装,自动完善云端文件路径. 技术要点:使用dirname获取文件所在目录,使用pwd获取文件完整路径,并作为云端文件路径. #!/bin/bash cur_dir=$(cd "$(dirname "$1")"; pwd) name=$(basename "$1") /home/grm/bin/bpcs_uploader/bpcs_uploa

ios7 关于searchbar上设置cancelButton的title属性

通过 [searchBarsetShowsCancelButton:YES];设置之后默认是"cancel",想改为中文的 在stackoverflow上参考了很多方法都没用 这里的关键是要获取到 searchbar中得 cancelButton 通过打印 [searchbar subviews] 得到结果如下 (lldb) po [searchBar subviews] <__NSArrayM 0xd6b0db0>( <UIView: 0xd6aab30; fram

Win10设置指纹登陆出现“已在其他账户上设置该指纹”怎么办?

Win10系统将支持指纹识别功能,这无疑大大提高了系统和用户隐私的安全性.这个功能的全称是“Windows Hello”前面系统天地小编已经为大家介绍了Windows Hello是什么?Win10如何设置指纹登陆.Win10系统找不到Windows Hello的解决方法.本文系统天地小编将在原有的基础上继续为大家介绍Win10设置指纹登陆提示已在其他账户上设置该指纹的解决技巧! 第一步.首先进入Win10“安全模式”: 第二步.打开此电脑,依次打开“C:\Windows\System32\Win