Installare OSSEC with mySQL and AnaLogi permette di effettuare la funzione di log analysis, file integrity checking, policy monitoring e rootkit detection. OSSEC è un'applicazione open source di intrusion detection system.
Disponibile per diversi ambienti operativi (Windows, Linux, MAC, …), i log raccolti possono essere salvati in un database mySQL e alcuni report possono essere visualizzati tramite la web gui AnaLogi.
Prerequisiti
Utilizzando la versione minimal installation di CentOS 6.4, la procedura utilizza tre package principali:
- mySQL v5.x database
- OSSEC v2.7 log analyzer
- AnaLogi v1.3 ossec-wui
Installazione di mySQL
Aggiornare il sistema ed installare i package mySQL e i compilatori richiesti.
# yum update
# yum install mysql-devel mysql-server gcc make
Per evitare problemi di funzionamento, disabilitare SELINUX.
# vi /etc/selinux/config
Abilitare mySQL per essere avviato durante il boot del sistema e avviare il servizio.
# chkconfig mysqld on
# service mysqld start
Mettere in sicurezza mySQL tramite il comando:
# /usr/bin/mysql_secure_installation
Installazione di Ossec e creazione del db mySQL
Tramite il comando wget, effettuare il download del package OSSEC e scompattare il file.
# wget http://www.ossec.net/files/ossec-hids-2.7.tar.gz
# tar -vxzf ossec-hids-2.7.tar.gz
Poichè come default è disabilitato, abilitare mySQL in OSSEC.
# cd ossec-hids-2.7/src
# make setdb
Creare un nuovo database mySQL dove salvare gli alert OSSEC.
# mysql -u root -p
mysql> create database ossec;
mysql> grant INSERT,SELECT,UPDATE,CREATE,DELETE,EXECUTE on ossec.* to ossec@localhost;
mysql> set password for ossec@localhost=PASSWORD(‘password’);
mysql> flush privileges;
mysql> quit
Importare lo schema per il nuovo database dalla directory di installazione di OSSEC ossec-hids-2.7/src/os_dbd/.
# cd ossec-hids-2.7/src/os_dbd
# mysql -u root -p ossec < mysql.schema
Avviare l'installazione di OSSEC tramite il file eseguibile install.sh.
# ./install.sh
Premere ENTER per avviare la configurazione.
Dopo aver premuto il tasto ENTER, il sistema procede con la compilazione e l'installazione di OSSEC nel computer.
Se tutto va a buon fine, l' installation termina senza riportare warning o errori.
Se OSSEC opera dietro ad un firewall, la comunicazione con l'agent avviene tramite la porta UDP 1454.
Impostare i parametri mySQL nella configurazione di OSSEC. Editare il file ossec.conf.
# vi /var/ossec/etc/ossec.conf
Aggiungere le seguenti righe:
<database_output> <hostname>127.0.0.1</hostname> <username>ossec</username> <password>password</password> <database>ossec</database> <type>mysql</type> </database_output>
Come ultimo step, abilitare mySQL e riavviare il servizio.
# /var/ossec/bin/ossec-control enable database
# /var/ossec/bin/ossec-control restart
Installazione dell'interfaccia web AnaLogi
Poichè Analogi è un'interfaccia web per OSSEC che ha sostituito la vecchia ossec-wui, il sistema necessita dell'installazione dei package Apache e PHP nel sistema.
# yum install httpd php php-mysql mod_ssl
Abilitare Apache per avviarsi durante il boot del sistema e avviare il servizio.
# chkconfig httpd on
# service httpd restart
Siccome AnaLogi è salvato utilizzando un repository git, è necessario installare il package git per prelevare i file richiesti dal sito web.
# yum install git-core
Una volta installato, effettuare il download di AnaLogi tramite il comando git clone.
# cd /var/www/html
# git clone https://github.com/ECSC/analogi.git
Assegnare l'ownership della directory AnaLogi all'utente apache.
# chown apache:apache analogi -R
Rinominare il file di configurazione.
# cd /var/www/html/analogi
# mv db_ossec.php.new db_ossec.php
Editare il file db_ossec.php e modificare i parametri mySQL per rispecchiare l'installazione effettuata precedentemente.
# vi db_ossec.php
Per creare un eventuale virtual host, editare il file di configurazione di Apache ed aggiungere le seguenti istruzioni:
# vi /etc/httpd/conf/httpd.conf
<VirtualHost *:80>
ServerAdmin admin@nolabnoparty.local
DocumentRoot /var/www/html/analogi
ServerName lx6-ossec01.nolabnoparty.local
ErrorLog logs/ossec-err-error_log
CustomLog logs/ossec-access-access_log common
<Directory /var/www/html/analogi>
Allow from all
Options -MultiViews
</Directory>
</VirtualHost>
Riavviare Apache.
# service httpd restart
Aprire il browser utilizzato e digitare l'indirizzo:
http://ip_address
https://ip_address/analogi
Se il sistema visualizza una schermata simile, il server OSSEC funziona correttamente.
Il server OSSEC è ora pienamente operativo, l'ultimo step da fare è la creazione degli agenti per i client della rete.
Troubleshooting
Nel tempo i dati salvati nel database contribuscono a far divetare il database stesso di dimensione particolarmente rilevante. In particolare due file crescono notevolmente: data.MYD e alerts.MYD.
Verificare la dimensione dei file tramite i comandi:
# cd /var/lib/mysql/ossec/
# du * -h
Se questi sono particolarmente grossi, bisogna effettuare due operazioni:
- backup del database
- truncate delle tabelle
Effettuato il backup, digitare da console:
# mysql -u root -p
mysql> show databases;
mysql> use ossec;
mysql> truncate table data;
mysql> truncate table alert;
mysql> quit;
Le dimensioni dei due file sono ora minime rendendo il database più snello.
Cancellare l'integrity history e gli alert
Fermare il servizio OSSEC.
# service ossec stop
Pulire il file integrity history.
# /var/ossec/bin/syscheck_update -a
Cancellare tutti gli alert rimuovendo la directory /var/ossec/logs/alerts/*.
# rm -rf /var/ossec/logs/alerts/*
Avviare il servizio OSSEC.
# service ossec start






























