Installation dans une machine KVM munie d'une debian Stretch "de base".
Installation d'un environnement de compilation : gcc ... make.
La aussi j'ai du effectuer un ln -s
cd /usr/bin
sudo ln -s gcc-6 cc
Curieusement ar,nm et ranlib étaient OK.
Aucun autre pré-requis pour l'installation de l'agent.
Lancer la compilation :
cd le_répertoire de compil/src make TARGET=agent 2>&1 | tee LOG.MAKE CC external/cJSON/cJSON.o LINK libcJSON.a RANLIB libcJSON.a ...... make[1]: Leaving directory '/usr/src/PGM/BUILD/ossec-hids-master/src' Done building agent |
La trace ne montre aucune erreur ou même warning, on va donc pouvoir lancer le script "install.sh" (toujours dans le répertoire de compil) ... et voir la trace d'installation.
Tout s'est bien passé, on passe en "root" pour aller faire les ajustements de paramétrage nécessaires du fichier ossec.conf :
- enlever les fichiers inutiles (avec prudence)
- paramétrer les répertoires à surveiller
- ...
Le fichier agent.conf a disparu ce qui est plutôt un bien.
Il faut maintenant extraire une clef du serveur :
cd /var/ossec/bin Confirm adding it?(y/n): -->y ** Press ENTER to return to the main menu. |
Copier cette valeur de "clef" pour recopie sur le client.
Sur la machine cliente :
cd /var/ossec/bin * Provide the Key generated by the server. Paste it here (or '\q' to quit): xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxU= |
Puis lancer notre agent et aller voir ce qui se passe dans les logs, pour moi tout est OK. Ne pas oublier de mettre le lancement en mode automatique :
update-rc.d ossec enable
systemctl start ossec
Et rien n'apparait dans la base de données du serveur, un oeil sur les logs qui montre des messages :
...ossec-syscheckd: WARN: Process locked. Waiting for permission...
...ossec-logcollector: WARN: Process locked. Waiting for permission...
Il suffit d'enlever le fichier /var/ossec/queue/ossec/.wait et tout rentre dans l'ordre.
Au bout de quelques minutes des messages apparaissent sur le serveur ce qui est plutôt bon signe.
En bref : tout c'est (presque) bien passé.
Petit contrôle sur le serveur :
mysql .... select lo.name,al.rule_id from alert al, location lo where al.location_id = lo.id order by 1; |
Si cela "crache" quelque chose avec le nom du client dans la "location" c'est bon signe.