Prelude framework

Prelude je asi jeden z nejlepších IDS systémů. Neumí to, co umí Snort, OSSEC, Nessus a další, ale dělá vrstvu pro správu, framework. Je schopný jako své zdroje používat specializované aplikace jako jsou ty výše uvedené, poskytuje rozhraní pro doprogramování vlastních. Ve výsledku poskytuje výborný nástroj, pomocí kterého lze trochu řídit správu bezpečnosti.
Tento článek si neklade za cíl vytvořit úplnou kuchařku pro popis jak nastavit Prelude a další software, má za úkol pomoci pouze s úvodní konfigurací. Člověk ochotný pustit se do bezpečnosti by měl umět anglicky natolik, aby byl schopen pochopit co je psáno v manuálech. Nejprve je nutné pochopit alespoň architekturu systému.

Zde je kompletní popis architektury.
Zde jsou stránky s dokumentací.
Zde je postup pro instalaci, který jde do podstatně větších detailů.
Prelude si mezi jednotlivými senzory a management agenty vyměňuje data ve formátu Intrusion Detection Message Exchange Format, který je možné použít i ke komunikaci vlastních senzorů. Na stránkách dokumentace Prelude je i ukázkový kód, který je možné pro tuto konstrukci využít.



Instalace Prelude je poněkud rozsáhlejší než u předchozích software. Nejprve je potřeba nainstalovat základní software:
portinstall libprelude libpreludedb prelude-lml prelude-manager

Pokud již je nainstalován Snort, Nessus, OSSEC nebo jiné nástroje, které jsou schopny být zdrojem dat pro prelude, je nutné tyto aplikace překonfigurovat a znovu nainstalovat. Změna konfigurace většinou znamená pouze povolení "prelude framework". V adresáři zvoleného portu je nutné provést následující úkon:
make config
portupgrade -f package




Konfigurace Prelude je také poněkud náročnější. Nejprve je potřeba vytvořit "konfigurační server". Jeho vstupním požadavkem je existence záznamů o použitých uživatelích a skupinách v souborech /etc/groups a /etc/passwd. Obsah uvedených souborů pak může vypadat například takto:
.......
prelude:*:1010:
ossec:*:1011:
snort:*:1012:

.......
prelude:*:1010:1010:Prelude User:/usr/local/etc/prelude:/sbin/nologin
ossec:*:10110:1011:OSSEC:/usr/local/ossec-hids:/sbin/nologin
ossecm:*:10111:1011:OSSEC monitor:/usr/local/ossec-hids:/sbin/nologin
ossecr:*:10112:1011:OSSEC remote:/usr/local/ossec-hids:/sbin/nologin
snort:*:1012:1012:Snort User:/usr/local/etc/snort:/sbin/nologin

Na jiné logické konzoli, buď pomocí putty, screenu nebo přepnutím se na jiný terminál provedeme následující příkaz:
prelude-adduser registration-server prelude-manager --passwd=prelude --keepalive --no-confirm

Po spuštení je potřeba stisknou jednou nebo dvakrát klávesu [enter], aby došlo k vygenerování Diffie-Helmann klíče, pak se přepnout na jinou konzoli a spustit následující příkazy:
prelude-admin register "prelude-manager" "idmef:w" 192.168.1.1 --uid prelude --gid prelude --passwd=prelude
prelude-admin register "prelude" "idmef:w" 192.168.1.1 --uid prelude --gid prelude --passwd=prelude
prelude-admin register "prelude-lml" "idmef:w" 192.168.1.1 --uid prelude --gid prelude --passwd=prelude
prelude-admin register "snort" "idmef:w" 192.168.1.1 --uid snort --gid snort --passwd=prelude
prelude-admin register "ossec-hids" "idmef:w" 192.168.1.1 --uid ossec --gid ossec --passwd=prelude


Tím jsou vytvořeni základní uživatelé systému a je možné ukončit příkaz spuštěný na druhém terminálu. Následně je nutné upravit soubor /etc/rc.conf aby obsahoval tyto řádky:
prelude_lml_enable="YES"
prelude_manager_enable="YES"

Posledním úkolem před spuštěním je základní konfigurace. Soubory jsou uloženy v adresářích /usr/local/etc/prelude/default/*.conf, /usr/local/etc/prelude-lml/*.conf a /usr/local/etc/prelude-manager/*.conf. Jedná se zde hlavně o konfigurace IP adres a přístupu k databázi, např. MySQL.

Po této konfiguraci je možné spustit základ Prelude pomocí:
/usr/local/etc/rc.d/prelude-lml
/usr/local/etc/rc.d/prelude-manager



Prelude a MySQL. Pro konfiguraci je potřeba nejprve vytvořit odpovídající databázi a přidělit práva zvolenému uživateli: CREATE database prelude;
GRANT ALL PRIVILEGES ON prelude.* TO prelude@'localhost' IDENTIFIED BY 'password';


a následně naimportovat databázi: mysql -u prelude prelude -p < /usr/local/share/libpreludedb/classic/mysql.sql

Poslední co zbývá je konfigurace Prelude, aby byl schopen vytvořenou databázi využívat. Změny se provádí v souboru /usr/local/etc/prelude-manager/prelude-manager.conf v sekci [db]. Zde je nutné mít následující záznamy:
[db]
type = mysql
host = 127.0.0.1
port = 3306
name = prelude
user = prelude
password = password




Pro usnadnění monitorování Prelude slouží nástroj PreWikka. Aktuální verzi je možné stáhnout na www.prelude-ids.org v sekci Download nebo například:
cd /root
wget http://www.prelude-ids.org/download/releases/prewikka-0.9.13.tar.gz
tar -zxvf prewikka-0.9.13.tar.gz

Poté je nutné upravit soubor prewika/database/mysql.sql, kde je potřeba vložit řádky:
CREATE prewikka
USE prewikka

a následně soubor naimportovat do MySQL:
cat prewika/database/mysql.sql | mysql -u root -

Jako poslední část konfigurace prewikka je nutné soubory přesunout na zvolené umístění, upravit v něm soubor conf/prewikka.conf a nakonfigurovat Apache, například:
<VirtualHost *>
   <Location />
      SetHandler mod_python
      PythonHandler prewikka.ModPythonHandler
      PythonOption PrewikkaConfig /usr/local/www/conf/prewikka.conf
   </Location>
   <Location /prewikka>
      SetHandler None
   </Location>
   Alias /prewikka /usr/local/www/prewikka/htdocs
   Alias /htdocs /usr/local/www/prewikka/htdocs
</VirtualHost>




Domovská stránka projektu http://www.prelude-ids.org

Powered by Drupal - Design by artinet