19/09/2014
enit

Installare OSSEC con mySQL e AnaLogi in CentOS 6

Installare OSSEC con mySQL e AnaLogi in CentOS 6

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:

    1. mySQL v5.x database
    2. OSSEC v2.7 log analyzer
    3. 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

Installare OSSEC con mySQL e AnaLogi in CentOS 6

Per evitare problemi di funzionamento, disabilitare SELINUX.

# vi /etc/selinux/config

Installare OSSEC con mySQL e AnaLogi in CentOS 6

Abilitare mySQL per essere avviato durante il boot del sistema e avviare il servizio.

# chkconfig mysqld on
# service mysqld start

Installare OSSEC con mySQL e AnaLogi in CentOS 6

Mettere in sicurezza mySQL tramite il comando:

# /usr/bin/mysql_secure_installation

Installare OSSEC con mySQL e AnaLogi in CentOS 6

 

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

Installare OSSEC con mySQL e AnaLogi in CentOS 6

Poichè come default è disabilitato, abilitare mySQL in OSSEC.

# cd ossec-hids-2.7/src
# make setdb

Installare OSSEC con mySQL e AnaLogi in CentOS 6

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

Installare OSSEC con mySQL e AnaLogi in CentOS 6

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

Installare OSSEC con mySQL e AnaLogi in CentOS 6

Avviare l’installazione di OSSEC tramite il file eseguibile install.sh.

# ./install.sh

Installare OSSEC con mySQL e AnaLogi in CentOS 6

Premere ENTER per avviare la configurazione.

Installare OSSEC con mySQL e AnaLogi in CentOS 6

Dopo aver premuto il tasto ENTER, il sistema procede con la compilazione e l’installazione di OSSEC nel computer.

Installare OSSEC con mySQL e AnaLogi in CentOS 6

Se tutto va a buon fine, l’ installation termina senza riportare warning o errori.

Installare OSSEC con mySQL e AnaLogi in CentOS 6

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:

Installare OSSEC con mySQL e AnaLogi in CentOS 6

Come ultimo step, abilitare mySQL e riavviare il servizio.

# /var/ossec/bin/ossec-control enable database
# /var/ossec/bin/ossec-control restart

Installare OSSEC con mySQL e AnaLogi in CentOS 6

 

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

Installare OSSEC con mySQL e AnaLogi in CentOS 6

Abilitare Apache per avviarsi durante il boot del sistema e avviare il servizio.

# chkconfig httpd on
# service httpd restart

Installare OSSEC con mySQL e AnaLogi in CentOS 6

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

Installare OSSEC con mySQL e AnaLogi in CentOS 6

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

Installare OSSEC con mySQL e AnaLogi in CentOS 6

Editare  il file db_ossec.php e modificare i parametri mySQL per rispecchiare l’installazione effettuata precedentemente.

# vi db_ossec.php

Installare OSSEC con mySQL e AnaLogi in CentOS 6

Per creare un eventuale virtual host, editare il file di configurazione di Apache ed aggiungere le seguenti istruzioni:

# vi /etc/httpd/conf/httpd.conf

Installare OSSEC con mySQL e AnaLogi in CentOS 6

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.

Installare OSSEC con mySQL e AnaLogi in CentOS 6

 

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:

  1. backup del database
  2. 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 alerts;
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

 

Installare OSSEC con mySQL e AnaLogi in CentOS 6

About Paolo Valsecchi

Sistemista Informatico | Mi occupo principalmente dell’implementazione e della gestione di servizi informatici basati su piattaforma virtuale VMware vSphere con sistemi Microsoft Windows/Active Directory e Linux (Red Hat, CentOS). VCP5-DCV, PernixPro.

Inserisci un commento

Il tuo indirizzo email non sarà pubblicato. Required fields are marked *

*

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">