Snort不发送警报日志文件到系统日志服务器?

我设置了三台运行Ubuntu的虚拟机 – 一台服务器,一台客户机和一台网关。 我负责在网关上设置Snort来监视从客户端到服务器的“攻击”。 Snort应该将日志文件发送到我在服务器上设置的rsyslog服务器。 我无法获得这些日志发送。

snort.conf文件中,我设置了:

output alert_syslog: LOG_AUTH LOG_ALERT 

我刷了我的iptables,并打开所有的testing目的(nmap显示514确实是打开的)。 我编辑了网关上的rsyslog.conf文件,并添加了:

 *.* @192.168.50.5 

在服务器上的rsyslog.conf文件中,我添加了:

 *.* /var/log/snort.log 

并在以下两个方面取消注释:

 $ModLoad imudp.so $UDPServerRun 514 

当我运行(eth2 =客户端)时:

 snort -A console -i eth2 -c /etc/snort/snort.conf 

并从客户端ping服务器(我有一个Snort规则捕获ICMP),日志文件被创build在/var/log/snort/snort.log.xxxxxxxxxx网关。 虽然没有显示在服务器上。 在Wireshark上观察数据包时,我启动Snort时收到两条Syslog消息,而当我退出时(^ C),还收到两条Syslog消息。 AUTHPRIV.INFO只是说“为root用户打开会话”和“为root用户closures会话”:

在这里输入图像说明

为了logging,我试图按照这个教程在这里:

http://books.google.com/books?id=TPXusCxyKXAC&pg=PA115&lpg=PA115&dq=log+local0+snort.conf&source=bl&ots=PeMZAPE7DF&sig=Q4R5rkbvDZjfwoCOGL7Gy-1gHho&hl=en&sa=X&ei=gYw_VL3iBcHjoAS0j4KQBw&ved=0CFUQ6AEwCQ#v=onepage&q&f=false

任何人有任何想法是怎么回事?

感谢您的任何build议。

我想说,如果有关会话打开和closures的系统日志消息正在通过,那么rsyslog大概是在两端做它的事情(但通过使用logger发送到网关系统日志确认它)。 此外,在网关上创build日志文件的事实表明日志消息在网关上处理不当,而不是在链处理中稍后。

我会看看确认snort实际上是发送UDP到系统日志。 你有没有在端口514预期的数据包,大概在网关的环回接口?

看起来你可以绕过本地系统日志,直接进入服务器主机:

输出alert_syslog:host = 192.168.50.5:514,LOG_AUTH LOG_ALERT

如果这没有吸引力,如果你显式发送snort输出到localhost:514会发生什么? 或者到该主机上的其他IP。

是否有防火墙问题,可能会阻止数据包到网关上的端口514?

你没有重新启动snort来获取新的configuration? 它正在读你认为是的configuration文件? (请尝试使用-c明确指定,并/或确认这是您使用ps看到的命令行的一部分)。

(在某些时候,你会想限制提交的snort信息,但这不是你目前所坚持的)。

请注意,默认情况下,在Ubuntu Snort日志中使用LOG_AUTH设施,因此您需要tail -f /var/log/auth.log而不是/var/log/syslog 。 只是从一个人卡住了这一段时间:)