Ключевые слова:log, security, ids, (найти похожие документы)
From: Mark Silinio <silinio(at)mail.ru>
Date: Mon, 26 Mar 2006 14:31:37 +0000 (UTC)
Subject: Централизованный аудит логов с помощью Prelude-IDS
Оригинал: http://silinio.webhost.ru/prelude.html#3
В данной заметке рассказывается про установку сервера и клиентов
системы обнаружения вторжений(IDS - Intrusion Detection System)
Prelude-IDS для аудита логов серверов.
Установка необходимого ПО
Использовал дистрибутив Gentoo Linux, и были установлены следующие
программы(вместе с зависимостями разумеется):
Установка Prewikka - frontend'а к БД Prelude
Установка MySQL
В базу MySQL Prelude-Manager будет заносить информацию с
сенсоров(клиентов) Prelude
Ставим:
# emerge =dev-db/mysql-4.1.15
Инициализация баз MySQL(при первичной установке):
# /usr/bin/mysql_install_db
Запуск MySQL:
# /etc/init.d/mysql start
Установка пароля для root-пользователя MySQL:
/usr/bin/mysqladmin -u root password 'new-password'
чтобы MySQL-сервер запускался при загрузке системы, выполним:
# rc-update add mysqld default
Так, с MySQL пока всё...
Настройка Prelude для работы с MySQL
Далее создаётся база prelude, правом на работу с которой обладает
пользователь prelude
USE флаги для компиляции с MySQL:
# export USE="mysql -postgres"
Установка того что нада(с зависимостями разумеется):
# emerge libpreludedb prelude-manager
Создание в MySQL базы данных Prelude и делегирование прав на неё
пользователю prelude:
# mysql -p -u root:
<вводим пароль root-пользователя mysql>
mysql> CREATE DATABASE prelude;
mysql> GRANT ALL PRIVILEGES ON prelude.* TO prelude@localhost
-> IDENTIFIED BY 'ПАРОЛЬ_prelude';
Загружаем схему базы prelude(нужно будет ввести пароль prelude для
mysql):
$ mysql -u prelude prelude -p < /usr/share/libpreludedb/classic/mysql.sql
Правим /etc/prelude-manager/prelude-manager.conf:
include = /etc/prelude/default/global.conf
listen = 0.0.0.0 # указываем слушать на всех интерфейсах
[db]
type = mysql
host = localhost
port = 3306
name = prelude
user = prelude
pass = ПАРОЛЬ_prelude
[TextMod]
logfile = /var/log/prelude.log
Настройка клиента Prelude - Prelude-LML
Prelude-LML периодически просматривает лог-файлы указанные в
конфигурации для поиска событий определённых в pcre.rules
Ставим:
# emerge prelude-lml
Указываем IP-адрес сервера prelude в /etc/prelude/default/client.conf:
server-addr = 192.168.1.7
Настраиваем опциональные параметры prelude-клиента в
/etc/prelude/default/global.conf:
analyzer-name = prelude-lml
node-name = some-server.company.com
node-location = main office
node-category = dns
[Node-Address]
address = 192.168.0.7
netmask = 255.255.255.0
category = ipv4-addr
Настраиваем собственно Prelude-LML в
/etc/prelude-lml/prelude-lml.conf:
# указываем за какими файлами вести наблюдение:
file = /var/log/messages
file = /var/log/auth.log
file = /var/log/clamav/clamd.log
file = /var/log/apache/access.log
Если нужно наблюдение только за событиями определённого типа, то
правьте файл /etc/prelude-lml/ruleset/pcre.rules
Регистрация Prelude-сенсора (клиента)
В процессе регистрации создаётся SSL сертификат для связи prelude
сенсора с prelude-manager
Следующим образом,- на сервере выполняем:
# prelude-adduser registration-server prelude-manager
На клиенте выполняем:
# prelude-adduser register prelude-lml "idmef:w admin:r" prelude-server.company.com
На клиенте набираем one-shot password что появился на серверной
консоли(можно просто скопировать его), после чего
подтверждаем("Approve registration [y/n]:") регистрацию на сервере.
Должно появиться сообщение типа:
Registering analyzer "3644560054902044" with permission "idmef:w admin:r".
- Generating signed certificate for client.
- Sending server certificate to client.
- 192.168.0.7:34918 successfully registered.
Всё, теперь можно добавить prelude-lml в запуск по умолчанию:
# rc-update add prelude-lml default
Установка Prewikka - frontend'а к БД Prelude
Prewikka используется для удобного просмотра БД Prelude через
web-интерфейс
Ставим:
# emerge prewikka
Создание в MySQL базы данных для Prewikka и делегирование прав на неё
пользователю prewikka:
# mysql -p -u root:
<вводим пароль root-пользователя mysql>
mysql> CREATE DATABASE prewikka;
mysql> GRANT ALL PRIVILEGES ON prewikka.* TO prewikka@localhost
-> IDENTIFIED BY 'ПАРОЛЬ_prewikka';
Загружаем схему базы prewikka(нужно будет ввести пароль prewikka для
mysql):
$ mysql -u prewikka prewikka -p < /usr/share/prewikka/database/mysql.sql
Правим конфигурацию prewikka в /etc/prewikka/prewikka.conf:
[interface]
software: Prewikka
place: company ltd.
title: Prelude management
[idmef_database]
type: mysql
host: localhost
user: prelude
pass: ПАРОЛЬ_prelude
name: prelude
[database]
type: mysql
host: localhost
user: prewikka
pass: ПАРОЛЬ_prewikka
name: prewikka
[log stderr]
[auth loginpassword]
expiration: 60
Создаём init-скрипт для prewikka,- /etc/init.d/prewikka:
#!/sbin/runscript
depend() {
need net
use mysql
}
start() {
ebegin "Starting Prewikka http daemon"
/usr/bin/prewikka-httpd 2>dev/null &
eend
}
stop() {
ebegin "Stopping Prewikka http daemon"
killall prewikka-httpd
eend
}
Делаем его исполняемым:
# chmod +x /etc/init.d/prewikka
И добавляем в уровень запуска по умолчанию:
# rc-update add prewikka default
Заходите на веб-интерфейс Prewikka,- логин/пароль admin/admin...