{"id":284,"date":"2020-11-09T21:09:00","date_gmt":"2020-11-09T20:09:00","guid":{"rendered":"https:\/\/ligfy.net\/wordpress\/?p=284"},"modified":"2025-09-11T18:26:08","modified_gmt":"2025-09-11T17:26:08","slug":"securiser-debian-9-avec-prelude-snort-et-ossec","status":"publish","type":"post","link":"https:\/\/ligfy.net\/wordpress\/securiser-debian-9-avec-prelude-snort-et-ossec\/","title":{"rendered":"S\u00e9curiser Debian 9 avec Prelude, Snort et Ossec"},"content":{"rendered":"\n<ul><li><a href=\"https:\/\/ligfy.net\/wordpress\/securiser-debian-9-avec-prelude-snort-et-ossec#G\u00e9n\u00e9ralit\u00e9s\">G\u00e9n\u00e9ralit\u00e9s<\/a><\/li><li><a href=\"https:\/\/ligfy.net\/wordpress\/securiser-debian-9-avec-prelude-snort-et-ossec#Pr\u00e9requis\">Pr\u00e9requis<\/a><\/li><li><a href=\"https:\/\/ligfy.net\/wordpress\/securiser-debian-9-avec-prelude-snort-et-ossec#Cr\u00e9ation-d'une-bases-de-donn\u00e9es-prelude\">Cr\u00e9ation\u00a0d&rsquo;une bases de donn\u00e9es\u00a0prelude<\/a><\/li><li><a href=\"https:\/\/ligfy.net\/wordpress\/securiser-debian-9-avec-prelude-snort-et-ossec#Installation-de-prelude-manager\">Installation de prelude-manager<\/a><\/li><li><a href=\"https:\/\/ligfy.net\/wordpress\/securiser-debian-9-avec-prelude-snort-et-ossec#Installation-de-prelude-correlator\">Installation de prelude-correlator<\/a><\/li><li><a href=\"https:\/\/ligfy.net\/wordpress\/securiser-debian-9-avec-prelude-snort-et-ossec#Installation-de-prelude-lml\">Installation de prelude-lml<\/a><\/li><li><a href=\"https:\/\/ligfy.net\/wordpress\/securiser-debian-9-avec-prelude-snort-et-ossec#Inscriptions-des-plugins-prelude-et-des-sondes\">Inscriptions des plugins prelude et des sondes<\/a><\/li><li><a href=\"https:\/\/ligfy.net\/wordpress\/securiser-debian-9-avec-prelude-snort-et-ossec#Optimisation-de-la-base-de-donn\u00e9e-prelude\">Optimisation de la base de donn\u00e9e prelude<\/a><\/li><li><a href=\"https:\/\/ligfy.net\/wordpress\/securiser-debian-9-avec-prelude-snort-et-ossec#Cr\u00e9ation-de-la-base-de-donn\u00e9e-prewikka\">Cr\u00e9ation de la base de donn\u00e9e prewikka<\/a><\/li><li><a href=\"https:\/\/ligfy.net\/wordpress\/securiser-debian-9-avec-prelude-snort-et-ossec#Installation-de-Prewikka\">Installation de Prewikka<\/a><\/li><li><a href=\"https:\/\/ligfy.net\/wordpress\/securiser-debian-9-avec-prelude-snort-et-ossec#D\u00e9marrage-de-Prewikka\">D\u00e9marrage de Prewikka<\/a><\/li><li><a href=\"https:\/\/ligfy.net\/wordpress\/securiser-debian-9-avec-prelude-snort-et-ossec#Installation-de-Snort\">Installation de Snort<\/a><\/li><li><a href=\"https:\/\/ligfy.net\/wordpress\/securiser-debian-9-avec-prelude-snort-et-ossec#D\u00e9marrage-de-Snort\">D\u00e9marrage de Snort<\/a><\/li><li><a href=\"https:\/\/ligfy.net\/wordpress\/securiser-debian-9-avec-prelude-snort-et-ossec#Installation-d'Ossec\">Installation d&rsquo;Ossec<\/a><\/li><li><a href=\"https:\/\/ligfy.net\/wordpress\/securiser-debian-9-avec-prelude-snort-et-ossec#D\u00e9marrage-d'Ossec\">D\u00e9marrage d&rsquo;Ossec<\/a><\/li><li><a href=\"https:\/\/ligfy.net\/wordpress\/securiser-debian-9-avec-prelude-snort-et-ossec#D\u00e9marrage-automatique-de-Prelude,-Snort-et-Ossec\">D\u00e9marrage automatique de Prelude, Snort et Ossec<\/a><\/li><\/ul>\n\n\n\n<h2 id=\"G\u00e9n\u00e9ralit\u00e9s\">G\u00e9n\u00e9ralit\u00e9s<\/h2>\n\n\n\n<p><strong>Prelude <\/strong>est un <strong>syst\u00e8me de d\u00e9tection d\u2019intrusion hybride (NIDS &amp; HIDS)<\/strong> compos\u00e9 de plusieurs plugins et sondes. Sa modularit\u00e9 permet d\u2019ajouter facilement de nouveaux types de d\u00e9tecteurs d\u2019intrusion, d\u2019analyseurs de logs et une solution de corr\u00e9lation, le tout reposant sur la norme IDMEF (Intrusion Detection Message Exchange Format), bien que de nombreux autres formats de logs soient \u00e9galement compatibles.<\/p>\n\n\n\n<p>L\u2019int\u00e9r\u00eat de <strong>Prelude <\/strong>est de centraliser les alertes dans une base de donn\u00e9es, de les normaliser au format IDMEF, puis de les visualiser \u00e0 travers une interface web.<\/p>\n\n\n\n<h3>Architecture<\/h3>\n\n\n\n<p><strong>Prelude Manager<\/strong> : centralise et stocke les \u00e9v\u00e9nements des sondes\/agents.<br><strong>Prelude LML<\/strong> : plugin qui lit et normalise les logs syst\u00e8mes et applicatifs en IDMEF.<br><strong>Prelude Correlator<\/strong> : plugin qui corr\u00e8le les \u00e9v\u00e9nements pour d\u00e9tecter des attaques.<br><strong>Prewikka<\/strong> : interface web pour visualiser et analyser les alertes.<br><strong>Snort<\/strong> : sonde r\u00e9seau (NIDS) qui d\u00e9tecte les intrusions sur le trafic r\u00e9seau.<br><strong>Ossec<\/strong> : sonde HIDS qui surveille fichiers, logs et int\u00e9grit\u00e9 syst\u00e8me.<\/p>\n\n\n\n<h2 id=\"Pr\u00e9requis\">Pr\u00e9requis<\/h2>\n\n\n\n<p>Les packages suivants sont fortement recommand\u00e9.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>apt install&nbsp;ntpdate dbconfig-common<\/code><\/p><\/blockquote>\n\n\n\n<p><strong>Ntpdate<\/strong>&nbsp;: permet de maintenir votre horloge syst\u00e8me \u00e0 l&rsquo;heure.<br><strong>Dbconfig-common<\/strong>&nbsp;: permet&nbsp;de configurer les param\u00e8tres d&rsquo;une base de donn\u00e9es.<\/p>\n\n\n\n<p>Pour fonctionner, <strong>Prelude <\/strong>a besoin d&rsquo;un <strong>serveur de base de donn\u00e9es<\/strong>,&nbsp;nous allons donc installer un <strong>serveur MySQL\/MariaDB<\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>apt install&nbsp;mariadb-server<\/code><\/p><\/blockquote>\n\n\n\n<p>Une fois que l&rsquo;installation des composants est termin\u00e9e, tapez la commande suivante pour finaliser la configuration.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>mysql_secure_installation<\/code><\/p><\/blockquote>\n\n\n\n<p>Comme demand\u00e9, saisissez le mot de passe <strong>root <\/strong>de votre Debian, puis d\u00e9finissez un mot de passe pour l\u2019utilisateur <strong>root <\/strong>de MariaDB, qui disposera de tous les droits d\u2019acc\u00e8s sur la base.<br>Puis r\u00e9pondez&nbsp;<strong>Y<\/strong>&nbsp;\u00e0 toutes les questions suivantes.<\/p>\n\n\n\n<p>L&rsquo;installation par d\u00e9faut de MySQL\/MariaDB sous Debian 9 applique une restriction \u00e0 l&rsquo;utilisateur root.<br>Lorsque vous essayerez de vous connecter \u00e0 MySQL\/MariaDB avec la commande&nbsp;<strong>mysql -u root -p<\/strong>&nbsp;vous obtiendrez une erreur&nbsp;<strong>Access denied for user &lsquo;root&rsquo;@&rsquo;localhost&rsquo;<\/strong>.<br>Pour rem\u00e9dier \u00e0 ce probl\u00e8me, connectez vous avec l&rsquo;utilisateur <strong>root<\/strong> \u00e0 MariaDb avec&nbsp;<strong>sudo<\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>sudo mysql -u root -p<\/code><\/p><\/blockquote>\n\n\n\n<p>Une fois que vous aurez taper le bon mot de passe, cette fois vous serez connect\u00e9.<br>Tapez alors la commande&nbsp;<strong>USE mysql;<\/strong>&nbsp;qui vous connectera \u00e0 la base de donn\u00e9es contenant la configuration du serveur.<br>Puis tapez la requ\u00eate&nbsp;<strong>SELECT plugin FROM user WHERE user=&rsquo;root&rsquo;;<\/strong><\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>USE mysql;<br>SELECT plugin FROM user WHERE user='root';<\/code><\/p><\/blockquote>\n\n\n\n<p>C&rsquo;est \u00e0 cause du plugin&nbsp;<strong>unix_socket<\/strong>&nbsp;que la connexion <strong>root <\/strong>est refus\u00e9e lorsqu&rsquo;on se connecte \u00e0 la base sans <strong>sudo<\/strong>.<br>Pour rem\u00e9dier au probl\u00e8me, tapez la requ\u00eate&nbsp;<strong>UPDATE user SET plugin=\u00a0\u00bb WHERE User=&rsquo;root&rsquo;;<\/strong>&nbsp;qui supprimera ce plugin pour l&rsquo;utilisateur <strong>root<\/strong>.<br>Recharger les privil\u00e8ges utilisateurs avec la commande&nbsp;<strong>FLUSH PRIVILEGES;<\/strong>&nbsp;puis quitter MariaDb avec la commande&nbsp;<strong>EXIT;<\/strong><\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>UPDATE user SET plugin='' WHERE User='root';<br>FLUSH PRIVILEGES;<br>EXIT;<\/code><\/p><\/blockquote>\n\n\n\n<p>A pr\u00e9sent, si vous essayez \u00e0 nouveau de vous connecter au serveur sans <strong>sudo<\/strong>, avec&nbsp;<strong>mysql -u root -p<\/strong>, ca fonctionnera.<\/p>\n\n\n\n<h2 id=\"Cr\u00e9ation-d'une-bases-de-donn\u00e9es-prelude\">Cr\u00e9ation&nbsp;d&rsquo;une bases de donn\u00e9es&nbsp;prelude<\/h2>\n\n\n\n<p><strong>Prelude <\/strong>stock toutes les informations collect\u00e9es dans une base de donn\u00e9e. Donc nous allons cr\u00e9er une nouvelle base nomm\u00e9e <strong>prelude<\/strong>&nbsp;ainsi qu&rsquo;un nouvel utilisateur lui aussi nomm\u00e9 <strong>prelude<\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>mysql -u root -p<\/code><\/p><\/blockquote>\n\n\n\n<p>Nous allons cr\u00e9er la base de donn\u00e9es <strong>prelude<\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>CREATE DATABASE prelude;<\/code><\/p><\/blockquote>\n\n\n\n<p>Et pour cr\u00e9er l&rsquo;utilisateur <strong>prelude<\/strong>.&nbsp;Vous pouvez remplacer&nbsp;<strong>mot_de_passe<\/strong>&nbsp;par le&nbsp;v\u00f4tre, \u00e0 l\u2019int\u00e9rieur des guillemets.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>CREATE USER 'prelude'@'localhost' IDENTIFIED BY 'mot_de_passe';<\/code><\/p><\/blockquote>\n\n\n\n<p>Pour accorder toutes les autorisations \u00e0 l&rsquo;utilisateur <strong>prelude<\/strong> sur&nbsp;la base de donn\u00e9es <strong>prelude<\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>GRANT ALL PRIVILEGES ON prelude.* TO 'prelude'@'localhost';<\/code><\/p><\/blockquote>\n\n\n\n<p>Pour que les changements prennent effet.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>FLUSH PRIVILEGES;<br>EXIT;<\/code><\/p><\/blockquote>\n\n\n\n<h2 id=\"Installation-de-prelude-manager\">Installation de prelude-manager<\/h2>\n\n\n\n<p>Pour l&rsquo;instant, nous allons installer Prelude-manager et les librairies associ\u00e9es.&nbsp;<br>Il suffit d&rsquo;installer le paquet.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>apt install prelude-manager<\/code><\/p><\/blockquote>\n\n\n\n<p>Lors de l&rsquo;installation, le gestionnaire cr\u00e9era le profil de l&rsquo;utilisateur&nbsp;<strong>prelude<\/strong>.<\/p>\n\n\n\n<p>Puis <strong>dbconfig-common<\/strong> vous demandera alors si vous souhaitez qu&rsquo;il configure automatiquement la base de donn\u00e9es,&nbsp;r\u00e9pondez&nbsp;<strong>Oui<\/strong>.<\/p>\n\n\n\n<p><strong>dbconfig-common<\/strong> demandera le mot de passe de l&rsquo;utilisateur&nbsp;<strong>prelude&nbsp;<\/strong>(que vous avez renseigner lors de la cr\u00e9ation de la base de donn\u00e9es <strong>prelude<\/strong>).<\/p>\n\n\n\n<p>Puis une confirmation du mot de passe vous sera demmand\u00e9.<\/p>\n\n\n\n<p>Le paquet Debian remplit automatiquement la base de donn\u00e9es et met \u00e0 jour les param\u00e8tres dans&nbsp;<strong>\/etc\/prelude-manager\/prelude-manager.conf<\/strong>.<\/p>\n\n\n\n<p>Prelude-Manager devrait maintenant \u00eatre en cours d&rsquo;ex\u00e9cution, pour v\u00e9rifier.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>systemctl status prelude-manager<\/code><\/p><\/blockquote>\n\n\n\n<p>Si la ligne commen\u00e7ant par <strong>Active<\/strong> contient la mention <strong>active (running)<\/strong>, cela signifie que le service <strong>Prelude-Manager<\/strong> est bien install\u00e9 et en cours d\u2019ex\u00e9cution.<\/p>\n\n\n\n<h3>configuration de prelude-manager<\/h3>\n\n\n\n<p>Editez le fichier de configuration&nbsp;<strong>\/etc\/prelude-manager\/prelude-manager.conf<\/strong>,&nbsp;puis v\u00e9rifiez&nbsp;les param\u00e8tres suivants.<\/p>\n\n\n\n<p>L&rsquo;adresse IP d&rsquo;\u00e9coute,&nbsp;afin que ce dernier accepte les connexions des clients (sondes).<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>listen = 127.0.0.1<\/code><\/code><\/pre>\n\n\n\n<p>Les param\u00e8tres de connexion \u00e0 la base de donn\u00e9e.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>&#91;db]\ntype = mysql\nhost = localhost\nport = 3306\nname = prelude\nuser = prelude\npass = MOT DE PASSE DE L UTILISATEUR MYSQL PRELUDE<\/code><\/code><\/pre>\n\n\n\n<p>Editez le fichier de configuration&nbsp;<strong>\/etc\/prelude\/default\/client.conf<\/strong>&nbsp;puis v\u00e9rifiez&nbsp;les param\u00e8tres suivants.<\/p>\n\n\n\n<p>L\u2019adresse IP du serveur Prelude-Manager.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>server-addr = 127.0.0.1<\/code><\/code><\/pre>\n\n\n\n<p>Stoppez Prelude-manager avec cette commande, pour faire les modification suivante.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>systemctl stop prelude-manager<\/code><\/p><\/blockquote>\n\n\n\n<p>Puis \u00e9ditez le fichier&nbsp;<strong>\/etc\/default\/prelude-manager<\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>nano&nbsp;\/etc\/default\/prelude-manager<\/code><\/p><\/blockquote>\n\n\n\n<p>Et&nbsp;modifiez le&nbsp;param\u00e8tre&nbsp;<strong>RUN=no<\/strong>&nbsp;en&nbsp;<strong>RUN=yes<\/strong>&nbsp;et le param\u00e8tre&nbsp;<strong>DAEMONUSER=prelude<\/strong>&nbsp;en&nbsp;<strong>DAEMONUSER=root<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>DAEMONUSER=root<br>RUN=yes<\/code><\/code><\/pre>\n\n\n\n<p>Puis red\u00e9marrez Prelude-manager avec cette commande.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>systemctl start prelude-manager<\/code><\/p><\/blockquote>\n\n\n\n<p>La premi\u00e8re partie est termin\u00e9e, vous avez maintenant un gestionnaire op\u00e9rationnel.<\/p>\n\n\n\n<h2 id=\"Installation-de-prelude-correlator\">Installation de prelude-correlator<\/h2>\n\n\n\n<p>Tout d&rsquo;abord installez le paquet suivant pour corriger l&rsquo;erreur&nbsp;<strong>SpamhausDropPlugin: No module named netaddr<\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>apt install python-netaddr<\/code><\/p><\/blockquote>\n\n\n\n<p>Puis, il suffit d&rsquo;installer le paquet.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>apt install prelude-correlator<\/code><\/p><\/blockquote>\n\n\n\n<h3>configuration de prelude-correlator<\/h3>\n\n\n\n<p>Editez le fichier de configuration&nbsp;<strong>\/etc\/prelude-correlator\/prelude-correlator.conf<\/strong>.&nbsp;<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>nano \/etc\/prelude-correlator\/prelude-correlator.conf<\/code><\/p><\/blockquote>\n\n\n\n<p>Puis modifiez le&nbsp;param\u00e8tres&nbsp;<strong># [DshieldPlugin]<\/strong>&nbsp;en&nbsp;<strong>[DshieldPlugin]<\/strong>&nbsp;et le param\u00e8tre&nbsp;&nbsp;<strong># disable = false<\/strong>&nbsp;en&nbsp;<strong>disable = true<\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>&#91;DshieldPlugin]<br>disable = true<\/code><\/code><\/pre>\n\n\n\n<p>Stoppez Prelude-correlator avec cette commande, pour faire les modification suivante.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>systemctl stop prelude-correlator<\/code><\/p><\/blockquote>\n\n\n\n<p>Puis \u00e9ditez le fichier&nbsp;<strong>\/etc\/default\/prelude-correlator<\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>nano&nbsp;\/etc\/default\/prelude-correlator<\/code><\/p><\/blockquote>\n\n\n\n<p>Et&nbsp;modifiez le&nbsp;param\u00e8tre&nbsp;<strong>RUN=no<\/strong>&nbsp;en&nbsp;<strong>RUN=yes<\/strong>&nbsp;et le param\u00e8tre&nbsp;<strong>DAEMONUSER=prelude-correlator<\/strong>&nbsp;en&nbsp;<strong>DAEMONUSER=root<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>DAEMONUSER=root<br>RUN=yes<\/code><\/code><\/pre>\n\n\n\n<p>Puis red\u00e9marrez Prelude-correlator avec cette commande.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>systemctl start prelude-correlator<\/code><\/p><\/blockquote>\n\n\n\n<h2 id=\"Installation-de-prelude-lml\">Installation de prelude-lml<\/h2>\n\n\n\n<p>Il suffit d&rsquo;installer le paquet.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>apt install prelude-lml<\/code><\/p><\/blockquote>\n\n\n\n<h3>configuration de prelude-lml<\/h3>\n\n\n\n<p>Editez le fichier de configuration&nbsp;<strong>\/etc\/prelude-lml\/prelude-lml.conf<\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>nano&nbsp;\/etc\/prelude-lml\/prelude-lml.conf<\/code><\/p><\/blockquote>\n\n\n\n<p>Puis ajouter les fichiers de log que vous voulez analyser.<br>Par exemple, dans la section&nbsp;<strong>[format-syslog]<\/strong>,&nbsp;vous pouvez&nbsp;rajouter en dessous de&nbsp;<strong># udp-server = 0.0.0.0<\/strong>&nbsp;des fichiers de log qui utilise le format <strong>syslog <\/strong>(daemon.log, mail.log, etc&#8230;).<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>&#91;format=syslog]<br>time-format = \"%b %d %H:%M:%S\"<br>prefix-regex = \"^(?P&lt;timestamp&gt;.{15}) (?P&lt;hostname&gt;\\S+) (?:(?P&lt;process&gt;\\S+?)(?:\\&#91;(?P&lt;pid&gt;&#91;0-9]+)\\])?: )?\"<br>file = \/var\/log\/messages<br>file = \/var\/log\/auth.log<br># udp-server = 0.0.0.0<br>file = \/var\/log\/daemon.log<br>file = \/var\/log\/mail.log<br>file = \/var\/log\/syslog<br>file = \/var\/log\/user.log<\/code><\/code><\/pre>\n\n\n\n<h2 id=\"Inscriptions-des-plugins-prelude-et-des-sondes\">Inscriptions des plugins prelude et des sondes<\/h2>\n\n\n\n<p>Comme <strong>Prelude <\/strong>peut utiliser des sondes et des plugins r\u00e9partis sur l\u2019ensemble du r\u00e9seau, il est essentiel de s\u00e9curiser les \u00e9changes par chiffrement. Ainsi, lors de l\u2019ajout d\u2019un plugin comme <strong>Prelude-Correlator<\/strong>, qu\u2019il soit local ou distant, celui-ci doit \u00eatre enregistr\u00e9 et authentifi\u00e9 aupr\u00e8s du <strong>Prelude-Manager<\/strong>.<\/p>\n\n\n\n<p>Pour cela, <strong>Prelude <\/strong>int\u00e8gre l&rsquo;outil <strong>prelude-admin<\/strong>, c\u2019est avec cette outil qu\u2019il va \u00eatre possible d\u2019enregistrer les sondes et plugins suppl\u00e9mentaires.<\/p>\n\n\n\n<p>Tout d\u2019abord, il faut enregistrer Prelude-Manager comme client aupr\u00e8s de lui-m\u00eame (auto-enregistrement).<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>prelude-admin add prelude-manager --uid 0 --gid 0<\/code><\/p><\/blockquote>\n\n\n\n<p>Cette commande cr\u00e9e les cl\u00e9s permettant \u00e0 Prelude-Manager de s\u00e9curiser ses \u00e9changes avec les sondes et plugins<\/p>\n\n\n\n<h3>Ajout d&rsquo;un plugin : Prelude-Correlator<\/h3>\n\n\n\n<p>Pour ajouter une nouvelle sonde ou un plugin, on va devoir utiliser deux commandes en parall\u00e8le, une pour <strong>g\u00e9n\u00e9rer un mot de passe unique et accepter la requ\u00eate<\/strong> puis l&rsquo;autre pour <strong>enregistrer la nouvelle sonde<\/strong>.<\/p>\n\n\n\n<p>Taper cette commande&nbsp;<strong>dans un autre terminal<\/strong>&nbsp;pour mettre le serveur <strong>Prelude <\/strong>en mode \u00e9coute et pour enregistrer une sonde ou un plugin.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>prelude-admin registration-server prelude-manager<\/code><\/p><\/blockquote>\n\n\n\n<p>La commande g\u00e9n\u00e8re un <strong>mot de passe \u00e0 usage unique<\/strong> et reste en \u00e9coute. Il ne reste plus qu\u2019\u00e0 enregistrer un composant (sonde ou plugin).<\/p>\n\n\n\n<p><strong>Dans un autre terminal<\/strong>, entrez cette commande pour enregistrer la sonde <strong>Prelude-Correlator<\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>prelude-admin register prelude-correlator \"idmef:rw admin:r\" 127.0.0.1 --uid 0 --gid 0<\/code><\/p><\/blockquote>\n\n\n\n<p>Ensuite entrez le <strong>mot de passe \u00e0 usage unique<\/strong>, une confirmation vous sera demand\u00e9e <strong>dans l&rsquo;autre terminal<\/strong>, acceptez en appuyant sur\u00a0<strong>Y<\/strong>.<\/p>\n\n\n\n<p>L&rsquo;enregistrement de <strong>Prelude-Correlator<\/strong> est r\u00e9ussi.&nbsp;Voila vous venez d&rsquo;enregistrer votre premier plugin !<\/p>\n\n\n\n<h3>Ajout d&rsquo;un plugin : Prelude-LML<\/h3>\n\n\n\n<p>M\u00eame principe qu&rsquo;avez le plugin <strong>Prelude-Correlator<\/strong>, il faut ex\u00e9cuter les deux commandes ci-dessous en parall\u00e8le.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>prelude-admin registration-server prelude-manager<\/code><\/p><\/blockquote>\n\n\n\n<p>Dans un autre terminal.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>prelude-admin register prelude-lml \"idmef:rw admin:r\" 127.0.0.1 --uid 0 --gid 0<\/code><\/p><\/blockquote>\n\n\n\n<h3>V\u00e9rification de l&rsquo;enregistrement des sondes ou des plugins<\/h3>\n\n\n\n<p>Pour lister les sondes\/plugins, on va utiliser la commande<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>prelude-admin list<\/code><\/p><\/blockquote>\n\n\n\n<h2 id=\"Optimisation-de-la-base-de-donn\u00e9e-prelude\">Optimisation de la base de donn\u00e9e prelude<\/h2>\n\n\n\n<p>La taille de la base de donn\u00e9e \u00e9volue en fonction du nombre d&rsquo;\u00e9v\u00e8nements analys\u00e9s par les sondes\/plugins. Il n&rsquo;est pas anormal d&rsquo;avoir plusieurs centaines de milliers d&rsquo;entr\u00e9es dans la BDD apr\u00e8s un mois d&rsquo;utilisation.<\/p>\n\n\n\n<p>Pour \u00e9viter cela, on va utiliser un script avec <strong>une t\u00e2che CRON<\/strong> pour que la suppression des alertes se fasse de mani\u00e8re automatique et p\u00e9riodique.<\/p>\n\n\n\n<p>Cr\u00e9ez&nbsp;un nouveau fichier nomm\u00e9&nbsp;<strong>\/etc\/cron.daily\/prelude-del-events<\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>nano&nbsp;\/etc\/cron.daily\/prelude-del-events<\/code><\/p><\/blockquote>\n\n\n\n<p>Et ajouter le script ci-dessous&nbsp;dedans.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>#!\/bin\/bash<br><br>set -e<br><br>DBTYPE=\"mysql\"<br>DBHOST=\"localhost\"<br>DBNAME=\"prelude\"<br>DBUSER=\"prelude\"<br>DBPASS=\"xxxxxxxxx\"<br><br># Supprimer tous les \u00e9v\u00e8nements ant\u00e9rieur \u00e0 1 mois<br>KEEPINTERVAL=\"1 month\"<br>DATE=$(date -d \"now - $KEEPINTERVAL\" +%Y-%m-%d)<br><br># Suppression des alertes<br>\/usr\/bin\/preludedb-admin delete alert&nbsp;&nbsp;&nbsp;&nbsp; --criteria \"alert.create_time&nbsp;&nbsp;&nbsp;&nbsp; &lt;= $DATE\" \"type=$DBTYPE host=$DBHOST name=$DBNAME user=$DBUSER pass=$DBPASS\"<br><br># Suppression des alertes de type heartbeat (v\u00e9rification de fonctionnement de l'h\u00f4te)<br>\/usr\/bin\/preludedb-admin delete heartbeat --criteria \"heartbeat.create_time &lt;= $DATE\" \"type=$DBTYPE host=$DBHOST name=$DBNAME user=$DBUSER pass=$DBPASS\"<\/code><\/code><\/pre>\n\n\n\n<p>Puis rendez-le ex\u00e9cutable.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>chmod +x&nbsp;\/etc\/cron.daily\/prelude-del-events<\/code><\/p><\/blockquote>\n\n\n\n<h2 id=\"Cr\u00e9ation-de-la-base-de-donn\u00e9e-prewikka\">Cr\u00e9ation de la base de donn\u00e9e prewikka<\/h2>\n\n\n\n<p>Tout comme <strong>Prelude<\/strong>, <strong>Prewikka <\/strong>stock toutes les informations collect\u00e9es dans une base de donn\u00e9e. Donc nous allons cr\u00e9er une nouvelle base nomm\u00e9e&nbsp;<strong>prewikka&nbsp;<\/strong>ainsi qu&rsquo;un nouvel utilisateur lui aussi nomm\u00e9&nbsp;<strong>prewikka<\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>mysql -u root -p<\/code><\/p><\/blockquote>\n\n\n\n<p>Nous allons cr\u00e9er la base de donn\u00e9es <strong>prewikka<\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>CREATE DATABASE prewikka;<\/code><\/p><\/blockquote>\n\n\n\n<p>Et pour cr\u00e9er l&rsquo;utilisateur <strong>prewikka<\/strong>.&nbsp;Vous pouvez remplacer&nbsp;<strong>mot_de_passe<\/strong>&nbsp;par le&nbsp;v\u00f4tre, \u00e0 l\u2019int\u00e9rieur des guillemets.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>CREATE USER 'prewikka'@'localhost' IDENTIFIED BY 'mot_de_passe';<\/code><\/p><\/blockquote>\n\n\n\n<p>Pour accorder toutes les autorisations \u00e0 l&rsquo;utilisateur <strong>prewikka<\/strong> sur&nbsp;la base de donn\u00e9es <strong>prewikka<\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>GRANT ALL PRIVILEGES ON prewikka.* TO 'prewikka'@'localhost';<\/code><\/p><\/blockquote>\n\n\n\n<p>Pour que les changements prennent effet.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>FLUSH PRIVILEGES;<br>EXIT;<\/code><\/p><\/blockquote>\n\n\n\n<h2 id=\"Installation-de-Prewikka\">Installation de Prewikka<\/h2>\n\n\n\n<p>Il suffit d&rsquo;installer le paquet.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>apt install prewikka<\/code><\/p><\/blockquote>\n\n\n\n<p>Puis <strong>dbconfig-common<\/strong> vous demandera alors si vous souhaitez qu&rsquo;il configure automatiquement la base de donn\u00e9es,&nbsp;r\u00e9pondez&nbsp;<strong>Oui<\/strong>.<\/p>\n\n\n\n<p><strong>dbconfig-common<\/strong> demandera le mot de passe de l&rsquo;utilisateur&nbsp;<strong>prewikka&nbsp;<\/strong>(que vous avez renseigner lors de la cr\u00e9ation de la base de donn\u00e9es <strong>prewikka<\/strong>).<\/p>\n\n\n\n<p>Puis une confirmation du mot de passe vous sera demmand\u00e9.<\/p>\n\n\n\n<p>Le paquet Debian remplit automatiquement la base de donn\u00e9es et met \u00e0 jour les param\u00e8tres dans&nbsp;<strong>\/etc\/prewikka\/prewikka.conf<\/strong>.<\/p>\n\n\n\n<h3>Configuration de Prewikka<\/h3>\n\n\n\n<p>Editez le fichier de configuration&nbsp;<strong>\/etc\/prewikka\/prewikka.conf<\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>nano&nbsp;\/etc\/prewikka\/prewikka.conf<\/code><\/p><\/blockquote>\n\n\n\n<p>Pour adapter les param\u00e8tres de votre base de donn\u00e9es avant de d\u00e9marrer <strong>Prewikka<\/strong>. Voici les champs \u00e0 compl\u00e9ter.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>&#91;idmef_database]\n#\n# if your database is a sqlite file, please use:\n#\n# type: sqlite3\n# file: \/path\/to\/your\/sqlite_database\n#\ntype: mysql\nhost: localhost\nuser: prelude\npass: <span class=\"has-inline-color has-dark-gray-color\">MOT DE PASSE DE L UTILISATEUR MYSQL PRELUDE<\/span>\nname: prelude<\/code><\/code><\/pre>\n\n\n\n<p>La section <strong>[database]<\/strong> est automatiquement configur\u00e9e par <strong>dbconfig-common<\/strong>, donc ne la modifiez pas.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>&#91;database]<br>type: mysql<br>host: localhost<br>user: prewikka<br>pass: MOT DE PASSE DE L UTILISATEUR MYSQL PREWIKKA<br>name: prewikka<\/code><\/code><\/pre>\n\n\n\n<p>La premi\u00e8re partie correspond \u00e0 la base de donn\u00e9es de <strong>Prelude-Manager<\/strong>, contenant les alertes IDMEF. Quant \u00e0 la seconde base de donn\u00e9es, c\u2019est celle de <strong>Prewikka<\/strong>, cr\u00e9e lors de l\u2019installation de ce dernier.<\/p>\n\n\n\n<h3>Optimisation de Prewikka<\/h3>\n\n\n\n<p>Toujours dans le fichier de configuration de <strong>Prewikka <\/strong>(prewikka.conf).<\/p>\n\n\n\n<p>Pour que Prewikka soit en fran\u00e7ais, il est possible&nbsp;de modifier la langue.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>default_locale: fr_FR<br>encoding: utf8<\/code><\/code><\/pre>\n\n\n\n<p>Votre syst\u00e8me doit avoir le pack de langue&nbsp;<strong>fr_FR.utf8<\/strong>.&nbsp;Vous pouvez le v\u00e9rifier avec la commande&nbsp;<strong>locale -a<\/strong>, si ce n&rsquo;est pas le cas, utilisez la commande&nbsp;<strong>dpkg-reconfigure locales<\/strong>&nbsp;et ajoutez le&nbsp;pack&nbsp;<strong>fr_FR.utf8<\/strong>.<\/p>\n\n\n\n<p>Il est possible&nbsp;de changer le mot de passe d\u2019authentification (par d\u00e9faut admin\/admin).<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>&#91;auth loginpassword]<br>expiration: 60<br>initial_admin_user: admin<br>initial_admin_pass: admin<\/code><\/code><\/pre>\n\n\n\n<p>Pour activer les logs de Prewikka, il faut indiquer un fichier en sortie.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>&#91;log file]<br>level: info<br>file: \/var\/log\/prewikka.log<\/code><\/code><\/pre>\n\n\n\n<p>Il est possible&nbsp;de d\u00e9finir des commandes sp\u00e9cifiques qui peuvent \u00eatres lanc\u00e9s sur les h\u00f4tes sources et destinations.&nbsp;Ces commandes peuvent \u00eatres utilis\u00e9es pour r\u00e9cup\u00e9rer des informations suppl\u00e9mentaires sur les h\u00f4tes sources et destinations.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>&#91;host_commands]<br>whois: \/usr\/bin\/whois $host<br>traceroute: \/usr\/bin\/traceroute $host<\/code><\/code><\/pre>\n\n\n\n<p>Si les commandes&nbsp;<strong>whois<\/strong>&nbsp;et&nbsp;<strong>traceroute&nbsp;<\/strong>ne sont pas install\u00e9 sur votre machine, il faut les installer.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>apt&nbsp;install whois traceroute<\/code><\/p><\/blockquote>\n\n\n\n<h2 id=\"D\u00e9marrage-de-Prewikka\">D\u00e9marrage de Prewikka<\/h2>\n\n\n\n<p>Dans un premier temps, nous allons cr\u00e9er un script&nbsp;pour pouvoir d\u00e9marrer\/arr\u00eater <strong>Prewikka <\/strong>quand on le souhaite.<\/p>\n\n\n\n<p>Cr\u00e9er un nouveau fichier nomm\u00e9&nbsp;<strong>\/etc\/init.d\/prewikka<\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>nano&nbsp;\/etc\/init.d\/prewikka<\/code><\/p><\/blockquote>\n\n\n\n<p>Et ajouter le script ci-dessous&nbsp;dedans.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/bin\/bash\n\n### BEGIN INIT INFO\n# Provides:          prewikka\n# Required-Start:    $local_fs $remote_fs $network $syslog $named\n# Required-Stop:     $local_fs $remote_fs $network $syslog $named\n# Default-Start:     2 3 4 5\n# Default-Stop:      0 1 6\n# X-Interactive:     true\n# Short-Description: Prewikka est l'interface officielle de Prelude-IDS\n### END INIT INFO\n\n# Variables couleurs\nCSI=\"\\033&#91;\"\nCEND=\"${CSI}0m\"\nCGREEN=\"${CSI}1;32m\"\n\n# PID du processus\nPID=$(netstat -tlnp | awk '\/:8000 *\/ {split($NF,a,\"\/\"); print a&#91;1]}')\n\n# Variable d'environnement PYTHONPATH\nexport PYTHONPATH=\/usr\/local\/lib\/python2.7\/dist-packages:\/usr\/local\/bin\/prewikka-httpd\n\nstart() {\n\n  echo -n \"D\u00e9marrage de Prewikka...\"\n  \/usr\/bin\/prewikka-httpd &amp;\n  echo -e \" ${CGREEN}&#91;OK]${CEND}\"\n\n}\n\nstop() {\n\n  echo -n \"Arr\u00eat de Prewikka...\"\n  kill -9 $PID\n  echo -e \" ${CGREEN}&#91;OK]${CEND}\"\n\n}\n\nstatus() {\n\n  if &#91;&#91; $PID -gt 0 ]]; then\n    echo -e \"Prewikka est actuellement en service ${CGREEN}&#91;OK]${CEND}\"\n  else\n    echo \"Prewikka n'est pas en service...\"\n  fi\n\n}\n\ncase \"$1\" in\nstart)\n  start\n  ;;\nstop)\n  stop\n  ;;\nrestart)\n  stop\n  start\n  ;;\nstatus)\n  status\n  ;;\n*)\n  echo \"Utilisation: $0 {start|stop|restart|status}\"\n  exit 1\n  ;;\nesac\n\nexit 0<\/code><\/pre>\n\n\n\n<p>Rendez le script ex\u00e9cutable.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>chmod +x \/etc\/init.d\/prewikka<\/code><\/p><\/blockquote>\n\n\n\n<p>Puis d\u00e9marrez <strong>Prewikka <\/strong>avec la commande suivante.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>\/etc\/init.d\/prewikka start<\/code><\/p><\/blockquote>\n\n\n\n<p>Vous pouvez ensuite utiliser votre navigateur pour vous connecter \u00e0 votre machine sur le port <strong>8000 <\/strong>(http:\/\/&lt;votreserveur&gt;:8000).<br>Le login\/mot de passe par d\u00e9faut est&nbsp;<strong>admin<\/strong>.<\/p>\n\n\n\n<p>Sur la gauche, on peut trouver le menu avec les diff\u00e9rentes parties :&nbsp;<strong>Ev\u00e9nements<\/strong>,&nbsp;<strong>Agents<\/strong>,&nbsp;<strong>Param\u00e8tres&nbsp;<\/strong>et&nbsp;<strong>A propos<\/strong>.<\/p>\n\n\n\n<p>L\u2019authentification et la langue de <strong>Prewikka <\/strong>peuvent&nbsp;\u00eatre modifi\u00e9s&nbsp;dans la partie&nbsp;<strong>Param\u00e8tres<\/strong>, au deuxi\u00e8me onglet des Param\u00e8tres, c\u2019est-\u00e0-dire&nbsp;<strong>Mon compte<\/strong>, ainsi que pour le dernier onglet&nbsp;<strong>Utilisateurs<\/strong>, ici, peut \u00eatre cr\u00e9\u00e9 ou modifi\u00e9 des utilisateurs autoris\u00e9s \u00e0 se connecter \u00e0 <strong>Prewikka<\/strong>, en indiquant les droits de chaque utilisateur, et la langue de l\u2019interface.<\/p>\n\n\n\n<h3>Description de l&rsquo;interface<\/h3>\n\n\n\n<p>L\u2019interface de <strong>Prewikka<\/strong> se pr\u00e9sente sous la forme d\u2019une fen\u00eatre principale au centre de l\u2019\u00e9cran, affichant les alertes re\u00e7ues des sondes Prelude.<\/p>\n\n\n\n<p>La section <strong>\u00c9v\u00e9nements<\/strong> correspond \u00e0 l\u2019affichage des alertes IDS et constitue la page d\u2019accueil par d\u00e9faut de Prewikka.<br>Elle propose trois onglets : <strong>Alertes<\/strong>, <strong>Alertes de corr\u00e9lation<\/strong> et <strong>Alertes d\u2019outils<\/strong>.<\/p>\n\n\n\n<ul><li>L\u2019onglet <strong>Alertes<\/strong> (s\u00e9lectionn\u00e9 par d\u00e9faut) regroupe l\u2019ensemble des alertes, qu\u2019elles soient corr\u00e9l\u00e9es ou non.<\/li><li>L\u2019onglet <strong>Alertes de corr\u00e9lation<\/strong> permet de consulter uniquement celles g\u00e9n\u00e9r\u00e9es par <strong>Prelude-Correlator<\/strong>.<\/li><li>Enfin, l\u2019onglet <strong>Alertes d\u2019outils<\/strong> affiche les alertes issues des sondes et autres outils de d\u00e9tection.<\/li><\/ul>\n\n\n\n<p>Quel que soit l\u2019onglet s\u00e9lectionn\u00e9, il est g\u00e9n\u00e9ralement possible d\u2019afficher le d\u00e9tail des alertes. Pour cela, il suffit de cliquer soit directement sur le titre de l\u2019alerte, soit sur le nombre indiqu\u00e9 \u00e0 c\u00f4t\u00e9 du titre lorsqu\u2019il existe plusieurs occurrences.<\/p>\n\n\n\n<p>Apr\u00e8s avoir cliqu\u00e9 sur une alerte, Prewikka en affiche le contenu au format <strong>IDMEF<\/strong>, pr\u00e9sent\u00e9 avec une mise en forme <strong>HTML<\/strong>, beaucoup plus lisible et agr\u00e9able qu\u2019un simple fichier de logs.<\/p>\n\n\n\n<p>Concernant l\u2019affichage des alertes, <strong>Prewikka<\/strong> utilise un code couleur afin de faciliter leur identification en fonction de leur niveau de gravit\u00e9.<\/p>\n\n\n\n<ul><li><strong><span style=\"color:#4e6ce4\" class=\"has-inline-color\">Bleu<\/span><\/strong> \u2192 niveau d\u2019information (<em>info<\/em>)<\/li><li><strong><span style=\"color:#00a30a\" class=\"has-inline-color\">Vert<\/span><\/strong> \u2192 niveau faible (<em>low<\/em>)<\/li><li><strong><span style=\"color:#a35400\" class=\"has-inline-color\">Orange<\/span><\/strong> \u2192 niveau interm\u00e9diaire (<em>medium<\/em>)<\/li><li><strong><span style=\"color:#a30900\" class=\"has-inline-color\">Rouge<\/span><\/strong> \u2192 niveau critique (<em>high<\/em>)<\/li><\/ul>\n\n\n\n<p>Les alertes sont pr\u00e9sent\u00e9es sous forme de <strong>tableau<\/strong> comportant plusieurs colonnes :<\/p>\n\n\n\n<ul><li>la <strong>classification<\/strong> (nom de l\u2019alerte, \u2026),<\/li><li>la <strong>source<\/strong> \u00e0 l\u2019origine de l\u2019alerte,<\/li><li>la <strong>destination<\/strong> de l\u2019\u00e9v\u00e9nement,<\/li><li>le <strong>nom de la sonde<\/strong> ayant transmis l\u2019alerte \u00e0 Prelude,<\/li><li>et enfin la <strong>date\/heure<\/strong> de r\u00e9ception par le <strong>Prelude-Manager<\/strong>.<\/li><\/ul>\n\n\n\n<p>Dans chacun des onglets de la section <strong>\u00c9v\u00e9nements<\/strong>, un bouton <strong><em>Effacer<\/em><\/strong> situ\u00e9 en bas de page permet de supprimer les alertes s\u00e9lectionn\u00e9es (soit globalement, soit de mani\u00e8re cibl\u00e9e).<\/p>\n\n\n\n<p>Dans le menu lat\u00e9ral gauche se trouve \u00e9galement le bouton <strong>Agents<\/strong>.<br>Il permet de visualiser l\u2019ensemble des agents qui composent l\u2019architecture r\u00e9seau du projet, c\u2019est-\u00e0-dire les diff\u00e9rentes <strong>sondes<\/strong> connect\u00e9es au serveur Prelude ainsi que ses <strong>composants<\/strong> (comme le Prelude-Manager ou le Prelude-Correlator).<\/p>\n\n\n\n<p>Cette vue offre la possibilit\u00e9 de suivre en temps r\u00e9el l\u2019\u00e9tat des sondes et des composants de Prelude, et d\u2019identifier s\u2019ils sont actuellement <strong>connect\u00e9s<\/strong> ou <strong>non connect\u00e9s<\/strong>.<\/p>\n\n\n\n<p>Comme pour le bouton <strong>\u00c9v\u00e9nements<\/strong>, la section <strong>Agents<\/strong> comporte deux onglets :<\/p>\n\n\n\n<ul><li><strong>Agents<\/strong> : affiche le statut des sondes, comme expliqu\u00e9 pr\u00e9c\u00e9demment.<\/li><li><strong>Pulsations<\/strong> : pr\u00e9sente les v\u00e9rifications de connexion entre les sondes, avec l\u2019heure exacte de chaque test de statut des agents.<\/li><\/ul>\n\n\n\n<p>Le <strong>troisi\u00e8me bouton<\/strong> du menu lat\u00e9ral est <strong>Statistiques<\/strong>.<br>Cette section permet \u00e0 Prelude de g\u00e9n\u00e9rer divers rapports, tels que :<\/p>\n\n\n\n<ul><li>le <strong>Top 10 des adresses IP suspectes<\/strong>,<\/li><li>les <strong>ports scann\u00e9s r\u00e9guli\u00e8rement<\/strong>,<\/li><li>les <strong>types d\u2019alertes d\u00e9tect\u00e9es<\/strong>,<\/li><li>ainsi que la r\u00e9partition selon les <strong>niveaux de gravit\u00e9<\/strong>.<\/li><\/ul>\n\n\n\n<p>Le <strong>quatri\u00e8me bouton<\/strong> du menu est <strong>Param\u00e8tres<\/strong>.<br>Il donne acc\u00e8s \u00e0 un \u00e9diteur permettant de <strong>cr\u00e9er ou modifier des filtres<\/strong> pour l\u2019affichage des alertes.<br>Par exemple, on peut choisir de n\u2019afficher que les alertes issues d\u2019une sonde sp\u00e9cifique.<\/p>\n\n\n\n<p>L\u2019un des principaux atouts de cet \u00e9diteur est qu\u2019il repose sur le format <strong>IDMEF<\/strong>, offrant ainsi une grande flexibilit\u00e9. Toutefois, cela n\u00e9cessite de ma\u00eetriser au moins les bases de cette norme afin de pouvoir exploiter efficacement les diff\u00e9rents champs disponibles dans une alerte IDS.<\/p>\n\n\n\n<p>Pour appliquer un filtre, il suffit, depuis la page d\u2019affichage des alertes, d\u2019utiliser l\u2019outil situ\u00e9 en bas \u00e0 gauche (sous le menu).<br>On peut alors s\u00e9lectionner l\u2019un des filtres cr\u00e9\u00e9s au pr\u00e9alable et l\u2019appliquer directement.<\/p>\n\n\n\n<p>Cet outil, pr\u00e9sent\u00e9 sous forme de menu, ne se limite pas \u00e0 la gestion des filtres :<\/p>\n\n\n\n<ul><li>il propose \u00e9galement des boutons permettant de <strong>naviguer dans l\u2019historique des alertes<\/strong> par tranches d\u2019une heure,<\/li><li>et il offre la possibilit\u00e9 d\u2019appliquer des <strong>filtres sp\u00e9cifiques sur chaque colonne<\/strong> du tableau d\u2019alertes.<br>Par exemple, un clic sur la colonne <strong>Classification<\/strong> permet de filtrer les alertes selon leur type.<\/li><\/ul>\n\n\n\n<p>Enfin, le dernier bouton du menu, <strong>\u00c0 propos<\/strong>, fournit des informations g\u00e9n\u00e9rales sur la solution <strong>Prelude-IDS<\/strong>, notamment la version utilis\u00e9e de <strong>Prewikka<\/strong>, ainsi que diff\u00e9rentes coordonn\u00e9es pour contacter l\u2019\u00e9diteur de Prelude.<\/p>\n\n\n\n<h2 id=\"Installation-de-Snort\">Installation de Snort<\/h2>\n\n\n\n<p><strong>Snort<\/strong> est un syst\u00e8me libre de <strong>d\u00e9tection d\u2019intrusions r\u00e9seau (NIDS)<\/strong>, bas\u00e9 sur des <strong>r\u00e8gles configurables<\/strong> (rules) pour d\u00e9tecter et signaler en temps r\u00e9el les attaques r\u00e9seau.<\/p>\n\n\n\n<p>La prise en charge de <strong>Prelude<\/strong> est int\u00e9gr\u00e9e dans la distribution <strong>Snort<\/strong> pour les versions allant de <strong>2.4.0<\/strong> \u00e0 <strong>2.9.2<\/strong>.<\/p>\n\n\n\n<h3>Pr\u00e9requis<\/h3>\n\n\n\n<p>Pour commencer, il est n\u00e9cessaire d\u2019installer les <strong>outils de compilation<\/strong> ainsi que toutes les <strong>d\u00e9pendances requises par Snort<\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>apt install build-essential libnet1-dev libpcap0.8-dev libpcre3-dev<\/code><\/p><\/blockquote>\n\n\n\n<p>Il est \u00e9galement n\u00e9cessaire d\u2019installer <strong>libprelude-config<\/strong>, un script Shell utilis\u00e9 pour d\u00e9terminer les <strong>options du compilateur et de l\u2019\u00e9diteur de liens<\/strong> \u00e0 utiliser lors de la compilation et du lien des programmes qui exploitent la biblioth\u00e8que <strong>libprelude<\/strong>.<br>Ce script est fourni par le paquet <strong>libprelude-dev<\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>apt install libprelude-dev<\/code><\/p><\/blockquote>\n\n\n\n<p>Une fois les d\u00e9pendances et libprelude install\u00e9s, on peut commencer <strong>l\u2019installation de Snort<\/strong>.<\/p>\n\n\n\n<h3>compilation&nbsp;et installation de&nbsp;Snort<\/h3>\n\n\n\n<p>T\u00e9l\u00e9chargez et d\u00e9compressez <strong>Snort<\/strong><\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>cd \/tmp<br>wget https:\/\/www.snort.org\/downloads\/archive\/snort\/snort-2.8.4.1.tar.gz<br>tar -zxf snort-2.8.4.1.tar.gz<br>cd snort-2.8.4.1<\/code><\/p><\/blockquote>\n\n\n\n<p>Utilisez&nbsp;le script&nbsp;<strong>configure<\/strong>&nbsp;pour ajouter le support de Prelude, les d\u00e9pendances et pr\u00e9parer Snort \u00e0 \u00eatre compiler.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>.\/configure --enable-dynamicplugin --enable-prelude<\/code><\/p><\/blockquote>\n\n\n\n<p>Une fois la configuration termin\u00e9e, compilez et installez Snort.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>make<br>make install<\/code><\/p><\/blockquote>\n\n\n\n<p>Cr\u00e9ez deux dossiers, un pour stocker les fichiers de configuration, l&rsquo;autre pour stocker les r\u00e8gles Snort.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>mkdir \/etc\/snort<br>mkdir \/etc\/snort\/rules<\/code><\/p><\/blockquote>\n\n\n\n<p>Cr\u00e9ez un dossier de log pour Snort.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>mkdir \/var\/log\/snort<\/code><\/p><\/blockquote>\n\n\n\n<p>Copiez les fichiers de configuration de Snort dans le dossier&nbsp;<strong>\/etc\/snort\/<\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>cp \/tmp\/snort-2.8.4.1\/etc\/*.conf* \/etc\/snort<br>cp \/tmp\/snort-2.8.4.1\/etc\/*.map \/etc\/snort<\/code><\/p><\/blockquote>\n\n\n\n<h3>Ajout des r\u00e8gles Snort<\/h3>\n\n\n\n<p>T\u00e9l\u00e9chargez les r\u00e9gles Snort&nbsp;et d\u00e9compressez les.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>mkdir \/tmp\/snortrules-snapshot-2.8<br>cd \/tmp\/snortrules-snapshot-2.8<br>wget https:\/\/versaweb.dl.sourceforge.net\/project\/snortsnortsam\/snortrules-snapshot-2.8.tar.gz<br>tar -zxf snortrules-snapshot-2.8.tar.gz<br>mv rules\/* \/etc\/snort\/rules<\/code><\/p><\/blockquote>\n\n\n\n<h3>Configuration de Snort<\/h3>\n\n\n\n<p>Pour configurer Snort, il faut \u00e9diter le fichier&nbsp;<strong>\/etc\/snort\/snort.conf<\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>nano&nbsp;\/etc\/snort\/snort.conf<\/code><\/p><\/blockquote>\n\n\n\n<p>Dans le fichier&nbsp;<strong>snort.conf<\/strong>, voici les param\u00e8tres de base \u00e0 indiquer pour le bon fonctionnement de Snort.<\/p>\n\n\n\n<p>Il est important d\u2019indiquer le r\u00e9pertoire contenant les r\u00e8gles.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>var RULE_PATH \/etc\/snort\/rules<\/code><\/pre>\n\n\n\n<p>Ensuite pour relayer les alertes de Snort vers le serveur Prelude.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>output alert_prelude: profile=snort<\/code><\/code><\/pre>\n\n\n\n<h3>Test de la configuration de Snort<\/h3>\n\n\n\n<p>Editez le fichier&nbsp;<strong>\/etc\/snort\/rules\/local.rules<\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>nano&nbsp;\/etc\/snort\/rules\/local.rules<\/code><\/p><\/blockquote>\n\n\n\n<p>Puis y ajouter cette ligne de test, qui sert \u00e0 envoyer des alertes lorsque Snort sniffe et d\u00e9tecte des <strong>pings<\/strong> sur le r\u00e9seau.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>alert icmp any any -&gt; any any (msg:\"test ICMP\";sid:10000001;)<\/code><\/code><\/pre>\n\n\n\n<p>Nous allons v\u00e9rifier que notre alerte fonctionne bien. Lancez l\u2019outil&nbsp;<strong>Snort<\/strong>&nbsp;avec la commande suivante (pensez \u00e0 adapter le nom de l\u2019interface si elle est diff\u00e9rente de&nbsp;<strong>eth0<\/strong>):<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>snort -A console -i eth0&nbsp;-c \/etc\/snort\/snort.conf<\/code><\/p><\/blockquote>\n\n\n\n<p>Lancez un&nbsp;<strong>ping&nbsp;<\/strong>a partir de n\u2019importe quelle machine de votre r\u00e9seau. Vous devriez voir appara\u00eetre l\u2019alerte que nous venons de cr\u00e9er.<\/p>\n\n\n\n<p>Appuyez sur&nbsp;<strong>Ctrl + C<\/strong>&nbsp;pour stopper&nbsp;<strong>Snort<\/strong>.<\/p>\n\n\n\n<p>Vous pouvez maintenent supprimez la ligne de test du fichier&nbsp;<strong>local.rules<\/strong>.<\/p>\n\n\n\n<h3>Activation\/D\u00e9sactivation d&rsquo;une r\u00e8gle<\/h3>\n\n\n\n<p>Toujours dans le fichier de configuration de Snort, il est possible&nbsp;d\u2019activer ou bien de d\u00e9sactiver les r\u00e8gles. Il suffit pour cela, respectivement de d\u00e9commenter ou de commenter une r\u00e8gle.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>include $RULE_PATH\/other-ids.rules<br># include $RULE_PATH\/web-attacks.rules<\/code><\/code><\/pre>\n\n\n\n<h3>Ajouter Snort en tant que sonde de Prelude<\/h3>\n\n\n\n<p>C&rsquo;est le m\u00eame principe qu&rsquo;avez les&nbsp;sonde <strong>Prelude-Correlator<\/strong> et <strong>Prelude-lml<\/strong>, on va devoir utiliser deux commandes en parall\u00e8le, une pour g\u00e9n\u00e9rer un mot de passe unique et accepter la requ\u00eate puis l&rsquo;autre pour enregistrer la nouvelle sonde.<\/p>\n\n\n\n<p>Taper cette commande&nbsp;<strong>dans un autre terminal<\/strong>&nbsp;pour mettre le serveur Prelude en mode \u00e9coute pour enregistrer une sonde ou un plugin.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>prelude-admin registration-server prelude-manager<\/code><\/p><\/blockquote>\n\n\n\n<p>La commande g\u00e9n\u00e8re alors un <strong>mot de passe \u00e0 usage unique<\/strong> et reste en \u00e9coute. Il ne reste plus qu\u2019\u00e0 enregistrer un composant.<\/p>\n\n\n\n<p><strong>Dans un autre terminal<\/strong>, entrez cette commande pour enregistrer la sonde <strong>Snort<\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>prelude-admin register snort \"idmef:rw admin:r\" 127.0.0.1 --uid 0 --gid 0<\/code><\/p><\/blockquote>\n\n\n\n<p>Ensuite entrez le <strong><strong>mot de passe \u00e0 usage unique<\/strong><\/strong> g\u00e9n\u00e9r\u00e9 par l&rsquo;utilitaire d&rsquo;installation, une confirmation vous sera demand\u00e9e <strong>dans l&rsquo;autre terminal<\/strong>, acceptez en appuyant sur\u00a0<strong>Y<\/strong>.<\/p>\n\n\n\n<p>L&rsquo;enregistrement de <strong>Snort<\/strong> est r\u00e9ussi.<\/p>\n\n\n\n<h2 id=\"D\u00e9marrage-de-Snort\">D\u00e9marrage de Snort<\/h2>\n\n\n\n<p>Dans un premier temps, nous allons cr\u00e9er un script&nbsp;pour pouvoir d\u00e9marrer\/arr\u00eater <strong>Snort<\/strong> quand on le souhaite.<\/p>\n\n\n\n<p>Cr\u00e9er un nouveau fichier nomm\u00e9&nbsp;<strong>\/etc\/init.d\/snort<\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>nano&nbsp;\/etc\/init.d\/snort<\/code><\/p><\/blockquote>\n\n\n\n<p>Et ajouter le script ci-dessous&nbsp;dedans (pensez \u00e0 adapter le nom de l\u2019interface si elle est diff\u00e9rente de&nbsp;<strong>eth0<\/strong>).<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/bin\/bash\n\n### BEGIN INIT INFO\n# Provides:          snort\n# Required-Start:    $time $network $local_fs $remote_fs\n# Required-Stop:     $network $remote_fs\n# Should-Start:      $syslog\n# Should-Stop:\n# Default-Start:     2 3 4 5\n# Default-Stop:      0 1 6\n# Short-Description: Lightweight network intrusion detection system\n# Description:       Intrusion detection system that will\n#                    capture traffic from the network cards and will\n#                    match against a set of known attacks.\n### END INIT INFO\n\n# Variables couleurs\nCSI=\"\\033&#91;\"\nCEND=\"${CSI}0m\"\nCGREEN=\"${CSI}1;32m\"\n\n# PID du processus\nPID=$(pidof snort)\n\n# Variable d'environnement\nPATH=\/usr\/local\/sbin:\/usr\/local\/bin:\/sbin:\/bin:\/usr\/sbin:\/usr\/bin\n\nstart() {\n\n  echo -n \"D\u00e9marrage de Snort...\"\n  \/usr\/local\/bin\/snort -u root -g root -c \/etc\/snort\/snort.conf -D -i eth0\n  echo -e \" ${CGREEN}&#91;OK]${CEND}\"\n\n}\n\nstop() {\n\n  echo -n \"Arr\u00eat de Snort...\"\n  kill -9 $PID\n  echo -e \" ${CGREEN}&#91;OK]${CEND}\"\n\n}\n\nstatus() {\n\n  if &#91;&#91; $PID -gt 0 ]]; then\n    echo -e \"Snort est actuellement en service ${CGREEN}&#91;OK]${CEND}\"\n  else\n    echo \"Snort n'est pas en service...\"\n  fi\n\n}\n\ncase \"$1\" in\nstart)\n  start\n  ;;\nstop)\n  stop\n  ;;\nrestart)\n  stop\n  start\n  ;;\nstatus)\n  status\n  ;;\n*)\n  echo \"Utilisation: $0 {start|stop|restart|status}\"\n  exit 1\n  ;;\nesac\n\nexit 0<\/code><\/pre>\n\n\n\n<p>Rendez le script ex\u00e9cutable.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>chmod +x \/etc\/init.d\/snort<\/code><\/p><\/blockquote>\n\n\n\n<p>Puis d\u00e9marrez <strong>Snort<\/strong> avec la commande suivante.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>\/etc\/init.d\/snort start<\/code><\/p><\/blockquote>\n\n\n\n<h3>V\u00e9rification du fonctionnement de la&nbsp;sonde snort<\/h3>\n\n\n\n<p>Bon maintenant que tout est enfin en place, on va v\u00e9rifier \u00e0 partir de <strong>Prewikka<\/strong>, que toutes les sondes sont bien actives et op\u00e9rationnelles.<\/p>\n\n\n\n<p>Avec&nbsp;votre navigateur connectez vous \u00e0 l&rsquo;interface web de <strong>Prewikka<\/strong>&nbsp;(http:\/\/&lt;votreserveur&gt;:8000), et&nbsp;v\u00e9rifiez que les 4 agents sont bien en marche.<\/p>\n\n\n\n<p>Vous pouvez aussi v\u00e9rifier l&rsquo;enregistrement&nbsp;des 4 agents avec cette&nbsp;la commande.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>prelude-admin list<\/code><\/p><\/blockquote>\n\n\n\n<h2 id=\"Installation-d'Ossec\">Installation d&rsquo;Ossec<\/h2>\n\n\n\n<p><strong>Ossec<\/strong> est un syst\u00e8me libre de <strong>d\u00e9tection d\u2019intrusion bas\u00e9 sur l\u2019h\u00f4te (HIDS)<\/strong>, qui analyse les logs, surveille l\u2019int\u00e9grit\u00e9 des fichiers et peut r\u00e9agir automatiquement aux menaces.<\/p>\n\n\n\n<p>La prise en charge de <strong>Prelude<\/strong> est int\u00e9gr\u00e9e dans la distribution <strong>Ossec<\/strong> pour les versions allant de <strong>1.4<\/strong> \u00e0 <strong>2.9.4<\/strong>.<\/p>\n\n\n\n<h3>Pr\u00e9requis<\/h3>\n\n\n\n<p>Pour d\u00e9buter, il faut au pr\u00e9alable installer certains paquets, si ils ne sont pas d\u00e9j\u00e0 install\u00e9s.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>apt install libgcrypt20-dev libgnutls28-dev<\/code><\/p><\/blockquote>\n\n\n\n<p>Maintenant, l\u2019installation d&rsquo;<strong>Ossec<\/strong> peut commencer.<\/p>\n\n\n\n<h3>compilation&nbsp;et installation d&rsquo;Ossec<\/h3>\n\n\n\n<p>T\u00e9l\u00e9chargez <strong>Ossec<\/strong>&nbsp;et d\u00e9compressez le.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>cd \/tmp<br>wget https:\/\/github.com\/ossec\/ossec-hids\/archive\/refs\/tags\/v2.8.3.tar.gz<br>tar -zxf v2.8.3.tar.gz<br>cd ossec-hids-2.8.3<\/code><\/p><\/blockquote>\n\n\n\n<p>Afin qu\u2019<strong>Ossec<\/strong> prenne en charge <strong>Prelude<\/strong> il faut ajouter&nbsp;le support de <strong>Prelude<\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>cd src<br>make setprelude<br>cd ..<\/code><\/p><\/blockquote>\n\n\n\n<p>Puis lancez le script d&rsquo;installation.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>.\/install.sh<\/code><\/p><\/blockquote>\n\n\n\n<p>Ensuite, il ne reste plus qu\u2019\u00e0 suivre les instructions.&nbsp;<br>Choisissez la langue.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>fr<\/code><\/code><\/pre>\n\n\n\n<p>Ensuite, il va nous avertir que nous avons besoin d&rsquo;un compilateur C sur la machine, et vous donner des informations g\u00e9n\u00e9rales sur votre ordinateur (version du noyau, utilisateur et h\u00f4te).<\/p>\n\n\n\n<p>Appuyez sur <strong>Entr\u00e9e<\/strong> comme il est dit.<\/p>\n\n\n\n<p>S\u00e9lectionnez ensuite une installation locale.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>local<\/code><\/code><\/pre>\n\n\n\n<p>Choisissez maintenant votre r\u00e9pertoire d&rsquo;installation, utilisez la valeur par d\u00e9faut ou modifiez-la si vous le souhaitez.<\/p>\n\n\n\n<p>S\u00e9lectionnez maintenant vos options de notification.&nbsp;<br>Je recommanderais de r\u00e9pondre&nbsp;<strong>o<\/strong>&nbsp;\u00e0 tout.&nbsp;Les r\u00e9ponses actives sont vraiment sympas.&nbsp;<br>Il d\u00e9finira des variables de configuration par d\u00e9faut en fonction de vos r\u00e9ponses et de certaines choses qu&rsquo;il trouvera sur votre syst\u00e8me.<\/p>\n\n\n\n<p>Maintenant, <strong>Ossec<\/strong>&nbsp;compilera tout. Une fois la compilation termin\u00e9e, appuyez sur <strong>Entr\u00e9e<\/strong> pour terminer.<\/p>\n\n\n\n<h3>Configuration d&rsquo;Ossec<\/h3>\n\n\n\n<p>Pour configurer&nbsp;<strong>Ossec<\/strong>, il faut \u00e9diter le fichier<strong><em>&nbsp;\/var\/ossec\/etc\/ossec.conf<\/em><\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>nano&nbsp;\/var\/ossec\/etc\/ossec.conf<\/code><\/p><\/blockquote>\n\n\n\n<p>Dans le fichier&nbsp;<strong>ossec.conf<\/strong>, voici les param\u00e8tres de base \u00e0 indiquer pour le bon fonctionnement de <strong>Ossec<\/strong>.<\/p>\n\n\n\n<p>pour relayer les alertes d&rsquo;<strong>Ossec&nbsp;<\/strong>vers le serveur <strong>Prelude<\/strong> il faut ajouter&nbsp;les lignes suivantes dans la section<strong>&nbsp;&lt;ossec_config&gt;<\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>&lt;global&gt;<br>&nbsp;&nbsp;&nbsp; &lt;!-- Configuration de prelude --&gt;<br>&nbsp;&nbsp;&nbsp; &lt;prelude_output&gt;yes&lt;\/prelude_output&gt;<br>&nbsp;&nbsp;&nbsp; &lt;prelude_profile&gt;ossec&lt;\/prelude_profile&gt;<br>&nbsp;&nbsp;&nbsp; &lt;prelude_log_level&gt;4&lt;\/prelude_log_level&gt;<br>&lt;\/global&gt;<\/code><\/code><\/pre>\n\n\n\n<h3>Ajouter Ossec en tant que sonde de Prelude<\/h3>\n\n\n\n<p>C&rsquo;est le m\u00eame principe qu&rsquo;avez les&nbsp;sonde <strong>Prelude-Correlator <\/strong>et<strong> Prelude-lml <\/strong>et<strong> Snort<\/strong>, on va devoir utiliser deux commandes en parall\u00e8le, une pour g\u00e9n\u00e9rer un mot de passe unique et accepter la requ\u00eate puis l&rsquo;autre pour enregistrer la nouvelle sonde.<\/p>\n\n\n\n<p>Taper cette commande&nbsp;<strong>dans un autre terminal<\/strong>&nbsp;pour mettre le serveur Prelude en mode \u00e9coute pour enregistrer une sonde ou un plugin.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>prelude-admin registration-server prelude-manager<\/code><\/p><\/blockquote>\n\n\n\n<p>La commande g\u00e9n\u00e8re alors un <strong>mot de passe \u00e0 usage unique<\/strong> et reste en \u00e9coute. Il ne reste plus qu\u2019\u00e0 enregistrer un composant.<\/p>\n\n\n\n<p><strong>Dans un autre terminal<\/strong>, entrez cette commande pour enregistrer la sonde&nbsp;<strong>Ossec<\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>prelude-admin register ossec \"idmef:rw admin:r\" 127.0.0.1 --uid 0 --gid 0<\/code><\/p><\/blockquote>\n\n\n\n<p>Ensuite entrez le <strong>mot de passe \u00e0 usage unique<\/strong> g\u00e9n\u00e9r\u00e9 par l&rsquo;utilitaire d&rsquo;installation, une confirmation vous sera demand\u00e9e <strong>dans l&rsquo;autre terminal<\/strong>, acceptez en appuyant sur\u00a0<strong>Y<\/strong>.<\/p>\n\n\n\n<p>L&rsquo;enregistrement d&rsquo;<strong>Ossec<\/strong>\u00a0est r\u00e9ussi.<\/p>\n\n\n\n<h2 id=\"D\u00e9marrage-d'Ossec\">D\u00e9marrage d&rsquo;Ossec<\/h2>\n\n\n\n<p>Puis d\u00e9marrez <strong>Ossec<\/strong> avec la commande suivante.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>\/etc\/init.d\/ossec&nbsp;start<\/code><\/p><\/blockquote>\n\n\n\n<h3>V\u00e9rification du fonctionnement de la\u00a0sonde ossec<\/h3>\n\n\n\n<p>Bon maintenant que tout est enfin en place, on va v\u00e9rifier \u00e0 partir de <strong>Prewikka<\/strong>, que toutes les sondes sont bien actives et op\u00e9rationnelles.<\/p>\n\n\n\n<p>Avec\u00a0votre navigateur connectez vous \u00e0 l&rsquo;interface web de <strong>Prewikka<\/strong>\u00a0(http:\/\/&lt;votreserveur>:8000), et\u00a0v\u00e9rifiez que les 5\u00a0agents sont bien en marche.<\/p>\n\n\n\n<p>Vous pouvez aussi v\u00e9rifier l&rsquo;enregistrement&nbsp;des 5&nbsp;agents avec cette&nbsp;la commande.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>prelude-admin list<\/code><\/p><\/blockquote>\n\n\n\n<h3>OSSEC Web User Interface<\/h3>\n\n\n\n<p><strong>Ossec<\/strong> dispose aussi d&rsquo;une interface web assez sommaire mais tr\u00e8s utile pour visualiser les alertes. Cette installation n\u2019est pas obligatoire.<\/p>\n\n\n\n<p>Pour installer <strong>Ossec-WUI<\/strong>, il faut au pr\u00e9alable installer certains paquets.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>apt&nbsp;install git apache2 php<\/code><\/p><\/blockquote>\n\n\n\n<p>Clonez le dossier&nbsp;<strong>ossec-wui<\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>git clone https:\/\/github.com\/ossec\/ossec-wui.git<\/code><\/p><\/blockquote>\n\n\n\n<p>D\u00e9placez le dossier vers un endroit accessible \u00e0 votre serveur web.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>mv ossec-wui* \/var\/www\/html\/ossec-wui<\/code><\/p><\/blockquote>\n\n\n\n<p>Ex\u00e9cuter le script d&rsquo;installation.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>cd \/var\/www\/html\/ossec-wui<br>.\/setup.sh<\/code><\/p><\/blockquote>\n\n\n\n<p>Le script demande d\u2019entrer un utilisateur et son mot de passe, \u00e0 utiliser pour administrer l\u2019interface, et le nom d&rsquo;utilisateur de votre serveur Web.<\/p>\n\n\n\n<p>Vous pouvez maintenant acc\u00e9der l&rsquo;interface web d&rsquo;<strong>Ossec<\/strong>\u00a0(http:\/\/&lt;votreserveur>\/ossec-wui\/).<\/p>\n\n\n\n<h2 id=\"D\u00e9marrage-automatique-de-Prelude,-Snort-et-Ossec\">D\u00e9marrage automatique de Prelude, Snort et Ossec<\/h2>\n\n\n\n<p>Pour lancer <strong>Prelude<\/strong>, ses <strong>sondes<\/strong> (correlator, lml, snort, ossec) et <strong>Prewikka<\/strong>, il faut d\u00e9marrer dans un premier temps <strong>Prelude-Manager<\/strong> ensuite les <strong>sondes<\/strong> puis <strong>Prewikka<\/strong>.<\/p>\n\n\n\n<p>Pour simplifier les choses, voici&nbsp;un script pour d\u00e9marrer\/arr\u00eater tous les composants.<\/p>\n\n\n\n<p>Cr\u00e9er un nouveau fichier nomm\u00e9&nbsp;<strong>\/etc\/init.d\/prelude-snort-ossec<\/strong>.&nbsp;<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>nano&nbsp;\/etc\/init.d\/prelude-snort-ossec<\/code><\/p><\/blockquote>\n\n\n\n<p>Et ajouter le script ci-dessous\u00a0dedans.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/bin\/bash\r\n\r\n### BEGIN INIT INFO\r\n# Provides:          prelude-snort-ossec\r\n# Required-Start:    $local_fs $remote_fs $network $syslog $named\r\n# Required-Stop:     $local_fs $remote_fs $network $syslog $named\r\n# Default-Start:     2 3 4 5\r\n# Default-Stop:      0 1 6\r\n# X-Interactive:     true\r\n# Short-Description: Prelude-IDS, Snort, Ossec et Prewikka\r\n### END INIT INFO\r\n\r\n# Variables couleurs\r\nCSI=\"\\033&#91;\"\r\nCEND=\"${CSI}0m\"\r\nCGREEN=\"${CSI}1;32m\"\r\nCRED=\"${CSI}1;31m\"\r\n\r\n# PID des processus \r\nPID_PRELUDE_MANAGER=$(pidof prelude-manager)\r\nPID_PRELUDE_LML=$(pidof prelude-lml)\r\nPID_PRELUDE_CORRELATOR=$(pgrep prelude-correla)\r\nPID_SNORT=$(pidof snort)\r\nPID_OSSEC=$(pgrep ossec)\r\nPID_PREWIKKA=$(pgrep prewikka)\r\n\r\n# Affiche le nombre de PID\r\nPID_OSSEC_WC=$(pgrep ossec | wc -l)\r\n\r\n# Variable d'environnement\r\nPATH=\/usr\/local\/sbin:\/usr\/local\/bin:\/sbin:\/bin:\/usr\/sbin:\/usr\/bin\r\n\r\nstart() {\r\n\r\n# D\u00e9marrage du processus Prelude Manager\r\nif &#91;&#91; $PID_PRELUDE_MANAGER -gt 0 ]]; then\r\n    echo -e \"${CGREEN}&#91;OK]${CEND} Prelude Manager est actuellement en service\"\r\nelse\r\n    echo -en \"${CRED}&#91;KO]${CEND} Prelude Manager n'est pas en service, d\u00e9marrage imminent...\"\r\n    \/etc\/init.d\/prelude-manager start > \/dev\/null 2>&amp;1\r\n    echo -e \" ${CGREEN}&#91;OK]${CEND}\"\r\nfi\r\n\r\n# D\u00e9marrage du processus Prelude LML\r\nif &#91;&#91; $PID_PRELUDE_LML -gt 0 ]]; then\r\n    echo -e \"${CGREEN}&#91;OK]${CEND} Prelude LML est actuellement en service\"\r\nelse\r\n    echo -en \"${CRED}&#91;KO]${CEND} Prelude LML n'est pas en service, d\u00e9marrage imminent...\"\r\n    \/etc\/init.d\/prelude-lml start > \/dev\/null 2>&amp;1\r\n    echo -e \" ${CGREEN}&#91;OK]${CEND}\"\r\nfi\r\n\r\n# D\u00e9marrage du processus Prelude Correlator\r\nif &#91;&#91; $PID_PRELUDE_CORRELATOR -gt 0 ]]; then\r\n    echo -e \"${CGREEN}&#91;OK]${CEND} Prelude Correlator est actuellement en service\"\r\nelse\r\n    echo -en \"${CRED}&#91;KO]${CEND} Prelude Correlator n'est pas en service, d\u00e9marrage imminent...\"\r\n    \/etc\/init.d\/prelude-correlator start > \/dev\/null 2>&amp;1\r\n    echo -e \" ${CGREEN}&#91;OK]${CEND}\"\r\nfi\r\n\r\n# D\u00e9marrage du processus Snort\r\nif &#91;&#91; $PID_SNORT -gt 0 ]]; then\r\n    echo -e \"${CGREEN}&#91;OK]${CEND} Snort est actuellement en service\"\r\nelse\r\n    echo -en \"${CRED}&#91;KO]${CEND} Snort n'est pas en service, d\u00e9marrage imminent...\"\r\n    \/etc\/init.d\/snort start > \/dev\/null 2>&amp;1\r\n    echo -e \" ${CGREEN}&#91;OK]${CEND}\"\r\nfi\r\n\r\n# D\u00e9marrage du processus Ossec\r\nif &#91;&#91; $PID_OSSEC_WC -gt 0 ]]; then\r\n    echo -e \"${CGREEN}&#91;OK]${CEND} Ossec est actuellement en service\"\r\nelse\r\n    echo -en \"${CRED}&#91;KO]${CEND} Ossec n'est pas en service, d\u00e9marrage imminent...\"\r\n    \/etc\/init.d\/ossec start > \/dev\/null 2>&amp;1\r\n    echo -e \" ${CGREEN}&#91;OK]${CEND}\"\r\nfi\r\n\r\n# D\u00e9marrage du processus Prewikka\r\nif &#91;&#91; $PID_PREWIKKA -gt 0 ]]; then\r\n    echo -e \"${CGREEN}&#91;OK]${CEND} Prewikka est actuellement en service\"\r\nelse\r\n    echo -en \"${CRED}&#91;KO]${CEND} Prewikka n'est pas en service, d\u00e9marrage imminent...\"\r\n    \/etc\/init.d\/prewikka start > \/dev\/null 2>&amp;1\r\n    echo -e \" ${CGREEN}&#91;OK]${CEND}\"\r\nfi\r\n\r\n}\r\n\r\nstop() {\r\n\r\n# Arr\u00eat du processus Prelude Manager\r\nif &#91;&#91; $PID_PRELUDE_MANAGER -gt 0 ]]; then\r\n  echo -n \"Arr\u00eat de Prelude Manager...\"\r\n  \/etc\/init.d\/prelude-manager stop > \/dev\/null 2>&amp;1\r\n  echo -e \" ${CGREEN}&#91;OK]${CEND}\"\r\nelse\r\n    echo -e \"${CGREEN}&#91;OK]${CEND} Prelude Manager n'est pas en service\"\r\nfi\r\n\r\n# Arr\u00eat du processus Prelude LML\r\nif &#91;&#91; $PID_PRELUDE_LML -gt 0 ]]; then\r\n  echo -n \"Arr\u00eat de Prelude LML...\"\r\n  \/etc\/init.d\/prelude-lml stop > \/dev\/null 2>&amp;1\r\n  echo -e \" ${CGREEN}&#91;OK]${CEND}\"\r\nelse\r\n    echo -e \"${CGREEN}&#91;OK]${CEND} Prelude LML n'est pas en service\"\r\nfi\r\n\r\n# Arr\u00eat du processus Prelude Correlator\r\nif &#91;&#91; $PID_PRELUDE_CORRELATOR -gt 0 ]]; then\r\n  echo -n \"Arr\u00eat de Prelude Correlator...\"\r\n  \/etc\/init.d\/prelude-correlator stop > \/dev\/null 2>&amp;1\r\n  echo -e \" ${CGREEN}&#91;OK]${CEND}\"\r\nelse\r\n    echo -e \"${CGREEN}&#91;OK]${CEND} Prelude Correlator n'est pas en service\"\r\nfi\r\n\r\n# Arr\u00eat du processus Snort\r\nif &#91;&#91; $PID_SNORT -gt 0 ]]; then\r\n  echo -n \"Arr\u00eat de Snort...\"\r\n  \/etc\/init.d\/snort stop > \/dev\/null 2>&amp;1\r\n  echo -e \" ${CGREEN}&#91;OK]${CEND}\"\r\nelse\r\n    echo -e \"${CGREEN}&#91;OK]${CEND} Snort n'est pas en service\"\r\nfi\r\n\r\n# Arr\u00eat du processus Ossec\r\nif &#91;&#91; $PID_OSSEC_WC -gt 0 ]]; then\r\n  echo -n \"Arr\u00eat de Ossec...\"\r\n  \/etc\/init.d\/ossec stop > \/dev\/null 2>&amp;1\r\n  echo -e \" ${CGREEN}&#91;OK]${CEND}\"\r\nelse\r\n    echo -e \"${CGREEN}&#91;OK]${CEND} Ossec n'est pas en service\"\r\nfi\r\n\r\n# Arr\u00eat du processus Prewikka\r\nif &#91;&#91; $PID_PREWIKKA -gt 0 ]]; then\r\n  echo -n \"Arr\u00eat de Prewikka...\"\r\n  \/etc\/init.d\/prewikka stop > \/dev\/null 2>&amp;1\r\n  echo -e \" ${CGREEN}&#91;OK]${CEND}\"\r\nelse\r\n    echo -e \"${CGREEN}&#91;OK]${CEND} Prewikka n'est pas en service\"\r\nfi\r\n\r\n}\r\n\r\nstatus() {\r\n\r\n# V\u00e9rification du fonctionnement de Prelude Manager\r\nif &#91;&#91; $PID_PRELUDE_MANAGER -gt 0 ]]; then\r\n    echo -e \"${CGREEN}&#91;OK]${CEND} Prelude Manager est actuellement en service\"\r\nelse\r\n    echo -e \"${CRED}&#91;KO]${CEND} Prelude Manager n'est pas en service\"\r\nfi\r\n\r\n# V\u00e9rification du fonctionnement de Prelude LML\r\nif &#91;&#91; $PID_PRELUDE_LML -gt 0 ]]; then\r\n    echo -e \"${CGREEN}&#91;OK]${CEND} Prelude LML est actuellement en service\"\r\nelse\r\n    echo -e \"${CRED}&#91;KO]${CEND} Prelude LML n'est pas en service\"\r\nfi\r\n\r\n# V\u00e9rification du fonctionnement de Prelude Correlator\r\nif &#91;&#91; $PID_PRELUDE_CORRELATOR -gt 0 ]]; then\r\n    echo -e \"${CGREEN}&#91;OK]${CEND} Prelude Correlator est actuellement en service\"\r\nelse\r\n    echo -e \"${CRED}&#91;KO]${CEND} Prelude Correlator n'est pas en service\"\r\nfi\r\n\r\n# V\u00e9rification du fonctionnement de Snort\r\nif &#91;&#91; $PID_SNORT -gt 0 ]]; then\r\n    echo -e \"${CGREEN}&#91;OK]${CEND} Snort est actuellement en service\"\r\nelse\r\n    echo -e \"${CRED}&#91;KO]${CEND} Snort n'est pas en service\"\r\nfi\r\n\r\n# V\u00e9rification du fonctionnement de Ossec\r\nif &#91;&#91; $PID_OSSEC_WC -gt 0 ]]; then\r\n    echo -e \"${CGREEN}&#91;OK]${CEND} Ossec est actuellement en service\"\r\nelse\r\n    echo -e \"${CRED}&#91;KO]${CEND} Ossec n'est pas en service\"\r\nfi\r\n\r\n# V\u00e9rification du fonctionnement de Prewikka\r\nif &#91;&#91; $PID_PREWIKKA -gt 0 ]]; then\r\n    echo -e \"${CGREEN}&#91;OK]${CEND} Prewikka est actuellement en service\"\r\nelse\r\n    echo -e \"${CRED}&#91;KO]${CEND} Prewikka n'est pas en service\"\r\nfi\r\n\r\n}\r\n\r\ncase \"$1\" in\r\nstart)\r\n  start\r\n  ;;\r\nstop)\r\n  stop\r\n  ;;\r\nrestart)\r\n  stop\r\n  start\r\n  ;;\r\nstatus)\r\n  status\r\n  ;;\r\n*)\r\n  echo \"Utilisation: $0 {start|stop|restart|status}\"\r\n  exit 1\r\n  ;;\r\nesac\r\n\r\nexit 0<\/code><\/pre>\n\n\n\n<p>Rendez le script ex\u00e9cutable.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>chmod +x \/etc\/init.d\/prelude-snort-ossec<\/code><\/p><\/blockquote>\n\n\n\n<p>Puis executez le avec la commande suivante.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>\/etc\/init.d\/prelude-snort-ossec start<\/code><\/p><\/blockquote>\n\n\n\n<h3>Cr\u00e9er un nouveau service<\/h3>\n\n\n\n<p>Pour finir nous allons cr\u00e9er un service pour ex\u00e9cuter le script\u00a0<strong>prelude-snort-ossec<\/strong>\u00a0au d\u00e9marrage du syst\u00e8me.<\/p>\n\n\n\n<p>Cr\u00e9er un nouveau fichier nomm\u00e9&nbsp;<strong>\/etc\/systemd\/system\/prelude-snort-ossec.service<\/strong>.&nbsp;<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>nano \/etc\/systemd\/system\/prelude-snort-ossec.service<\/code><\/p><\/blockquote>\n\n\n\n<p>Et ajouter le script ci-dessous\u00a0dedans.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;Unit]\r\nDescription=Lance Prelude Snort Ossec\r\nRequires=network-online.target\r\nAfter=network-online.target\r\n \r\n&#91;Service]\r\nUser=root\r\nGroup=root\r\nType=oneshot\r\nRemainAfterExit=yes\r\nExecStart=\/etc\/init.d\/prelude-snort-ossec start\r\nExecStop=\/etc\/init.d\/prelude-snort-ossec stop\r\n \r\n&#91;Install]\r\nWantedBy=multi-user.target<\/code><\/pre>\n\n\n\n<p>Notifier&nbsp;<strong>systemd&nbsp;<\/strong>qu&rsquo;un nouveau fichier&nbsp;<strong>prelude-snort-ossec.service<\/strong>&nbsp;existe en ex\u00e9cutant la commande suivante.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>systemctl daemon-reload<\/code><\/p><\/blockquote>\n\n\n\n<p>Pour que le service soit lanc\u00e9 au d\u00e9marrage du syst\u00e8me.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>systemctl enable prelude-snort-ossec.service<\/code><\/p><\/blockquote>\n\n\n\n<p>Et pour d\u00e9marrer le service.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><code>systemctl start prelude-snort-ossec.service<\/code><\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Prelude est un syst\u00e8me de d\u00e9tection d\u2019intrusion hybride (NIDS &#038; HIDS) compos\u00e9 de plusieurs agents et sondes. Sa modularit\u00e9 permet d\u2019ajouter facilement de nouveaux types de d\u00e9tecteurs d\u2019intrusion, d\u2019analyseurs de logs et une solution de corr\u00e9lation.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[2],"tags":[13,14,8,15],"_links":{"self":[{"href":"https:\/\/ligfy.net\/wordpress\/wp-json\/wp\/v2\/posts\/284"}],"collection":[{"href":"https:\/\/ligfy.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ligfy.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ligfy.net\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ligfy.net\/wordpress\/wp-json\/wp\/v2\/comments?post=284"}],"version-history":[{"count":32,"href":"https:\/\/ligfy.net\/wordpress\/wp-json\/wp\/v2\/posts\/284\/revisions"}],"predecessor-version":[{"id":323,"href":"https:\/\/ligfy.net\/wordpress\/wp-json\/wp\/v2\/posts\/284\/revisions\/323"}],"wp:attachment":[{"href":"https:\/\/ligfy.net\/wordpress\/wp-json\/wp\/v2\/media?parent=284"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ligfy.net\/wordpress\/wp-json\/wp\/v2\/categories?post=284"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ligfy.net\/wordpress\/wp-json\/wp\/v2\/tags?post=284"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}