{{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.//