Безопасность · 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 managerprelude 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 preludetcp 0 0 192.168.66.1:4690 0.0.0.0:* LISTEN 30544/prelude-managerPrelude-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
Это завершает первую часть.
Get new posts in your inbox
No spam. Unsubscribe anytime.