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