OSSEC - Open Source Host-based Intrusion Detection System

Jedná se o systém umožňující spravovat kontrolní součty souborů a navíc příjemnou možnost konfigurovat analýzu logů systému a aplikací. Zpráva o pokusech o přihlášení, o pádech aplikací či o "testování" VPN spojení pak dorazí formou e-mailu, podobne jako informace o rozdílech CRC součtů či lokalizaci root kitů. Navíc má tento software obrovské plus. Jde integrovat spolu s dalšími aplikacemi do prostředí Prelude, takže reakce lze spojit s identifikacemi pocházejícími od dalších aplikací.
Další velkou výhodou je platformová nezávislost. Je tak možné sledovat i stroje na platformě Microsoft Windows. Samozřejmostí jsou *NIX a Linuxové servery.

1) Instalace je poměrně jednoduchou záležitostí. Ne tak uplně přesně to platí o konfiguraci reakcí na události. Vlastní instalaci systému je možné provést lokálně nebo v prostředí client-server. Osobně volím druhou variantu. Důvodem je možnost analýzy informací na jiném místě a spojení těchto činností například s pravidelným testováním pomocí Nessus. Dále při instalaci volím podporu prostředí Prelude, která mi zastřešuje celý systém.
portinstall ossec-hids-local - slouží pro lokální instalaci
portinstall ossec-hids-server - slouží pro instalaci na serveru
portinstall ossec-hids-client - slouží pro instalaci na straně klienta

2) Společná část konfigurace na straně klienta i serveru - pouze pro platformu FreeBSD. Ostatní platformy mohou mít konfiguraci odlišnou.
- v souboru /etc/rc/conf je nutné zapsat:
ossechids_enable="YES"

- v souboru /usr/local/ossec-hids/etc/ossec.conf je nutné pro FreeBSD pozměnit konfiguraci adresářové struktury:
<directories check_all="yes">/etc,/usr/local/etc</directories>
<directories check_all="yes">/bin,/sbin,/libexec</directories>
<directories check_all="yes">/usr/bin,/usr/sbin,/usr/libexec</directories>
<directories check_all="yes">/usr/local/bin,/usr/local/sbin</directories>


a provést náhradu řetězců:

/var/ossec na /usr/local/ossec-hids
/var/log/authlog na /var/log/auth.log

Případně je možné dodat další log soubory. Konfigurace jejich zpracování je popsána dále.



3) Na straně serveru je poté nutné spustit /usr/local/ossec-hids/bin/manage_agents. Ten vygeneruje klíč pro klienta, pote je nutné ho vyexportovat. Klíče jsou uloženy v souboru /usr/local/ossec-hods/etc/client.keys
Dalším krokem je úprava konfiguračního souboru /usr/local/ossec-hids/etc/ossec.conf, kde je uvedena adresa kam se mají posílat alerty a jaký server pro ně bude použit.



4) Pro konfiguraci klienta je nutné provést dva kroky. Prvním je spuštění /usr/local/ossec-hids/bin/manage_agents. Ten umožní importovat klíč klienta a uloží ho do souboru /usr/local/ossec-hods/etc/client.keys
V souboru /usr/local/ossec-hids/etc/ossec.conf je nutné zkontrolovat správné nastavení adresy serveru
<server-ip>IP adresa serveru</server-ip>



6) Spuštění je jednoduché. Pokud tyto úvodní kroky byly provedeny přesně, stačí na příkazovou řádku serveru a následně klienta napsat:
/usr/local/etc/rc.d/ossec-hids start



7) Pro zjednodušení monitorování systémů lze stáhnout web interface. Ideální je použít pro stažení stránku projektu OSSEC WUI. Zde je uveden příklad postupu:
cd /usr/local/www
wget http://www.ossec.net/files/ui/ossec-wui-0.2.tar.gz
tar -xvzf ossec-wui-0.2.tar.gz
mv ossec-wui-0.2 ossec
cd ossec
./setup.sh

Po úvodním nastavení je potřeba obvyklým způsobem rozšířit vituální servery nebo aliasy v Apache:
<IfModule alias_module>
     Alias /ossec "/usr/local/www/ossec"
</IfModule>
<Directory "/usr/local/www/ossec">
     Options None
     AllowOverride None
     Order allow,deny
     Allow from all
</Directory>


a následně přidělit práva. Jedná se o přidání uživatele www do skupiny ossec a dále převzetí vlastnictví adresářů /usr/local/ossec-hids a /usr/local/www/ossec.
chown -R ossec:ossec /usr/local/ossec-hids
chown -R www:www /usr/local/www/ossec

a následně provést restart Apache:
/usr/local/etc/rc.d/apache* restart



8) Konfigurace reakcí je možné realizovat pomocí XML souborů v adresáři /usr/local/ossec-hids/rules. Každý soubor obsahuje několik řetězeců, podle kterých jsou vyhledávány podezřelé výskyty v log souborech. V hlavičce souboru je uvedena skupina, která se v konfiguračním souboru systému přiřazuje ke zvolenému log souboru. Přestože to vypadá složitě, po úvodním rozkoukání v systému se jedná o relativně jednoduchou záležitost. Součástí je i několik předdefinovaných pravidel pro různé komponenty systémů.
Jednou z možných reakcí je například blokování IP adres v závislosti na "nevhodném" chování, jak ho definuje správce. Podle použití jednotlivých druhů filtrů paketů je možné použít jeden ze scriptů. Já jsem zvyklý používat PF, takže musím nejprve vytvořit tabulku a odpovídající pravidla:
table <ossec_fwtable> persist #ossec_fwtable
block in quick from <ossec_fwtable> to any
block out quick from any to <ossec_fwtable>


Následně musím zkontrolovat adresář /usr/local/ossec-hids/active-response/bin. Buď je možné soubor pf.sh zkopírovat na soubor firewall-drop.sh, nebo upravit konfigurační soubor v sekci command - firewall drop. Zde stačí zaměnit firewall-drop.sh za pf.sh . Poslední co zbývá je nakonfigurovat adekvátní reakci na určitý podnět. Zde je příklad



9) OSSEC a Prelude. Pokud je zapnutá podpora pro Prelude framework při kompilaci, je nutné upravit konfigurační soubost /usr/local/ossec-hids/etc/ossec.conf:
<global>
...
<prelude_output>yes</prelude_output>
</global>


a následně vytvořit klíče pro OSSEC (popsáno v instalaci Prelude) následujícím způsobem (pokud to někomu bude dělat problémy, zkuste zaměnit "ossec-hids" za "OSSEC".):
prelude-admin register "ossec-hids" "idmef:w" 192.168.1.1 --uid ossec --gid ossec --passwd=prelude




Přeji příjemnou zábavu.

Domovská stránka projektu
Manuál pro instalaci ve FreeBSD 6.1

Powered by Drupal - Design by artinet