简介
Suricata是一款高性能的网络IDS、IPS和网络安全监控引擎。它是由the Open Information Security Foundation开发,是一款开源的系统,现在的NIDS领域snort一枝独秀,而suricata是完全兼容snort规则的多线程IDS,无论在效率还是性能上都超过原有的snort
安装
安装依赖包
sudo apt-get -y install libpcre3 libpcre3-dbg libpcre3-dev \
build-essential autoconf automake libtool libpcap-dev libnet1-dev \
libyaml-0-2 libyaml-dev zlib1g zlib1g-dev libcap-ng-dev libcap-ng0 \
make libmagic-dev libjansson-dev libjansson4 pkg-config
HTP库
wget https://github.com/OISF/libhtp/releases/download/0.5.17/htp-0.5.17.tar.gz
tar -xzvf libhtp-0.5.17.tar.gz
cd libhtp-0.5.17
./configure
make
make install
安装libhtp库
git clone https://github.com/OISF/libhtp.git
cd libhtp/
./autogen.sh
./configure
make && sudo make install
注意:
有时候会出现./configure执行不成功的时候,然后去README中找答案,运行./autogen.sh以后继续执行以上命令
Suricata现在的源代码版本分为稳定版和开发版,现在的稳定版是suricata4.0.4,开发版本是suricata4.1.0-beta1。可以去Suricata官网------下载源码
wget https://www.openinfosecfoundation.org/download/suricata-4.0.4.tar.gz
编译并安装引擎
要启用数据包分析,请确保在配置阶段输入以下内容:
./configure --enable-profiling
如果想构建带有 IPS 功能的 Suricata ,使用如下命令:
./configure --enable-nfqueue --prefix=/usr --sysconfdir=/etc --localstatedir=/var
如果不想带有 IPS 功能,使用如下命令:
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
随后使用如下命令:
make
sudo make install
sudo make install-conf # 安装默认配置
sudo make install-rules # 安装默认规则
sudo ldconfig # 让系统共享动态链接库
如果上述规则库不能安装的话,可以手动下载规则库并进行解压放到rules文件夹中
https://rules.emergingthreats.net/open/suricata-4.0/emerging.rules.tar.gz
基本配置
设置变量
Suricata 的配置文件默认在 /etc/suricata/suricata.yaml
,在启动前我们需要先配置好一些重要的变量,其中变量分为两组,一个是地址组(address-groups),另一个是端口组(port-groups)。示例配置文件如下(其中,HOME_NET
要设置为我们本地网络的的 IP 地址,EXTERNAL_NET
推荐为 !$HOME_NET
,即除我们本地网络以外的。而端口组中的所有端口也要和实际使用的端口号相对应。)
规则
Suricata 无论是运行在 IDS 或者 IPS 模式下肯定要基于一定的规则,具体包含哪些规则同样是在 suricata.yaml
配置文件中指定,例如如下样式:
其中,default-rule-path
用于指定存放规则的文件夹,而后续 rule-files
参数则是用来指定具体好吧哪些规则文件,规则文件前面的 #
是注释代表不启用这条规则,customize the rules file表示可以自定义自己的规则,可以把自己写的规则放到这里
如果先前使用 sudo make install-rules
命令,则这样会从 EmergingThreats.net 上下载可用的社区规则集快照。如果不使用社区规则的话,就需要自己编写规则,后续我会单独写文章讲述具体如何编写 Suricata 规则
输出选项
开启或者关闭相关的输出日志文件
运行
1、监控eth0网卡流量
-c 用来指定配置文件
-i 说明以 IDS 模式运行
eth0 说明让 Suricata 监听 eth0 端口
更多参数选项
-c <path> 这个选项是最重要的选项。在-c之后,要输入suricata.yaml文件所在的路径
-i <dev or ip> 输入你想用来抓包的网卡名称。这个参数关联网卡使用libpcap在pacp?live模式下抓包
-r <path> 输入记录数据的抓包文件的路径和文件名。可以在pcap/offline模式下,在这个文件中查看包数据
-s <path> 设置一个自定义规则文件,这个文件将与yaml中设置的rules文件集一起载入使用
-l 设置一个自定义的日志输出文件夹。否则采用已在yaml文件中设置了默认的日志文件夹(default-log-dir)
-D 设置使你的suricata进程能够在后台运行,使用终端窗口干其他的事而不会影响suricata运行
-V 显示suricata版本
-u 该选项用于运行单元测试,测试suricata代码
--list-runmodes 使用该选项将列出所有可能的运行模式
2、利用规则文件检测pacp流量包
有时我们运行的时候可能会出现找不到libhtp-0.5.17.so.1文件的时候,因为libpcap.so.1默认安装到了/usr/local/lib下,我们做一个符号链接到/usr/lib/下即可,问题以及解决方法如下所示
Suricata在ubuntu14.04环境下安装的更多相关文章
-
ubuntu14.04环境下spyder的安装
在ubuntu14.04系统中,默认在/usr/lib目录下安装了python2.7.6和python3.4.3,在该环境下安装spyder,然后使其链接到python3.4.3. 首先安装为pyth ...
-
disconf系列【1】——百度disconf在ubuntu14.04环境下的安装
disconf官网给出的安装文档默认读者已经非常熟练本文1.2章节给出的依赖软件的原理及使用方法,且官网默认安装环境为linux(windows安装方法只字未提).同时,官网对很多重要的细节语焉不详, ...
-
ubuntu14.04环境下利用docker搭建solrCloud集群
在Ubuntu14.04操作系统的宿主机中,安装docker17.06.3,将宿主机的操作系统制作成docker基础镜像,之后使用自制的基础镜像在docker中启动3个容器,分配固定IP,再在3个容器 ...
-
Ubuntu14.04环境下配置TFTP服务器
<<<<<<<<<<<<<<<<<<<<<<<<< ...
-
Ubuntu14.04环境下Qt5.5以上版本无法输入中文的解决教程
1.前言 由于Qt5.4之后对之前的Qt5版本不再二进制兼容,所以网上很多简单的旧的办法已经失效了,所以本教程的办法是重新编译fcitx-qt5,生成最新的libfcitxplatforminputc ...
-
ubuntu16.04环境下安装配置openface人脸识别程序
参考http://blog.csdn.net/weixinhum/article/details/77046873 最近项目需要用到人脸训练和检测的东西,选用了OpenFace进行,因而有此文. 本人 ...
-
Ubuntu 18.04 环境下安装 Matlab2018
由于实验环境要求,最近在 Ubuntu 18.04 上安装了 Matlab2018b , 这里简单记录过程. (1) 首先是获取对应的 Matlab2018b 的安装包,这里笔者是在一个外国的网站上获 ...
-
Ubuntu14.04环境下java web运行环境搭建
1.jdk安装 将下载好的安装包上传至/home目录解压 tar -zxvf jdk-8u71-linux-x64.tar.gz 执行 vim /etc/profile 在末尾添加java环境变量(J ...
-
Ubuntu14.04环境下Samba报错排错过程
排错的方法和思路非常重要,日志非常非常非常非常重要!!! 搭建好Samba之后,windos访问一直下面这个错误,然后傻逼一样一直百度百度,一弄又是几天,但是经过自己一步一步的排错,弄成功之后,那心情 ...
随机推荐
-
转 从腾讯那“偷 了”3000万QQ用户数据
http://www.icaijing.com/hot/article4899809/ http://news.cnblogs.com/n/533061/
-
增强学习(四) ----- 蒙特卡罗方法(Monte Carlo Methods)
1. 蒙特卡罗方法的基本思想 蒙特卡罗方法又叫统计模拟方法,它使用随机数(或伪随机数)来解决计算的问题,是一类重要的数值计算方法.该方法的名字来源于世界著名的赌城蒙特卡罗,而蒙特卡罗方法正是以概率为基 ...
-
使用DataConnectionDialog在运行时设置数据源连接字符串
介绍: DataConnectionDialog 类: 打开“数据连接”对话框,获取用户选择的数据连接信息. 命名空间为:Microsoft.Data.ConnectionUI 所在程序集:Micro ...
-
Nginx配置文件详细说明
在此记录下Nginx服务器nginx.conf的配置文件说明, 部分注释收集与网络. #运行用户user www-data; #启动进程,通常设置成和cpu的数量相等worker_process ...
-
使用NodeJS、GruntCLI遇到的问题
运行环境CMD NODEJS版本v0.8.4 node --version 需求:需要用到Grunt的JS编译功能,各位别笑我. 使用代理 npm config set proxy http://i ...
-
PHP文件系统处理相关操作
<?php/* PHP文件系统处理 * 所有文件处理都是使用系统函数完成的. * 是基于Linux/Unix系统为模型 * * 文件系统处理的作用: * 1. 所有的项目离不开文件处理 * 2. ...
-
[转载] 应用于负载均衡的一致性哈希及java实现
转载自http://blog.csdn.net/haitao111313/article/details/7537799 这几天看了几遍一致性哈希的文章,但是都没有比较完整的实现,因此试着实现了一下, ...
-
Python常用算法(一)
1.选择排序 不断找到最小的(找最大的也是可以的) 首先拿到第一个,然后发现比它小的,记住下标.循环一轮,找到最小的数的位置 和 最左边的数交换位置 然后从第二个开始....和第二个交换位置,循环最后 ...
-
windows手动去重 通配符
在下载文件时,如果遇到重复文件,windows的默认做法时 文件名(数字) 这样的方式重命名的. 那么我们在排除重复文件时,可以使用 windows文件浏览器提供的查找功能, 用通配符 ~=& ...
-
Docker介绍及使用
什么是容器? 容器就是在隔离的环境运行的一个进程,如果进程停止,容器就会销毁.隔离的环境拥有自己的系统文件,ip地址,主机名等,kvm虚拟机,linux,系统文件 程序:代码,命令 进程:正在运行的程 ...