Ubuntu 21.04 Python 3 pip编译suricat 6.0.3 安装依赖
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更新或下载cbindgen
cargo install --force cbindgen下载源码包(不是github上的)
- 地址:https://openinfosecfoundation.org/download/ 我使用的是6.0.3
- 解压
- 进入suricata目录
- 编译并且安装
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var make sudo make install sudo ldconfig安装suricata-update (需要单独安装)
官方解释:https://suricata.readthedocs.io/en/suricata-5.0.2/rule-management/suricata-update.html#
- 安装到自己的目录
pip install --user --upgrade suricata-update
- 软链到/usr/bin,否则sudo命令执行找不到
sudo ln -s ~/.local/bin/suricata-update /usr/bin/suricata-update
- 执行sudo suricata-update,规则文件在/var/lib/suricata/rules下
-
sudo suricata -i ens33
-
日志目录/var/log/suricata/
-
配置文件 /etc/suricata/suricata.yaml
- h 帮助文档
- V 版本号
- -c
配置文件的路径 - -T 测试配置文件
- -v 日志级别 -v: INFO -vv: PERF -vvv: ConFIG -vvvv: DEBUG
- -r
在pcap脱机模式(重播模式)下运行,以从pcap文件读取文件。如果 指定目录,则该目录中的所有文件将按照修改后的时间顺序进行处理 - –pcap-file-continuous 与-r选项一起使用,指示该模式应保持活动状态直到被中断。这对于在目录中添加新文件而不重置文件之间的流状态很有用
- –pcap-file-recursive 当提供的路径是目录时,与-r选项一起使用。此选项允许递归遍历子目录,最大深度为255。此选项不能与–pcap-file-continuous组合使用。
- –pcap-file-delete 与-r选项一起使用,指示在处理pcap文件后,该模式应删除pcap文件。这对于pcap-file-continuous很有用,可以将文件连续地馈送到目录中,并在完成后对其进行清理。
- -i 在-i选项之后,您可以输入要用于嗅探数据包的接口卡。此选项将尝试使用最佳的捕获方法。可以多次用于嗅探来自多个接口的数据包
- –pcap[=] 在PCAP模式下运行。如果未提供任何设备,则将使用配置文件的pcap部分中提供的接口
- –af-packet[=] 在Linux上使用AF_PACKET启用数据包捕获。如果未提供任何设备,则使用yaml中af-packet部分中的设备列表。
- -q 内联运行提供的NFQUEUE队列ID。可以提供多次。
- -s
使用-s选项,您可以设置带有签名的文件,该文件将与yaml中设置的规则一起加载。 - -S
使用-S选项,您可以设置带有签名的文件,无论yaml中设置了什么规则,该文件都将单独加载。 - -l 使用-l选项,可以设置默认的日志目录。如果您已经在yaml中设置了default-log-dir,那么如果您使用-l选项,Suricata将不会使用它。
- -D 后台运行
- –runmode 指定运行模式 workers、autofp、single 区别 https://suricata.readthedocs.io/en/latest/performance/runmodes.html
- -F 使用文件中的BPF筛选器
- -k [all|none] 全部校验和检查或者禁用校验和检查
- –user= 初始化后设置流程用户。覆盖配置文件的运行方式部分中提供的用户
- –group= 将进程组设置为初始化后的组。覆盖配置文件的运行方式部分中提供的组。
- –pidfile 将进程ID写入文件。覆盖配置文件中的pid-file选项,并在不作为守护程序运行时强制写入文件。
- –init-errors-fatal 加载签名遇到错误时,退出失败。
- –disable-detection 禁用检测引擎
- –dump-config 将从配置文件加载的配置转储到终端并退出。
- –disable-hashing 禁用对hash算法的支持
- –build-info 显示使用Suricata建造的构建信息
- –dump-features 转储Suricata模块提供的功能并退出。
- –list-app-layer-protos 列出所有受支持的应用程序层协议
- –list-keywords=[all|csv|] 列出所有支持的规则关键字
- –set = 设置配置值。用于覆盖基本配置参数。例如,要更改默认日志目录:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QJPfHpbQ-1634787423473)(50DA65FE151E4688B8B249EB7AE2FC8E)] - –reject-dev= 使用设备将RST / ICMP错误数据包发送拒绝关键字
- –engine-analysis 打印报告关于发动机不同部分分析及出口。
- –pcap-buffer-size= 设置PCAP缓冲区的大小
- –netmap[=] 在FreeBSD或Linux上使用NetMap启用数据包捕获。如果没有提供设备,则使用yaml中网络图部分的设备列表
- –pfring[=] 启用PF_RING数据包捕获。如果没有提供设备,将使用Suricata配置中的设备。
- –pfring-cluster-id 设置pf_ring群集ID。
- -d 使用IPFW转移模式运行内联
- –dag 启用数据包捕获DAG卡。如果捕获特定流,则可以使用像“DAG0:4”这样的设备名称选择流。可以提供此选项多次读取多个设备和/或流
- –napatech 使用Napatech Streams API启用数据包捕获。
- –simulate-ips 在非IPS模式下运行时模拟IPS模式。
- https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Basic_Setup
- https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Ubuntu_Installation
- https://suricata.readthedocs.io/en/suricata-6.0.3/rule-management/suricata-update.html



