• en: OSSEC HIDS - Intrusion detection ()
  • blog-image

    OSSEC HIDS - Détecteur d'intrusions

    • dHENRY
    • 15/11/2018
    • (Durée de lecture : 4 mn)

    Cette procédure indique comment installer OSSEC HIDS sur un Raspberry PI3 ou un ROCK64 (pine64) en architecture serveur/agents, à partir des sources OSSEC

    Pour plus d’informations sur ce détecteur d’intrusion consulter le site https://www.ossec.net/index.html

    Pré-conditions

    Pour installer OSSEC HIDS à partir des sources vous devrez disposer de certains paquets :

    apt install unzip build-essential  
    

    Le serveur doit disposer d’un service de mails opérationnel pour l’ensemble serveur/agents

    Installation

    Récupérez les sources au format zip sur https://github.com/ossec/ossec-hids/archive/master.zip[](https://github.com/ossec/ossec-hids/releases/)

    Vous souhaitez que OSSEC (Pour le serveur seulement) stocke les alertes dans une base de données Mysql, installer le paquet “mysql-client(mariadb)” :

    apt install mariadb-client 
    
    unzip [Fichier zip]  
    cd ossec-hids-xxxxxx
    

    Pour ajouter le support Mysql : Editez le fichier install.sh, rendez-vous à la ligne :

    ${MAKEBIN} PREFIX=${INSTALLDIR} TARGET=${INSTYPE} build 
    

    Remplacez la par :

    ${MAKEBIN} PREFIX=${INSTALLDIR} TARGET=${INSTYPE} DATABASE=mysql build  
    

    Enregistrez puis : exécutez

    ./install.sh   
    

    Sélectionnez le mode d’installation souhaité (voir le site https://www.ossec.net/docs/
    Si vous rencontrer des erreurs à la compilation, (ELF etc..)

    cd src  
    make clean  
    cd  
    ./install.sh 
    

    Mode serveur

    Un seul serveur pour l’ensemble serveur/agents. Lors de l’installation sélectionnez le mode : serveur.

    * activer les alertes par email,  
    * donnez l'adresse de réception,  
    * l'adresse du serveur SMTP,  
    * démarrer le démon de vérification d'intégrité,  
    * démarrer le moteur de détection de rootkit,  
    * démarrer la réponse active,  
    * activer la réponse pare-feu (firewall-drop),  
    * ajoutez les adresses ip que vous souhaitez dans la liste blanche,  
    * activer fonctionnalité syslog (port udp 514),  
    * l'installateur indique la liste des fichiers surveillés et la méthode d'ajout :
    
    Si vous voulez surveiller d'autres fichiers, changez
    le fichier ossec.conf en ajoutant une nouvelle valeur
    de nom de fichier local.
    
    Pour toutes vos questions sur la configuration,
    consultez notre site web http://www.ossec.net .
    - Configuration correctement terminée.
    

    Firewall

    Toujours sur le serveur, ouvrir le port UDP 1514 (INPUT) sur les interfaces réseaux qui communiquent avec les agents.

    Ajouter un agent

    Déclaration de l’agent sur le serveur

    L’agent se connectera au serveur pour fournir les informations collectées. Avant de procéder à l’installation de l’agent, vous devrez le déclarer sur le serveur en utilisant la commande :

     /var/ossec/bin/manage_agents
    

    Tapez “a”, puis le nom hôte du serveur disposant de l’agent OSSEC HIDS, l’adresse IP de l’agent, confirmer la création.

    Extraire la clé de l’agent créé en tapant “e”, indiquez l’ID de l’agent et copiez la clé affichée. Vous pouvez quitter. Redémarrer OSSEC HIDS :

    service ossec restart
    

    Installation de l’agent

    Connectez vous au serveur qui disposera de l’agent, et procéder à l’installation en indiquant le type “agent” :

    • Renseignez l’adresse IP du serveur OSSEC HIDS,
    • démarrer le démon de vérification d’intégrité,
    • démarrer le moteur de détection de rootkit,
    • démarrer la réponse active.

    Exécutez la commande :

    /var/ossec/bin/manage_agents
    

    Tapez “i”, coller la clé précédemment copiée (sans espaces ou lignes vides supplémentaires), validez, et démarrer OSSEC HIDS en exécutant la commande :

    /var/ossec/bin/ossec-control start
    

    Si l’affichage indique une erreur similaire :

    _2018/11/15 13:30:10 ossec-syscheckd(1210): ERROR: Queue '/var/ossec/queue/ossec/queue' not accessible: 'Connection refused'._  
    

    La clé copiée au niveau de la gestion de l’agent est incorrecte.

    Firewall

    Autorisez les sorties à destination du port UDP 1514 (OUTPUT) sur les agents.

    Démarrage

    Exécutez la commande :

    /var/ossec/bin/ossec-control start
    

    Vous pouvez utiliser la commande

    systemctl start ossec
    

    mais nous ne verrez pas les traces de démarrage.

    Arrêt

    Exécutez la commande

    /var/ossec/bin/ossec-control stop
    

    ou

    systemctl stop ossec
    

    Redémarrer OSSEC HIDS

    systemctl restart ossec
    

    ou

    /var/ossec/bin/ossec-control restart
    

    Démarrage au boot

    exécutez la commande :

    service --status-all
    

    Vérifiez que “ossec” apparaît bien dans la liste des services démarrés au boot du serveur.

    Dans le cas où ce service n’est pas inscrit au démarrage, tapez la commande :

    systemclt enable ossec
    

    Traces

    Chaque serveur/agent dispose de traces disponibles dans le fichier : /var/ossec/logs/ossec.log

    Réinstallation

    Avant de réinstaller OSSEC HIDS, bien que l’installateur le propose, vous devrez supprimer le répertoire /var/ossec

    Désinstallation

    service ossec stop  
    rm -f /etc/ossec-init.conf  
    rm -rf /var/ossec
    

    ERREURS

    ossec-remoted(1403): ERROR: Incorrectly formatted message from '172.28.0.4'.  
    

    Réimporter la clé agent sur le serveur indiqué par son adresse IP.

    Dans le log :

    tail -f /var/ossec/logs/ossec.log  
    

    J’observe :

    ossec-execd(1103): ERROR: Could not open file '/var/ossec/etc/shared/ar.conf' due to [(2)-(No such file or directory)]. 
    

    Rencontré sur une seule installation !!!

    Créer le fichier :

    vi /var/ossec/etc/shared/ar.conf
    

    puis ajoutez-y ce contenu :

    restart-ossec0 - restart-ossec.sh - 0  
    restart-ossec0 - restart-ossec.cmd - 0  
    host-deny600 - host-deny.sh - 600  
    firewall-drop600 - firewall-drop.sh - 600
    

    Conclusion

    Quand tout est correctement paramétré et démarré, le flux de réception des courriels commence. Vous serez surpris de constater les alertes détectées par ce type de technologie : première connexion d’un utilisateur, changement dans le système après une mise à jour, démarrage des agents, etc.. L’aspect actif ? Essayez de vous connecter par ssh à un des serveurs en fournissant un mot de passe erroné, à partir d’une machine qui n’apparaît pas dans la liste blanche du serveur, vous serez bloqué, rapidement, pendant 10 minutes. Ceci limite les tentatives d’accès par force brute.

    Licence de ce document : Creative Commons (CC BY-NC-ND 4.0)

    CETTE DOCUMENTATION EST LIVRÉE “EN L’ÉTAT”, SANS GARANTIE D’AUCUNE SORTE ET DISTRIBUÉE DANS UN BUT ÉDUCATIF EXCLUSIVEMENT. L’AUTEUR, CONTRIBUTEURS DE CETTE DOCUMENTATION OU ©MYTINYDC.COM NE SAURAIENT EN AUCUN CAS ÊTRE TENUS RESPONSABLES DES DOMMAGES DIRECTS OU INDIRECTS POUVANT RÉSULTER DE L’APPLICATION DES PROCÉDURES MISES EN ŒUVRE DANS CETTE DOCUMENTATION, OU DE LA MAUVAISE INTERPRÉTATION DE CE DOCUMENT.

    Poster un commentaire

    Désolé, la réponse à la question Captcha est incorrecte
    Merci. le message est dans le tuyau :)
    Désolé, il y a un problème dans le tuyau, veuillez réessayer plus tard :(
    Un champs est invalide

    Commentaires (non traduits)

    pierrot
    -
    29/05/2019 00:00
    Bonjour,
    Je ne sais si vous allez pouvoir m’aider, j’ai ce genre d’erreur lors de l’installation, avec toutes les versions:

    Installation du système
    - Exécution du Makefile
    cd external/pcre2-10.32/ && \
    ./configure \
    --prefix=/home/pi/ossec-hids-3.3.0/src/external/pcre2-10.32//install \
    --enable-jit \
    -disable-shared \
    -enable-static && \
    make install-libLTLIBRARIES install-nodist_includeHEADERS
    /bin/sh: 1: cd: can't cd to external/pcre2-10.32/
    Makefile:770 : la recette pour la cible " external/pcre2-10.32//install/lib/libpcre2-8.a " a échouée
    make: *** [external/pcre2-10.32//install/lib/libpcre2-8.a] Erreur 2

    Error 0x5.
    Erreur de compilation. Impossible de finir l’installation
    dhenry
    -
    30/05/2019 00:00
    Bonjour, le problème est nouveau, et introduit par l’insertion de la librairie pcre2.

    Contexte :
    apt install build-essential zlib1g-dev libpcre2-dev

    Téléchargement Ossec
     cd /root/
    wget https://github.com/ossec/ossec-hids/archive/3.3.0.tar.gz
    tar xfz 3.3.0.tar.gz
    cd ossec-hids-3.3.0

    Modification Makefile
    vi ./src/Makefile
     remplacez : PCRE2_SYSTEM?=no
    par
    PCRE2_SYSTEM?=yes
    ESC:wq

    Vous pouvez démarrer l’installation : ./install.sh

    J’ai reporté le problème : https://github.com/ossec/ossec-hids/issues/1723

    Enjoy!
    pierrot
    -
    30/05/2019 00:00
    Bonjour,
    Quelle efficacité!!!! Vaut mieux un qui sait que dix qui cherchent. Pour ma part j’étais seul et j’y suis depuis trois jours.

    Il ne me reste plus qu’a essayer d’installer l’interface web.

    Encore merci