基本介绍
Suricata is the leading independent open source threat detection engine. By combining intrusion detection (IDS), intrusion prevention (IPS), network security monitoring (NSM) and PCAP processing, Suricata can quickly identify, stop, and assess even the most sophisticated attacks.
# 翻 译
Suricata是领先的独立开源威胁检测引擎。通过结合入侵检测(IDS)、入侵预防(IPS)、网络安全监控(NSM)和PCAP处理,Suricata可以快速识别、阻止和评估最复杂的攻击。
下载地址
Download - Suricatahttps://suricata.io/download/**历史版本下载**
Index of /downloadshttps://www.openinfosecfoundation.org/downloads/
官方文档地址
Documentation - Suricatahttps://suricata.io/documentation/
左面是**用户使用文档**,右面是**开发者文档**(更多的是开发用的)(咱们看左面就行)
Suricata - Suricata - Open Information Security FoundationRedminehttps://redmine.openinfosecfoundation.org/projects/suricata/wiki/Suricata 这是维基百科上的文档,也在官网能找到
中文文档
注意:中文文档似乎是百度(谷歌)翻译出来的,所以有些词很不准确,需要仔细斟酌一下
Suricata用户指南 — Suricata 7.0.0-dev 文档https://www.osgeo.cn/suricata/index.html(但是还是可以看的...尤其是我这种英语不好的)
下载
系统环境:Ubuntu18.04 LTS Desktop
所以我是直接下载的源码,在上面第一个 官网里(毕竟是为了学习)
下载完的源码 30.9MB (suricata-6.0.4.tar.gz)
Ubuntu 用户也可以直接 sudo apt install suricata 来直接安装,但是总觉得那不是为了学习
通过共享文件夹,拷贝到Ubuntu里
解压 tar -xvf suricata-6.0.4.tar.gz
解压完的目录如下
安装
安装依赖
根据官网文档,提示的安装步骤,首先需要安装一部分依赖--官网介绍及解释如下
注意:如果需要推荐的安装 或者 更底下的,需要从上到下依次执行,下面的并不包含最上面的精简安装,否则使用过程中容易出问题
---------- 为了方便 复制 ,命令放到了代码段里(有重复的) ---------
Minimal: #精简安装,就是基础能运行
sudo apt-get install build-essential libpcap-dev libyaml-0-2 libyaml-dev pkg-config zlib1g zlib1g-dev make libmagic-dev libjansson libjansson-dev libpcre2-dev
# -------------------------------------------------------------
Recommended: #官网推荐安转
sudo apt-get install build-essential libpcap-dev libnet1-dev libyaml-0-2 libyaml-dev pkg-config zlib1g zlib1g-dev libcap-ng-dev libcap-ng0 make libmagic-dev libgeoip-dev liblua5.1-dev libhiredis-dev libevent-dev python-yaml rustc cargo libpcre2-dev
# -------------------------------------------------------------
Extra for iptables/nftables IPS integration: # iptables/nftables IPS 集成的额外功能:
sudo apt-get install libnetfilter-queue-dev libnetfilter-queue1 libnetfilter-log-dev libnetfilter-log1 libnfnetlink-dev libnfnetlink0
# -------------------------------------------------------------
For Rust support: #对于 Rust 支持:
apt-get install rustc cargo
cargo install --force --debug --version 0.14.1 cbindgen
注意: 关于 Json 的库 ,有一个安装不上(至少我Ubuntu是这么说的)
但是不安装,实际测试也不影响,,所以json库说安不上 不要紧张,不影响大局
安装suricta
官网给出了基础安装步骤,步骤如下
tar xzvf suricata-6.0.0.tar.gz cd suricata-6.0.0 ./configure make make install
--- 大体流程 ---
构建makefile文件,可以在构建时添加一些配置选项
根据构建好的Makefile 进行编译,编译到当前的目录中
make install 就是把编译好的文件,部署到系统当中(也可以不部署,直接在make的目录中使用)****install完 清理的话很麻烦,,还不一定能弄干净
--- 注意事项 ---
** 一定要给虚拟机拍个快照!!!很重要!!!**
./configure 构建时,需要添加一些配置选项,否则默认suricata 就会安装部署到 /usr/local/ 目录下
./configure --disable-gccmarch-native --prefix=/usr/ --sysconfdir=/etc --localstatedir=/var
##上面的是最基础的命令,还可以加很多,可以使用 ./configure --help 来查看
## 解释
--disable-gccmarch-native #这个是为了让他能在虚拟机里运行
--prefix=/usr/ #二进制文件 存放的位置 (就是可执行文件)
--sysconfdir=/etc #配置文件 存放的位置 (规则文件啊,yaml文件啊)
--localstatedir=/var #日志文件,或生成文件 存放的位置
(如果有哪些东西没安装,这一步会报错,根据错误提示操作即可,这块我没出错)
-------------------------------------------------------------------------------------
make #开始编译
sudo make install #编译完的复制到Ubuntu系统中 可用 可不用
sudo ldconfig
#(创建程序存放的目录)
sudo mkdir /var/log/suricata
sudo mkdir /etc/suricata/
# (./ 为 源码主目录)
cp ./etc/classification.config /etc/suricata/
cp ./etc/reference.config /etc/suricata/
cp ./suricata.yaml /etc/suricata/
cp ./threshold.config /etc/suricata/
# (修改 /etc 目录下的 yaml 文件)
vi /etc/suricata/suricata.yaml
注:不同版本的suricata,yaml文件对应的 行数 可能存在区别
修改 规则存放目录 (default-rule-path)
修改****规则启用文件名(rule-files)
在 /etc/suricata/rule/目录下,添加** test.rules **文件,修改文件内容(内容如下)
运行
suricata -c /etc/suricata/suricata.yaml -i eth2
-c 后面是 yaml 文件的位置,
-i 后面对应的是 网卡端口(ifconfig 出来的那个)
ctrl + c 结束
运行成功
查看日志文件
日志文件所在目录为** /var/log/suricata**
后记
他还有一些自带的工具,默认 make install 后可以直接在任意目录运行
suricatasc
suricatactl
版权归原作者 细雨青峦 所有, 如有侵权,请联系我们删除。