Snort не отправляет файл журнала оповещений на сервер syslog?
Я настроен на три виртуальные машины под управлением Ubuntu - сервер, клиент и шлюз. Мне поручено настроить Snort на шлюзе для отслеживания "атак" с клиента на сервер. Предполагается, что Snort отправляет файлы журнала на сервер rsyslog, который я настроил на Сервере. У меня проблемы с получением этих журналов для отправки.
В файле snort.conf я установил:
output alert_syslog: LOG_AUTH LOG_ALERT
Я сбросил свои iptables и открыл все для целей тестирования (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
И отправив эхо-запрос на сервер с клиента (у меня есть правило Snort для захвата ICMP), на шлюзе создается файл журнала в /var/log/snort/snort.log.xxxxxxxxxx. Ничего не появляется на сервере, хотя. При просмотре пакетов на Wireshark я получаю два сообщения Syslog при запуске Snort и еще два при выходе (^C). AUTHPRIV.INFO просто говорит "сеанс открыт для пользователя root" и "сеанс закрыт для пользователя root":
Для протокола, я пытался следовать этому уроку здесь:
У кого-нибудь есть идеи, что происходит?
Спасибо за любой совет.
2 ответа
Я бы сказал, что если сообщения syslog об открытии и закрытии сессий проходят, то rsyslog, вероятно, выполняет свою работу с обоих концов (но подтвердите это, отправив syslog на шлюз, используя logger
). Кроме того, тот факт, что файл журнала создается на шлюзе, указывает на то, что сообщения журнала обрабатываются на шлюзе неправильно, а не позднее в процессе цепочки.
Я хотел бы убедиться, что snort на самом деле отправляет UDP в системный журнал. Имеются ли ожидаемые пакеты на порту 514, предположительно на интерфейсе обратной связи шлюза?
Похоже, вы могли бы просто обойти локальный системный журнал и перейти непосредственно к хосту сервера:
выходной файл alert_syslog: host=192.168.50.5:514, LOG_AUTH LOG_ALERT
Если это не подходит, что произойдет, если вы явно отправите вывод snort на localhost:514? Или к другому IP на этом хосте.
Существуют ли проблемы с брандмауэром, которые могут блокировать пакеты к порту 514 на шлюзе?
Вы перезапустили snort, чтобы подобрать новую конфигурацию? Это чтение файла конфигурации, как вы думаете? (Попробуйте указать это явно с -c
и / или подтверждение того, что это часть командной строки, которую вы видите с ps
).
(В какой-то момент вы захотите ограничить то, что подается в виде сообщений фырканья, но это не то, на чем вы сейчас застряли).
Обратите внимание, что в Ubuntu Snort по умолчанию используется LOG_AUTH, поэтому вам нужно tail -f /var/log/auth.log
скорее, чем /var/log/syslog
, Просто записка от кого-то, кто застрял на этом какое-то время:)