snort学习笔记

Posted by wsxq2 on 2022-03-16
TAGS:  FROM_DOCXsnortIPS

本文最后一次编辑时间:2022-03-16 15:30:56 +0800

安装与配置

使用包管理工具

1
2
yum install snort
apt install snort

从源码安装

先编译daq再编译snort,遇错解错

我先是遇到了报错(./configure时):

1
2
3
   ERROR!  dnet header not found, go get it from
   http://code.google.com/p/libdnet/ or use the --with-dnet-*
   options, if you have it installed in an unusual place

提示dnet找不到,于是yum install libdnet-devel解决了

然后报错:

1
2
   ERROR!  daq_static library not found, go get it from
   http://www.snort.org/.

尝试使用yum解决失败,最后通过编译并安装daq的源码(prefix=/usr/local)解决了(按提示从官网下载)。

另可参见How to install Snort on Ubuntu - Tutorial - UpCloud,可能不会遇到那么多问题

配置

先是试图使用最简单的方法:直接给定防火墙上的某个rules文件(如/etc/ips/ips_rule/0_day.rules),以-c参数传入,结果发现:

1
2
3
Initializing rule chains...
ERROR: sid_uniq.txt.notfound.grepresult(1) Unknown ClassType: attempted-admin
Fatal Error, Quitting..

于是使用scp从防火墙上获取/etc/ips.conf和/etc/ips/和/etc/waf/,并尝试传入/etc/ips.conf给-c参数,结果发现:

1
2
ERROR: ips.conf(47) => Unable to open the IIS Unicode Map file './unicode.map'.
Fatal Error, Quitting..

于是再使用scp从防火墙上获取unicode.map文件,再传/etc/ips.cof给-c参数,结果发现:

1
2
ERROR: ips.conf(81) Unknown preprocessor: "ftp_telnet".
Fatal Error, Quitting..

修改配置文件ips.conf中的dynamicpreprocessor directory和dynamicengine即成功加载了,详情参见https://superuser.com/a/1153027,但是:

1
2
ERROR: Failed to lookup interface: no suitable device found. Please specify one with -i switch
Fatal Error, Quitting..
  1. 试图通过接口回放,但当前所有接口都在使用,会有无关流量干扰,于是找到了这个:packet - How to run a snort rule over pcap file - Information Security Stack Exchange

最后成功时使用的参数:

1
../src/snort -d  -l ./log -c ips.conf -r /mnt/c/Users/wsxq2/Documents/MY/work/appsec/ips/problem/false_negative/神探探针-江西电信特征库/pcap/sid/2010-3946~2009-0559.pcap

告警信息就在./log/alert中

命令行

文档

配置文件

参阅SNORT Users Manual 2.9.16

源码

遇到过的问题

TCP流重组?

参见README.stream5

offet vs depth?

flowbits?

README.flowbits

修订记录

修订时间 修订人 版本 说明
TODO wsxq2 1.0 初稿