Ceci est une ancienne révision du document !
Détecteur d'intrusions OSSEC-HIDS
Cette page traite de la procédure à suivre afin d'installer et d'utiliser OSSEC, un détecteur d'intrusion sur machine hôte : "HIDS" (Host-based Intrusion Detection System). Ossec est l'un des HIDS le plus utilisés. Il est très facile d'accès tant pour l'installation que pour l'utilisation.
Pouvant réagir c'est également une IPS, Système de prévention d'intrusion machine.
Pour en savoir plus sur ce qu'est un IDS, vous pouvez vous référer à ce lien, ou à celui-là.
Voir en complément :
- Snort Inline : un IPS réseau.
Pré-requis
- Disposer des droits d'administration ;
- Disposer d'une connexion à Internet configurée et activée ;
- (Pour l'interface graphique uniquement) Disposer d'apache2.
Installation
Malheureusement, OSSEC n'est pas dans les dépôts, il vous faudra donc vous rendre sur le site d'OSSEC et télécharger la dernière version. À l'heure où ce tuto est écrit, il s'agit de la 2.2.
Une fois le paquet téléchargé, placez-vous dans le répertoire de téléchargement et continuez par
wget http://www.ossec.net/files/ossec-hids-2.2.tar.gz tar xzvf ossec-hids-2.2.tar.gz cd ossec-hids-2.2 sudo ./install.sh
Parmi la liste de questions qu'on va vous poser, vous pouvez choisir la réponse par défaut dans tous les cas. Lorsqu'on vous demande quel type d'installation préférer, optez pour local.
Si vous souhaitez utiliser une interface graphique pour OSSEC, il vous faudra un serveur apache2 en état de fonctionnement.
Si c'est le cas, rendez-vous à nouveau sur le site d'OSSEC et téléchargez la dernière version de la WebInterface dans /var/www/. Ensuite :
cd /var/www sudo tar xzvf ~/ossec-wui-0.3.tar.gz sudo mv ossec-wui* ossec cd ossec sudo ./setup.sh cd /var/www sudo chown -R www-data.www-data ossec sudo usermod -G ossec -a www-data
L'installation est terminée, vous pouvez maintenant relancer apache et lancer OSSEC :
sudo /etc/init.d/apache2 restart sudo /etc/init.d/ossec start
Erreur au lancement dans le navigateur
Si au lancement de la page web vous obtenez une erreur de type opendir failed (/var/ossec) et que vous avez modifé le répertoire d'ossec a l'installation (/home/ossec par exemple, il faut éditer le fichier /var/www/ossec/ossec_conf.php et faire les changements suivants :
/* Ossec directory */ $ossec_dir="/home/ossec";
Configuration
Il n'y a pas grand chose à faire pour configurer OSSEC. Vous pouvez toutefois jeter un oeil au fichier de configuration :
gksudo gedit /var/ossec/etc/ossec.conf
ainsi qu'au manuel si vous souhaitez tout paramétrer.
Ajout de surveillance dossier en temps réel
Pour ajouter un fichier à surveiller ouvrez :
sudo gedit /var/ossec/etc/ossec.conf
Recherche syscheck dans ce document xml et ajoutez sous <directories> séparé d'une virgule les dossiers à ajouter ou rajoutez des lignes qui suivent cette forme :
<directories check_all="yes">/home/ton_user/tes_dossiers</directories>
Par exemple j'ai rajouté Firefox et Filezilla avec une surveillance en temps réelle.. Celà donne :
<directories check_all="yes" realtime="yes">/home/marypopy/.mozilla,/home/marypopy/.filezilla</directories>
Suite à une modification, relancez Ossec
sudo /var/ossec/bin/ossec-control start
Si vous obtenez un message de ce type c'est ok :
Starting OSSEC HIDS v2.4.1 (by Trend Micro Inc.)... ossec-maild already running... ossec-execd already running... ossec-analysisd already running... ossec-logcollector already running... ossec-syscheckd already running... ossec-monitord already running... Completed.
Si ce n'est pas ok vous obtiendrez un message de ce type :
Starting OSSEC HIDS v2.4.1 (by Trend Micro Inc.)... 2010/08/26 13:20:25 ossec-config(1226): ERROR: Error reading XML file '/var/ossec/etc/ossec.conf': XMLERR: Attribute 'realtime' not followed by a " or '. (line 76). 2010/08/26 13:20:25 ossec-testrule(1202): ERROR: Configuration error at '/var/ossec/etc/ossec.conf'. Exiting. ossec-analysisd: Configuration error. Exiting. 2010/08/26 13:20:25 ossec-config(1226): ERROR: Error reading XML file '/var/ossec/etc/ossec.conf': XMLERR: Attribute 'realtime' not followed by a " or '. (line 76). 2010/08/26 13:20:25 ossec-maild(1202): ERROR: Configuration error at '/var/ossec/etc/ossec.conf'. Exiting. ossec-maild: Configuration error. Exiting
Ajouter un agent
L'avantage d'OSSEC est de pouvoir monitorer des serveurs distants appelés agents. Pour les ajouter voici comment faire.
On lance sur le serveur maître (celui qui monitorera les agents) la commande suivante :
(server)# /var/ossec/bin/manage_agents **************************************** * OSSEC HIDS v0.8 Agent manager. * * The following options are available: * **************************************** (A)dd an agent (A). (E)xtract key for an agent (E). (L)ist already added agents (L). (R)emove an agent (R). (Q)uit. Choose your actions: A,E,R or Q: //On choisi alors l'action a réaliser. On choisi d'ajouter un agent (option A): - Adding a new agent (use ‘q’ to return to main menu). Please provide the following: * A name for the new agent: Linux01 // On choisi le nom qu'on veut donné a notre agent, par exemple Linux01 * The IP Address for the new agent: 192.168.2.32 // On entre l'adresse IP du serveur * An ID for the new agent[001]: Agent information: ID:001 Name:linux1 IP Address:192.168.2.32 Confirm adding it?(y/n): y Added.
Voila l'agent est ajouté. Seulement pour sécuriser les transferts il faut créer un clé de confiance entre les deux entités.
Toujours du coté serveur on tape :
(server)# /var/ossec/bin/manage_agents **************************************** * OSSEC HIDS v0.8 Agent manager. * * The following options are available: * **************************************** (A)dd an agent (A). (E)xtract key for an agent (E). (L)ist already added agents (L). (R)emove an agent (R). (Q)uit. Choose your actions: A,E,R or Q: e // On choisi cette option pour créer la clef Available agents: ID: 001, Name: linux1, IP: 192.168.2.32 ID: 002, Name: obsd1, IP: 192.168.2.10 Provide the ID of the agent you want to extract the key: 001 // On choisi notre premier agent Agent key information for ‘001′ is: CDAxIGxpbnX4MSAxOTIuMTY4LjAuMzIgOWM5MENlYzNXXXYYYZZZZZ== ** Press ENTER to continue
Il faut copier cette clé et la coller dans l'agent.
Maintenant du coté agent on fait ceci :
(agent)# /var/ossec/bin/manage_agents **************************************** * OSSEC HIDS v0.8 Agent manager. * * The following options are available: * **************************************** (I)mport key for the server (I). (Q)uit. Choose your actions: I or Q: i // On choisi d'insérer une clef * Provide the Key generated from the server. * The best approach is to cut and paste it. *** OBS: Do not include spaces or new lines. Paste it here: CDAxIGxpbnX4MSAxOTIuMTY4LjAuMzIgOWM5MENlYzNXXXYYYZZZZZ== // On colle la clé créer avec le serveur Agent information: ID:001 Name:linux1 IP Address:192.168.2.32 Confirm adding it?(y/n): y Added. ** Press ENTER to continue. **************************************** * OSSEC HIDS v0.8 Agent manager. * * The following options are available: * **************************************** (I)mport key for the server (I). (Q)uit. Choose your actions: I or Q: q manage_agents: Exiting ..
Voila notre agent est configuré sur le serveur.
Utilisation
Pour vous connecter à l'interface graphique, tappez ceci dans votre navigateur :
http://votre_ip_locale/ossec
L'interface est très simple, aussi ne nécessite-t-elle pas plus d'explications…
Pour afficher la liste des agents actifs on tape :
/var/ossec/bin/agent_control -lc OSSEC HIDS agent_control. List of available agents: ID: 000, Name: enigma.ossec.net (server), IP: 127.0.0.1, Active/Local ID: 002, Name: winhome, IP: 192.168.2.190, Active ID: 005, Name: jul, IP: 192.168.2.0/24, Active ID: 165, Name: esqueleto2, IP: 192.168.2.99, Active ID: 174, Name: lili3win, IP: 192.168.2.0/24, Active
Pour intérroger le status d'un agent on tape :
/var/ossec/bin/agent_control -i 002 OSSEC HIDS agent_control. Agent information: Agent ID: 002 Agent Name: winhome IP address: 192.168.2.190 Status: Active Operating system: Microsoft Windows XP Professional (Build 2600) Client version: OSSEC HIDS v1.5-SNP-080412 Last keep alive: Fri Apr 25 14:33:03 2008 Syscheck last started at: Fri Apr 25 05:07:13 2008 Rootcheck last started at: Fri Apr 25 09:04:12 2008
Désinstallation
Pour supprimer cette application, il vous faut supprimer les fichiers liés :
sudo rm -rf /var/ossec sudo rm -f /etc/init.d/ossec sudo rm -f /etc/ossec-init.conf
Voir aussi
Des références particulièrement intéressantes pour approfondir le sujet peuvent être utiles.
- (en) Manuel officiel
- (fr) Aller plus loin
Contributeurs : naoli
Basé sur « Ubuntu Intrusion Detection » par bodhi.zazen.