Безопасность · 5 min read · Oct 16, 2025

Обнаружение вторжений: Snort (IDS), OSSEC (HbIDS) и Prelude (HIDS) на Ubuntu Gutsy Gibbon

Обнаружение вторжений: Snort (IDS), OSSEC (HbIDS) и Prelude (HIDS) на Ubuntu Gutsy Gibbon

Все знают эту проблему: у вас установлены инструменты IDS, и у каждого инструмента есть свой интерфейс.

Prelude позволит записывать все события в базу данных prelude и консультироваться с помощью одного интерфейса (prewikka). Этот гид опишет, как установить и настроить различные инструменты, которые составят полное решение.

Этот гид основан на фрагментах и кусочках, которые я нашел, чтобы решить некоторые проблемы, частях из руководств и моем собственном опыте установки полного решения.

Для получения дополнительной информации о snort посетите: www.snort.org

Для получения дополнительной информации о ossec посетите: www.ossec.net

Для получения дополнительной информации о prelude посетите: www.prelude-ids.org

Предварительные требования:

Давайте просто предположим, что вы следовали руководству The Perfect Server - Ubuntu Gutsy Gibbon (Ubuntu 7.10). Если нет, следуйте этому руководству и установите только те части, которые у вас не установлены в системе.

Следующие пакеты полезны, поэтому, пожалуйста, проверьте, что они установлены правильно:

apt-get install ntpdate
apt-get install dbconfig-common

Установка и настройка Prelude

Обычно нам нужно было бы скомпилировать и установить libprelude, libpreludedb, а затем создать базы данных. К счастью, пакеты предоставляются репозиториями Ubuntu.

Менеджер Prelude

apt-get install prelude-manager
  • Используя настройки TLS по умолчанию из /etc/prelude/default/tls.conf:

  • Сгенерированный размер ключа: 1024 бита.

  • Срок действия сертификата авторитета: неограниченный.

  • Срок действия сгенерированного сертификата: неограниченный.

  • Создание анализатора prelude-manager.

  • Создание /etc/prelude/profile/prelude-manager…

  • Выделен идентификатор для prelude-manager: 4232957740008155.

  • Генерация RSA закрытого ключа… Это может занять очень много времени.
    [Увеличение активности системы ускорит процесс.]

  • Генерация RSA закрытого ключа размером 1024 бита…

Во время установки менеджер создаст профиль для пользователя prelude. Это может занять (очень) много времени, так как GnuTLS пытается получить доступ к /dev/random вместо /dev/urandom (по соображениям безопасности). Это может измениться в будущем (возможно, с использованием опции для более быстрой генерации, но криптографически менее безопасной).

dbconfig затем спросит вас, хотите ли вы, чтобы он автоматически настроил базу данных. Если вы не хотите, просто скажите нет и настройте все вручную (sql-скрипты находятся в каталоге /usr/share/libpreludedb/). Предположим, что ответ - да.

Примечание: количество вопросов может измениться в зависимости отverbosity debconf (устанавливается с помощью dpkg-reconfigure debconf) и параметров dbconfig в файле /etc/dbconfig-common/config.

настроить базу данных с dbconfig-common: да  
тип базы данных:

Установите тип базы данных, которую вы ранее установили. В данном случае mysql.

Пароль администратора базы данных: ******

dbconfig-common спросит пароль для пользователя ‘prelude’. Если вы не введете ничего (просто нажав Enter), он сгенерирует случайный. Не беспокойтесь, файл конфигурации будет обновлен автоматически.

dbconfig-common: запись конфигурации в /etc/dbconfig-common/prelude-manager.conf  
  
Создание файла конфигурации /etc/dbconfig-common/prelude-manager.conf с новой версией  
предоставление доступа к базе данных prelude для prelude@localhost: успешно.  
проверка доступа для prelude@localhost: успешно.  
создание базы данных prelude: успешно.  
проверка существования базы данных prelude: успешно.  
наполнение базы данных через sql...  готово.  
dbconfig-common: сброс административного пароля  
Запуск Prelude Manager: prelude-manager.

Пакет Ubunty автоматически создает пользователя и базу данных для prelude. Если вы хотите изменить пароль, сделайте это сначала в mysql, а затем в /etc/prelude-manager/prelude-manager.conf.

Prelude-Manager теперь должен работать:

ps auxw | grep manager
prelude 28530  0.0  0.1  59384  4480 ?        Ssl  13:49   0:00 /usr/sbin/prelude-manager

Первая часть завершена, у вас теперь есть менеджер, работающий.

Адрес прослушивания:

Адрес прослушивания по умолчанию - localhost (127.0.0.1). Это означает, что вам нужно изменить его, чтобы добавить датчики на разные хосты, чтобы агенты могли достичь prelude-manager.

Отредактируйте /etc/prelude-manager/prelude-manager.conf:

listen = xxx.xxx.xxx.xxx

Перезапустите сервер и проверьте адрес (если вы изменили адрес):

# /etc/init.d/prelude-manager stop
   Остановка Prelude Manager: prelude-manager.
# /etc/init.d/prelude-manager start
Запуск Prelude Manager: prelude-manager.
# netstat -pantu | grep prelude
tcp        0      0 192.168.66.1:4690          0.0.0.0:*      LISTEN     30544/prelude-manager

Prelude-LML

Вам нужно установить prelude-lml на каждый хост, который вы хотите мониторить. Prelude-LML будет анализировать ваши журналы и сообщать события менеджерам.

# apt-get install prelude-lml


Запуск Prelude LML: prelude-lml.

Перед тем как его использовать, необходимо сделать две вещи:

  • Адрес менеджера должен быть настроен на lml
  • Менеджер не будет доверять датчикам, пока они не будут зарегистрированы

Адрес менеджера

Если вы изменили адрес, на котором слушает менеджер, вам нужно изменить адрес в конфигурации клиента на каждой машине, на которой вы устанавливаете prelude-lml.

Адрес менеджера хранится в файле /etc/prelude/default/client.conf:

[prelude]  
server-addr = 127.0.0.1  

Регистрация датчика

Регистрация датчика - это четырехэтапный процесс, который требует выполнения команд как на датчике, так и на менеджере:

На клиенте LML выполните команду регистрации:

prelude-adduser register prelude-lml "idmef:w"  --uid 0 --gid 0

Совет: если вы не помните команду, просто выполните prelude-lml. Поскольку он не зарегистрирован, он потерпит неудачу, но достаточно умен, чтобы отобразить справку:

# prelude-lml   
- Подписка на плагин pcre[default]  
- плагин pcre загружен 394 правила.  
- Мониторинг /var/log/messages через pcre[default]  
* ПРЕДУПРЕЖДЕНИЕ: /var/log/everything/current не существует.  
prelude-client: ошибка при запуске prelude-client: не удалось открыть '/etc/prelude/profile/prelude-lml/analyzerid' для чтения  
  
Профиль 'prelude-lml' не существует. Чтобы создать его, пожалуйста, выполните:  
prelude-adduser register prelude-lml "idmef:w"  --uid 0 --gid 0.

LML должен быть зарегистрирован с uid и gid 0, так как процесс будет выполняться от имени root (чтобы иметь возможность анализировать журналы).

LML затем запросит одноразовый пароль (OTP), который будет предоставлен менеджером:

Введите одноразовый пароль, предоставленный программой "prelude-adduser":  
- введите одноразовый пароль регистрации:

На менеджере выполните следующее:

prelude-adduser registration-server prelude-manager

  • Запуск сервера регистрации.
  • сгенерированный одноразовый пароль “dummypass”.

Введите пароль в приглашение LML:

  • введите одноразовый пароль регистрации:
  • подтвердите одноразовый пароль регистрации:
  • подключение к серверу регистрации (127.0.0.1:5553)…
  • Анонимная аутентификация на сервере регистрации успешна.
  • Отправка запроса на сертификат.

LML теперь ждет, когда менеджер подпишет сертификат.

На менеджере подтвердите запрос на подпись сертификата:

  • Анонимная аутентификация одноразового пароля успешна.
  • Ожидание запроса сертификата клиента.
  • Анализатор с ID=”3559090256170900” запрашивает регистрацию с разрешением=”idmef:w”.
    Одобрить регистрацию [y/n]: y
    Сертификат сгенерирован и отправлен клиенту:
  • Регистрация анализатора “3559090256170900” с разрешением “idmef:w”.
  • Генерация подписанного сертификата для клиента.
  • Отправка сертификата сервера клиенту.
  • ::ffff:127.0.0.1:47054 успешно зарегистрирован.

На клиенте вы увидите:

Регистрация LML успешна

  • Получение подписанного сертификата.
  • Получение сертификата CA.
  • регистрация prelude-lml на 127.0.0.1 успешна.

Теперь у менеджера и датчика есть доверительные отношения и они могут отправлять сообщения друг другу.

Этот процесс занимает некоторое время, но он повышает безопасность, и связь между датчиком и менеджером зашифрована.

Наконец, датчик LML также должен быть запущен:

/etc/init.d/prelude-lml start

Запуск Prelude LML: prelude-lml.
ps auxw | grep lml
root 1946 0.3 0.0 20856 3424 ? Ss 14:35 0:00 /usr/bin/prelude-lml -d -q -P /var/run/prelude-lml.pid

Это завершает первую часть.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.