Installation de snort, acid avec support mysql

Un article de DocAstairs.

Sommaire

[modifier] De quoi a-t-on besoin ?

On imagine que vous avez déjà un serveur AMP (Apache, MySQL, PHP) fonctionnel. Les suppléments sont :

  • Snort (évidement...)
  • Acid
  • jpgraph (Pour qu'acid puisse faire de jolis graphiques)

[modifier] Installation et création de la base mysql

root@freebsd# cd /usr/port/security/snort
root@freebsd# make install (selectionnez le plugin dynamic, le support mysql)
root@freebsd# mysql (avec l'option -p si l'utilisateur root a un password)
 mysql > CREATE DATABASE snort_alert;
 mysql > CREATE DATABASE snort_archive;
 mysql > CREATE USER snortuser@localhost;
 mysql > SET PASSWORD FOR snortuser@localhost=PASSWORD('snortpassword');
 mysql > GRANT INSERT,SELECT ON snort_alert.* TO snortuser@localhost;
 mysql > GRANT INSERT,SELECT ON snort_archive.* TO snortuser@localhost;
 mysql > FLUSH PRIVILEGES ;
 mysql > exit
root@freebsd# mysql -u snortuser -p -D snort_alert</usr/ports/security/snort/work/snort-2.x.y.z/schemas/create_mysql
root@freebsd# make clean
root@freebsd# cd /usr/port/security/acid
root@freebsd# make install clean

[modifier] Configuration

[modifier] Acid

Acid n'est pas tout jeune. Dans son installation standard, il y a un petit problème notamment avec les dates. J'ai fais un petit Patch‎ pour remédier facilement à ce problème. Ce patch ajoute la variable $date_inf dans le fichier acid_conf.php. C'est l'année minimum que devra prendre en compte acid pour tracer ses graphiques. La valeur par défaut est l'année courante, mais je vous conseil de lui donner comme valeur l'année ou vous faites cette installation. Le patch modifie les scripts qui faisaient référence à des années (dans la dernière version du logiciel, les dates vont de 1999 à 2004), et les présente de façon décroissante entre l'année courante et l'année fixée par $date_inf.

Pour appliquer ce patch (cf: Créer un patch) :

root@freebsd# cd /usr/local/www/acid
root@freebsd# wget http://www.uliniux.org/images/e/e4/Patch_acid.txt
root@freebsd# patch -p1<patch_acid.txt

Une foi ce petit patch appliqué, il faut aller modifier le fichier de configuration acid_conf.php pour lui attribuer les bonnes valeur de connection aux bases de donnée et la fameuse date ;).

$alert_dbname   = "snort_alert";
$alert_host     = "localhost";
$alert_port     = "";
$alert_user     = "snortuser";
$alert_password = "snortpassword";

/* Archive DB connection parameters */
$archive_dbname   = "snort_archive";
$archive_host     = "localhost";
$archive_port     = "";
$archive_user     = "snortuser";
$archive_password = "snortpassword";

$date_inf = xxxx;

[modifier] Snort

Voici le minimum a configurer par rapport au fichier standard :

root@freebsd# cd /usr/local/etc/snort
root@freebsd# cp snort.conf-sample snort.conf
root@freebsd# vi snort.conf

décommenter les lignes :

var HOME_NET 192.168.1.0/24
output database: log, mysql, user=snortuser password=snortpassword dbname=snort_alert host=localhost

[modifier] Démarrez snort au démarrage

root@freebsd# echo "enort_enable='YES'">>/etc/rc.conf