Catégories
Open-source Reseau

Installation de BASE (reporting snort)

Avoir un Firewall c’est bien, y installer un logiciel de détection d’intrusion (IDS) c’est encore mieux. Mais pour atteindre les sommets de la sécurité informatique, il faudra passer par une étape ingrate: l’analyse des logs générés par votre IDS…

SNORT est un IDS libre facile à installer sur les OS GNU/Linux et BSD. Il produit en sorti des logs avec les alertes repérées sur votre réseau. Ces logs peuvent devenir très volumineux et donc impossible à analyser. Heureusement, BASE (de SecureIdeas) est là pour vous donner un coups de main.

BASE est une interface Web permettant d’analyser les logs de SNORTS stockés dans une base de données MySQL (ou PgSQL).

capture_200810095414.jpg

Installation de base sous une GNU/Linux Fedora

On commence par installer la librairie AdoDB pour permettre à l’application BASE de communiquer avec la base de donnée.

cd /var/www

wget http://ovh.dl.sourceforge.net/sourceforge/adodb/adodb505.tgz

tar zxvf adodb505.tgz

ln -s adodb5 adodb

rm adodb505.tgz

On récupère ensuite la dernière version de BASE sur le site officiel (http://base.secureideas.net/).

wget http://ovh.dl.sourceforge.net/sourceforge/secureideas/base-1.4.1.tar.gz

tar zxvf base-1.4.1.tar.gz

ln -s base-php4 base

chown -R apache:apache base base-php4

rm base-1.4.1.tar.gz

On finalise l’installation en se rendant, à l’aide d’un navigateur Web, vers la page suivante: http://<adresse-ip-serveur>/base/

Puis on suit le wizard avec en premier la vérification des pré-requis:

capture_200810095022.jpg

on choisit ensuite la langue (1), le chemin d’accès à AdoDB (2) puis on continu (3):

capture_200810095101.jpg

on configure la base de donnée (1 et 2) puis on continu (3):

capture_200810095139.jpg

on force une authentification sur les accès à BASE (1), le login/password (2) et on continu (3):

capture_200810095241.jpg

On finalise l’installation :

capture_200810095305.jpg

capture_200810095329.jpg

Et voilà, il ne reste plus qu’a consulter régulièrement les rapports générés par ces beaux outils.

Utilisation de BASE

Il suffit de se rendre à l’URL suivante: http://<adresse-ip-serveur>/base/

Les rapports sont disponibles par jours, derniers 24h, derniers 72h, alertes les plus récentes, les plus fréquentes…

Catégories
Open-source Reseau

Comment surveiller son réseau avec le cochon Snort ?

Distribué sous licence open source (GPL), Snort est un IDS: c’est à dire un système de détection d’intrusion.

Souvent les réseaux (personnel ou d’entreprise) sont protégés par des Firewalls. Cette protection, bien que nécessaire, ne permet pas la détection des attaques extérieures. En effet, un Firewall est fait pour bloquer les flux réseaux non désirés tout en laissant passer le « trafic utile ». Deux problèmes peuvent se poser:

  • comment analyser à l’interieur d’un « trafic utile », les données potentiellement dangereuses (par exemple un script CGI contenant un virus).
  • comment se prévenir de attaques de type DOS (flood UDP).

Snort est une des réponses possible. Il va analyser, en temps réel, le trafic réseau, rechercher dans sa base de donnée des profils d’attaques connus et logger les résultats.

Nous allons donc dans ce billet installer Snort sur un routeur sous FreeBSD (mais la procédure est la même pour un OS de type Linux).

Installation de Snort

Snort est disponible dans les ports FreeBSD, il faut donc effecter les actions suivantes afin de le compiler sur votre système:

# cd /usr/ports/security/snort
# make WITH_MYSQL=YES WITH_FLEXRESP=YES install

Remarque: Sur Fedora, l’installation peut être effectuée avec la commande: « yum install snort »

Pour automatiser le lancement de Snort au démarrage du serveur FreeBSD, il faut éditer le fichier /etc/rc.conf et ajouter les lignes suivantes:

snort_enable= »YES »
snort_interface:= »bge0″

PS: il faut remplacer bge0 par le nom de l’interface qui se trouve du coté du réseau que l’on veut surveiller

Configuration de la base de donnée

Snort utilise une base de donnée pour stocker les attaques. Le schéma de la base de donnée se trouve dans le fichier ../usr/ports/security/snort/work/snort-<version>/schemas/create_mysql, il faut alors effectuer les taches suivantes sur la machine qui héberge votre serveur MySQL:

# mysql -u root -p
mysql> CREATE DATABASE snort;
mysql> GRANT ALL PRIVILEGES ON snort.* TO ‘snortuser’@’localhost’ IDENTIFIED BY ‘snortpassword’;
mysql> FLUSH PRIVILEGES;
# mysql -u root -p snort < ./create_mysql

Configuration de Snort

Le fichier de configuration par défaut se nomme snort.conf (sous FreeBSD dans /usr/local/etc/snort). Par rapport au fichier par défaut, j’ai juste modifié les deux lignes suivantes:

# vi /usr/local/etc/snort/snort.conf
var HOME_NET [192.168.1.0/24]
output database: log, mysql, user=snortuser password=snortpassword dbname=snort host=localhost
var SSH_PORTS 22
include $RULE_PATH/bleeding-all.rules

Il faut également mettre en commentaire toutes les autres lignes commencant par include « $RULE_PATH ».

Dans cette configuration, les attaques seront logger à la fois dans le fichier standard (/var/log/snort sous FreeBSD) et dans la base de donnée.

Initialisation des règles (attaques)

De nouvelles attaques apparaissant tous les jours, une mise à jour régulière des règles doit être effectuée. Direction le site officiel pour s’enregistrer en ligne et récupérer les dernières règles stables pour votre version de Snort.

Une fois les règles téléchargées (Sourcefire VRT Certified Rules – The Official Snort Ruleset (registered user release)), il faut les décompresser dans le répertoire /usr/local/etc/snort/rules.

Cette opération est à faire régulièrement, à chaque mise à jour des règles.

Lancement de Snort

On ajoute les options suivantes dans le fichier rc.d (sous FreeBSD):

# SNORT
snort_enable= »YES »
snort_interface= »em0″

Il ne reste plus qu’a lancer Snort.

Sous FreeBSD:
# /usr/local/etc/rc.d/snort start

Sous Fedora:
# service snort start

Comment exploiter les résultats

C’est très bien d’avoir un IDS en fonctionnement, mais maintenant comment voir et analyser les résultats…

Le plus rapide est d’aller voir le fichier alert (sous /var/log/snort). C’est ici qu’est logger la liste des attaques reconnus par vos règles.

Si vous voulez une interface plus « user friendly », vous pouvez utiliser Base, un autre outil open source proposant une interface Web pour l’analyse des logs venant de Snort.