LINUX:Wazuh: HIDS
But
Wazuh est un HIDS. Un HIDS (Host Intrusion Detection Systems) est une application qui analyse ce qui se passe sur une machine et sur ses interfaces réseaux. Quand elle repère une activité anormale, elle active une action. Autrement dit elle tache de repérer ceux qui effectuent une activité malveillante à son encontre.
Au contraire les NIDS (Network Intrusion Detection Systems) analysent le trafic réseau qui veut traverser une machine et de repérer les activités anormales pour les contrecarrer. Il sera donc placé sur un noeud du réseau (router, bridge,...).
Notons que l'attaque peut aussi arriver de l'intérieur.
Wazuh est basé à l'origine sur le logiciel OSSEC. Il corrige beaucoup de fonctionnalités et va plus loin.
Schéma fonctionnel
Dans sa configuration de base, Wazuh est constitué de deux composants: le serveur (Wazuh-manager) et de l'agent (Wazuh-agent). L'ensemble du logiciel Wazuh a des extensions permettant une visualisation des résultats et des conseils. Nous n'aborderons par ce second aspect.
- Wazuh-manager le serveur: Le serveur est l'élément central qui rassemble tous les éléments, les analyse et entame des actions éventuelles. On choisit une machine (A) sur laquelle on installe le serveur; mais en même temps un client local sera installé. Cet agent local portera le n° "000"; les échanges avec le serveur se feront via un socket Unix.
- Wazuh-agent le client: Sur la machine du serveur (A), on a déjà un agent local. Cette première machine est surveillée. A côté, il faut aussi surveiller d'autres machines. Sur celles-ci, on installe l'agent distant. Les échanges avec le serveur se font via le port TCP 1514 par défaut. Dans le schéma ci-dessous, la pointe de la flèche désigne le serveur au sens service réseau.
A côté un autre service est présent via le port TCP 1515. Ce service est utile lors de la première connexion de l'agent distant au serveur; il récupère auprès du serveur une clé unique qui servira par la suite aux échanges sécurisés entre des deux. Dès ce premier échange fait, il ne sert plus. Par défaut, le n° s'incrémente au fur et à mesure pour chaque agent ("001", "002",...). Le groupe par défaut est "default".
L'agent est chargé de rassembler les informations locales: journaux, analyse des fichiers, repérage de fonctions malfaisantes (Trojans, Rootkits,...), de problèmes de configurations,... Il envoie ces informations au serveur.
Le serveur décode, analyse ces éléments en suivant un ensemble de règles. En fonction des résultats, des actions sont effectuées: la journalisation, l'envoi de mails et enfin l'exécution d'une action spécifique sur l'agent émetteur (ou autres). Tous ces échanges se font via le port TCP 1514 par défaut entre le serveur et les agents distants.
Recommandation: Le serveur doit être une machine à part, protégée et non celle qui subira de plein fouet les attaques. Car si l'agent est compromis, il aura normalement eu le temps d'envoyer quelques informations au serveur qui aura eu tout le temps de traiter.