我对 snort 输出感到困惑。应该在哪里指定输出文件?
或者,更具体地说,我有两个正在写入的文件(alert 和 snort.log.xxx),但只指定了一个输出文件(snort.log.xx)并且只期望一个输出文件(snort.log.xx)。
警报文件来自哪里?
顺便说一句,barnyard2 目前没有运行。
提前致谢!
细节:
正在写入的文件是:
$ ls -la /var/snort/eth4
drwxrwxr-x+ 3 snort snort 4096 Oct 11 10:08 .
drwxr-xr-x. 3 snort snort 4096 Oct 11 10:03 ..
-rw-rw-r--+ 1 snort snort 12535192 Oct 11 10:22 alert <-
-rw-rw-r--+ 1 snort snort 1345798 Oct 9 03:28 alert-20111009.gz
-rw-rw-r--+ 1 snort snort 1488789 Oct 10 03:36 alert-20111010.gz
-rw-rw-r--+ 1 snort snort 1195682 Oct 11 03:40 alert-20111011.gz
drwxrwxr-x+ 2 snort snort 4096 Oct 11 03:40 archive
-rw-rw-r--+ 1 snort snort 357148 Oct 11 10:22 snort.log.1318356523 <-
但是我的 /etc/snort/snort.conf 只有一个“输出”配置指令:
output unified2: filename snort.log, limit 128
由于这是 redhat,必须同时使用 /etc/sysconfig/snort 和 /etc/init.d/snortd 来确定目标“-l”在哪里,我认为是:
/var/snort/eth4
这是 ps ax | grep snort
6851 ? Ssl 0:51 /usr/sbin/snort -A fast -b -d -D -I -i eth4 -u snort -g snort -c /etc/snort/snort.conf -l /var/snort/eth4
检查这两个文件,警报看起来像是异常的 ascii 列表,而 snort.log.xxx 看起来像是二进制文件,大概是数据流捕获?
那么警报文件来自哪里?
答案1
Snort 应用程序具有非常强大的日志子系统。通过启用unified
日志格式,您应该会看到两种类型的日志:
- 警报文件 - 包含有关事件的高级信息
- 日志文件-包含更详细的信息,包括数据包转储
这两个文件都以二进制格式写入磁盘。虽然这让分析师更难查看,但应用程序的速度却明显更快。有关更多信息(虽然不多),请参阅 Snort 文档统一输出插件值得一读。
如果你想要触发警报的原始文本版本,我建议系统日志输出类型。这是最灵活的类型之一,因为它允许您在主机而不是应用程序上管理日志记录。此外,由于您已-d
切换命令行开关,因此触发警报的每个数据包的捕获都将以 pcap 格式保存。这仍可为您提供用于误报分析的有用信息。
答案2
当捕获的数据包与规则匹配时,该alert
文件会记录警报。它来自...-A fast
您在启动 Snort 时指定的地址。