我设置了三台运行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 。 只是从一个人卡住了这一段时间:)