{{tag>pare-feu réseau}}
----
====== Détecteur d'intrusions OSSEC-HIDS ======
{{ http://www.ossec.net/wp-content/uploads/2012/06/ossec-hids.png}}
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" ([[wpfr>NIDS#HIDS_.28IDS_machine.29|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, [[wpfr>Système_de_prévention_d'intrusion|Système de prévention d'intrusion]] machine.
Pour en savoir plus sur ce qu'est un IDS, vous pouvez vous référer à [[http://www.commentcamarche.net/detection/ids.php3|ce lien]], ou à [[wpfr>NIDS|celui-là]].
Voir en complément :
* [[Snort Inline]] : un IPS réseau.
===== Pré-requis =====
* Disposer des [[:sudo|droits d'administration]] ;
* Disposer d'une connexion à Internet configurée et activée ;
* (Pour l'interface graphique uniquement) Disposer d'[[:apache2]].
===== Installation =====
====Installation manuelle====
Malheureusement, OSSEC n'est pas dans les dépôts, il vous faudra donc vous rendre sur [[http://www.ossec.net/?page_id=19|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.5.1
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.5.1.tar.gz
tar xzvf ossec-hids-2.5.1.tar.gz
cd ossec-hids-2.5.1
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**.
Quand on vous demande si vous souhaitez ajouter des IP dans la liste blanche, pensez à renseigner les IPs des ordinateurs de votre LAN, le cas échéant.
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 [[http://www.ossec.net/wiki/index.php/OSSECWUI:Install|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
====Installation par dépot launchpad====
Pour [[lucid|lucid 10.04 LTS]], [[12.04_lts|Precise 12.04 LTS]]:[[https://launchpad.net/~nicolas-zin/+archive/ossec-ubuntu|PPA]] (comment installer un [[ppa|PPA]]?), __préférer l'installation manuelle__
==== 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 à 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 [[:tutoriel:comment_modifier_un_fichier|jeter un oeil]] au fichier de configuration **/var/ossec/etc/ossec.conf**, ainsi qu'au [[http://www.ossec.net/main/manual/#config|manuel (anglais)]] si vous souhaitez tout paramétrer.
===== Ajout de surveillance dossier en temps réel =====
Pour ajouter un fichier à surveiller, [[:tutoriel:comment_modifier_un_fichier|ouvrez le fichier]] **/var/ossec/etc/ossec.conf**.
Recherchez syscheck dans ce document xml, et ajoutez sous séparé d'une virgule les dossiers à ajouter ou rajoutez des lignes qui suivent cette forme :
/home/ton_user/ton_dossier,/ton_autre_dossier
Par défaut OSSEC fait une analyse d'intégrité toutes les 22h que vous remarquerez par cette valeur : **79200**.
**Voici un exemple d'analyse en temps réel :**
Ajouter **Firefox et Filezilla**... (Il est conseillé d'avoir Quad de 2.8 GHz minimum pour appliquer cet exemple.) Cela donne :
/home/marypopy/.mozilla,/home/marypopy/.filezilla
(Remplacer "marypopy" par votre identifiant)
Mise à jour de la base pour la vérification d'intégrité
sudo /var/ossec/bin/syscheck_update -a
Et
sudo /var/ossec/bin/syscheck_update -l
Suite à une modification, relancez OSSEC
sudo /var/ossec/bin/ossec-control restart
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
==== Configurer le aux petits oignons. ====
A la place de "check_all" qui active toutes les actions énumérées ci-dessous, vous pourriez préférer les activer séparément selon vos besoins.
* //check_sum// vérifications selon sommes de contrôle
* //check_size// vérification sur la taille des fichiers
* //check_owner// vérification basée sur le changement de propriétaire
* //check_perm// vérification basée sur le changement de permission
Toujour indiquer le yes. L'activation se passe donc sous cette forme :
/home/ton_user/tes_dossiers
Cette forme est absolument égale à :
/home/ton_user/tes_dossiers
Ensuite "yes" "no" équivaut à un bouton on ou off
La balise **** sert à exclure du contenu de l'analyse.
Vous trouverez des informations sur [[https://forum.ubuntu-fr.org/viewtopic.php?id=404799|cette discussion du forum]].
==== Visionner vos alertes en temps réel ====
Visionner les alertes en temps réel :
sudo tail -f /var/ossec/logs/alerts/alerts.log
ou
sudo tail -f /var/ossec/logs/ossec.log
==== 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, tapez 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 saisis dans un terminal :
/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 interroger 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, via le [[terminal]] :
sudo rm -rf /var/ossec
sudo rm -f /etc/init.d/ossec
sudo rm -f /etc/ossec-init.conf
sudo deluser ossecm
sudo deluser ossecr
sudo delgroup ossec
=====Installation du Rootcheck OSSEC=====
Le rootcheck OSSEC est un outil puissant. N'appartenant pas à la logithèque il vous faudra le compiler.
Le tutorial présent sur le forum à la page :[[http://forum.ubuntu-fr.org/viewtopic.php?pid=3725713#p3725713]] vous expliquera facilement comment installer le Rootcheck et cela même si vous êtes débutant.
===== Voir aussi =====
Des références particulièrement intéressantes pour approfondir le sujet peuvent être utiles.
* **(en)** [[http://www.ossec.net/main/manual|Manuel officiel]]
* **(en)** Howto ameliore sur OSSec (PDF) [[http://blog.savoirfairelinux.com/tutoriels/livre-gratuit-ossec-how-to-the-quick-and-dirty-way/]]
* **(fr)** [[https://www.system-linux.eu/index.php?post/2009/10/29/Installation-et-configuration-d-Ossec|Aller plus loin]]
----
//Contributeurs : [[utilisateurs:naoli|naoli]], [[utilisateurs:MaryPopy]]//.
// Basé sur [[https://ubuntuforums.org/showthread.php?t=919472|« Ubuntu Intrusion Detection »]] par bodhi.zazen.//