OSSEC V3.0.0 stable Installation serveur

OSSEC V3.0.0 stable Installation serveur jpp

J'ai commencé par télécharger l'archive par : 
 wget https://github.com/ossec/ossec-hids/archive/master.zip

Pour changer de Mysql (bloqué en 5.5.999 dans Stretch) j'installe MariaDB 10.1 qui, lui, estprésent dans Stretch. 
Pré-requis : 
un compilateur ... 
make 
Il m'a fallu faire un "ln -s " pour la commande "cc", "ar" et "nm" étaient OK. 
libmysql++-dev 
apt-get install libmysql++-dev 
qui installe aussi default-libmysqlclient-dev libmariadbclient-dev libmariadbclient-dev-compat libmysql++3v5 zlib1g-dev. 
Par précaution j'ai créé par avance un utilisateur "ossec"" avec son groupe.

Après dézippage de l'archive qui crée un répertoire "ossec-hids-master" on entre dans le vif du sujet et dans ce répertoire puis :

cd src 
make clean 
make TARGET=server DATABASE=mysql 2>&1 | tee LOG.MAKE

Tout se déroule bien et un examen du log ne montre que quelques warnings correspondant à des variables non initialisées.

La trace complète de la compilation est disponible ICI. 
Tout ceci étant OK on va pouvoir se lancer dans la procédure d'installation .

cd ossec-hids-master 
sudo ./install.sh

... 
  ** Para instalar en Español , eliga [es]. 
  ** Pour une installation en français, choisissez [fr] 
  ** A Magyar nyelvű telepítéshez válassza [hu]. 
.... 
  (en/br/cn/de/el/es/fr/hu/it/jp/nl/pl/ru/sr/tr) [en]: --> fr

Je vous épargne ici la trace complète que vous pouvez consulter ici. 
Le script "ossec" a été ajouté dans "/etc/init.d" mais aucun process ne tourne, un regard rapide dans le répertoire "/var/ossec" montre la structure de l'installation :

ls -1 /var/ossec 
active-response 
agentless 
bin 
etc 
logs 
lua 
queue 
rules 
stats 
tmp 
var

Ceci ressemble furieusement à d'autres installations de OSSEC.

Il nous reste maintenant à nous occuper de la base de données. 
Un magnifique fichier "./src/os_dbd/mysql.schema" attire l'oeil, et un examen superficiel montre que la structure de la base est identique à celle de la version 2.9.3. Mais il faut d'abord créer utilisateur et base de données, on lance donc mysql :

mysql --user=root -p 
create database ossec_base; 
create user 'ossec'@'localhost' identified by 'User_Ossec_1234'; 
create user 'ossec'@'ip_du_serveur_web' identified by 'User_Ossec_1234'; 
use ossec_base; 
source ./src/os_dbd/mysql.schema 
.... 
show tables; 
+----------------------------+ 
| Tables_in_ossec_base       | 
+----------------------------+ 
| agent                      | 
| alert                      | 
| category                   | 
| location                   | 
| server                     | 
| signature                  | 
| signature_category_mapping | 
+----------------------------+ 
7 rows in set (0.00 sec) 
-- Autoriser notre user (localhost) sur cette base. 
grant all on ossec_base.* to 'ossec'@'localhost'; 
grant select,insert,update,delete on ossec_base.* to 'ossec'@'ip_du_serveur_web'; 
-- On réduira les droits plus tard

Je vous conseille aussi de créer un "trigger" sur la table "alert" afin de s'assurer que toute signature est bien définie dans la table signature afin que tout fonctionne normalement. Pour cette action voir ici.

PS : au passage créer un utilisateur spécifique comme DBA, il n'y en a pas par défaut et 'root' ne convient pas pour MariaDB (10.1). Par contre cela est OK en 10.3.

Si vous voulez initialiser les tables (signature, category et signature_category_mapping) avec les valeurs que j'utilise, voir la page ici. 
Il nous faut maintenant activer le support BDD :

passer en "root" 
cd /var/ossec/bin 
./ossec-control enable database

La base est initialisée et il ne reste plus qu'à indiquer les éléments de connexion dans le fichier /var/ossec/etc/ossec.conf :

<database_output> 
    <hostname>127.0.0.1</hostname> 
    <port>3306</port> 
    <username>le_user</username> 
    <password>le_mot_de_passe</password> 
    <database>la_base</database> 
    <type>mysql</type> 
  </database_output>

Au passage il est bon de supprimer (ou commenter) les fichiers de règles qui ne vous concernent pas, cela allègera la config. Attention il peut y avoir des problèmes au redémarrage car certains fichiers présentent des éléments liés à d'autres fichiers ... mais il y a un message d'erreur à peu près explicatif dans les logs.

On lance pour voir :

/etc/init.d/ossec start 
Starting OSSEC HIDS v3.0.0 (by Trend Micro Inc.)... 
Started ossec-dbd... 
Started ossec-execd... 
Started ossec-analysisd... 
Started ossec-logcollector... 
Started ossec-remoted... 
Started ossec-syscheckd... 
Started ossec-monitord... 
Completed.

Tout s'est bien lancé ! Et on a même déjà un fichier "log" dans /var/ossec/logs", un petit regard dans ce fichier ne montre aucune anomalie, c'est le pied ! Et, en plus au bout de quelques secondes la table "alert" enregistre ses premiers rangs.