Проблема с правилами Snort для отслеживания активности серверов IRC

alert tcp $HOME_NET any -> $EXTERNAL_NET any (сообщение:"COMMUNITY BOT IRC-трафик обнаружен при изменении ник"; поток: to_server, установлено; содержимое:"NICK "; nocase; смещение: 0; глубина: 5; flowbits: установить, community_is_proto_irc; flowbits: noalert; classtype: misc-activity; sid: 100000240; rev: 3;)

alert tcp $ EXTERNAL_NET any -> $ HOME_NET any (сообщение: "COMMUNITY BOT Обнаружен внутренний IRC-сервер"; поток: to_server, установлен; flowbits:isset,community_is_proto_irc; classtype: нарушение политики; sid: 100000241; rev: 2;)

alert tcp $HOME_NET any -> $EXTERNAL_NET any (сообщение: "ЧАТ IRC-сообщение от внутреннего бота"; поток: установлен; flowbits:isset,community_is_proto_irc; содержимое:"PRIVMSG "; nocase; класс классификации: нарушение политики; sid:1463;)

Вышеуказанные правила были написаны Дэвидом Бьянко для отслеживания активности ботов / серверов IRC на любом порте IRC. Тем не менее, вышеуказанные правила работают нормально, но у меня есть проблема с ними. Моя проблема возникает, когда несколько серверов IRC (некоторые из них работают на 7000, а другие - на 6667) работают в сети, некоторые из них будут выполнять условия правил, а Snort будет генерировать предупреждения, а некоторые - (или даже один). из них) не будет достигать этих условий и в результате Snort не будет генерировать никаких предупреждений, связанных с определенным набором. Я думаю, что есть некое несоответствие. Есть предложения по этому вопросу? Я работаю над Snort 2.8.

2 ответа

Решение

Слава Богу, проблема решена сейчас.... Причиной проблемы был конфликт между многими правилами, которые пытались запустить одновременно для одной и той же активности (PRIVMSG), поэтому, когда я удалил эти правила, каждая мысль была просто штраф за вышеуказанные правила.

Эти правила IRC довольно стары и не будут (как вы видели) захватывать весь трафик IRC. Почти невозможно сказать, почему они не совпадают с сетевым захватом или трассировкой.

Первое правило устанавливает бит потока, основываясь на правиле, совпадающем с трафиком (основываясь на неинстивированном совпадении слова 'NICK' со смещением 0 на глубине 5), если первое правило не соответствует трафику, то оно выиграло ' t установите бит потока в "community_is_proto_irc". Вот старое объяснение о потоках - http://forums.snort.org/forums/rules/topics/flowbits.

Второе правило просто предупреждает о наличии бит потока (для трафика от внешнего к домашнему), в то время как третье правило более детально с соответствием контента (и поток трафика реверсируется).

Я бы порекомендовал получить pcap для несоответствующего трафика IRC и запустить его через Snort локально, чтобы увидеть, что пропущено, а затем соответствующим образом настроить ваши правила (snort -r test.pcap -c /etc/snort_test.conf) - http://manual.snort.org/node8.html.

НТН!

Другие вопросы по тегам