提醒tcp $ HOME_NET any - > $ EXTERNAL_NET any(msg:“Nick Change”检测到的COMMUNITY BOT IRC流量“;流程:to_server,已建立;内容:”NICK“; nocase;偏移量:0;深度:5; flowbits:set,community_is_proto_irc; flowbits:noalert; classtype :misc-activity; sid:100000240; rev:3;)
提醒tcp $ EXTERNAL_NET any - > $ HOME_NET any(msg:“COMMUNITY BOT检测到内部IRC服务器”;流程:to_server,已建立; flowbits:isset,community_is_proto_irc; classtype:违反政策; sid:100000241; rev:2;)
提醒tcp $ HOME_NET any - > $ EXTERNAL_NET any(msg:“来自内部机器人的CHAT IRC消息”;流程:已建立; flowbits:isset,community_is_proto_irc;内容:“PRIVMSG”; nocase; classtype:策略违规; sid:1463;)
以上规则由David Bianco编写,用于跟踪任何IRC端口上的IRC bot / server活动。但是,上述规则运行正常,但我遇到了问题。当多个IRC服务器(其中一些工作在7000上,另一个在6667上工作)在网络上运行时,我的问题就发生了,其中一些将实现规则的条件,Snort将生成警报及其中一些(甚至一个)它们不会达到这些条件,因此Snort不会产生任何与定义的集相关的警报。我认为有一种不一致。关于这个问题的任何建议?我正在研究Snort 2.8。
答案 0 :(得分:3)
这些IRC规则很老,不会(正如您所见)捕获所有IRC流量。几乎不可能说出为什么它们与网络捕获或跟踪不匹配。
第一条规则是根据匹配流量的规则设置一个flowbit(基于来自偏移0的深度为5的单词'NICK'的不匹配匹配),如果第一条规则与流量不匹配则它不会将flowbit设置为“community_is_proto_irc”。这是关于flowbits的旧解释 - http://forums.snort.org/forums/rules/topics/flowbits。
第二条规则只是警告flowbit的存在(对于从外部到家庭的流量),而第三条规则更精细,内容匹配(并且交通流量相反)。
我建议为不匹配的IRC流量获取一个pcap并通过Snort本地触发它以查看错过的内容,然后相应地定制规则(snort -r test.pcap -c /etc/snort_test.conf) - http://manual.snort.org/node8.html。
HTH!
答案 1 :(得分:0)
感谢上帝,问题现在得到解决......问题的原因是许多规则之间存在冲突,这些规则试图同时触发相同的活动(PRIVMSG),所以当我删除这些规则时,每个认为上述规则就好了。