[How To]Installation de Snort sous FreeBSD 7.0

-----------------------------------------------------------------------------------
- [How to] Installation de Snort sous FreeBSD 7.0 -
-----------------------------------------------------------------------------------
------------ Auteur : Rémi LAURENT -----------------------------------
------------ Mail : cloud@madpowah.org -------------------------------
------------ Date : 24/06/2008 ----------------------------------
-----------------------------------------------------------------------------------

Aujourd'hui j'ai voulu testé l'IDS Snort sous FreeBSD 7.0. Voici donc comment j'ai procédé a son installation :

Tout d'abord on va dans le répertoire d'installation via les ports :

# cd /usr/ports/security/snort
Ensuite on va faire un config pour le compiler avec les options with_mysql et flex_resp2
# make config
# make install clean
On va ensuite récupérer l'ensemble des regles utilisées par Snort :
# cd /usr/local/etc/snort/rules
# fetch http://www.bleedingthreats.net/rules/bleeding-all.rules
Puis on va créer la base de donnée nécessaire a snort ainsi qu'un utilisateur pour cette base (par phpmyadmin par exemple). Ensuite on va générer les tables nécessaires :
# cd /usr/local/share/examples/snort
# mysql -u snortuser -p snortdb < ./create_mysql
On va ensuite configurer la conf de Snort :
vim /usr/local/etc/snort/snort.conf
On va obtenir quelque chose du genre :
var HOME_NET [192.168.0.0/24]
output database: log, mysql, user=snortuser password=snortpassword
dbname=snortdb host=localhost
var SSH_PORTS 22
include $RULE_PATH/bleeding-all.rules
On modifie son /etc/rc.conf pour lancer Snort :
snort_enable="YES"
snort_interface:="rl0"
Et on lance Snort :
# /usr/local/etc/rc.d/snort start
On peut vérifier qu'il est bien lancer en faisant un tail de /var/log/message. On doit obtenir quelque chose du genre :
Jun 17 09:47:54  snort[28791]: | Pattern Chars    : 427865
Jun 17 09:47:54  snort[28791]: | Num States       : 223785
Jun 17 09:47:54  snort[28791]: | Num Match States : 29909
Jun 17 09:47:54  snort[28791]: | Memory           :   7.08Mbytes
Jun 17 09:47:54  snort[28791]: |   Patterns       :   1.16M
Jun 17 09:47:54  snort[28791]: |   Match Lists    :   3.11M
Jun 17 09:47:54  snort[28791]: |   Transitions    :   2.75M
Jun 17 09:47:54  snort[28791]:
+-------------------------------------------------
Jun 17 09:47:54  snort[28791]: Snort initialization completed successfully
(pid=28791)
Et voila Snort est installé :) Snort c'est bien joli mais niveau lecture, une petite interface serait la bienvenue. On va donc installer Base avec l'option MySQL:
# cd /usr/ports/security/base
# make config
# make install clean
Si on ne les a pas, on installe également adodb, pear et fpdf (si on souhaite des graph PDF) par les ports.

On modifie notre httpd.conf ou notre vhost selon notre config web et on ajoute :
Alias /base "/usr/local/www/base/"
 <Directory "/usr/local/www/base/">
         Options None
         AllowOverride None
         Order Allow,Deny
         Allow from all
 </Directory>
On modifie notre /usr/local/etc/php.ini pour augmenter les logs avec l'option error_reporting, et on ajoute les localisation de pear et fpdf :
error_reporting = E_ALL & ~E_NOTICE
include_path = ".:/usr/local/share/pear:/usr/local/share/fpdf"
On relance Apache :
/usr/local/etc/rc.d/apache22 restart
On va sur notre site http://url/base/ et on suit l'installation. A la question du chemin de adodb on mettra :
/usr/local/share/adodb
Et hop roulez jeunesse !!!