Pré-requis
Après avoir installé l'agent Wazuh sur les terminaux, la prochaine étape est de configurer des règles de détection. Il en existe plusieurs expliqueés sur le site de officiel de Wazuh.
Dans cet article, on expliquera comment mettre en place les alertes FIM et celles sur les attaques par force brute.
File Integrity Monitoring / Surveillance de l’intégrité des fichiers
Les alertes FIM sont des alertes générées lorsque des modifications sont apportées aux fichiers ou répertoires surveillées. Il peut s'agir de la création, la modification ou la suppression d'un fichier. Le FIM détecte aussi les changements de permissions de lecture et d'écriture.
Pour les systèmes Windows:
Se déplacer dans le répertoire C:\Program Files (x86)\ossec-agent\
et modifier le fichier ossec.conf
avec le le blocnote en ajoutant la commande suivante dans le block <syscheck>
.
Mettre le chemin du répertoire que vous souhaitez monitorez à la place de C:\PATH
dans le bout de code ci-dessous:
<directories check_all="yes" report_changes="yes" realtime="yes">C:\PATH</directories>
Dans l'image qui suit, l'analyse se fera au niveau des utilisateurs "Public" et "Administrateur" (le répertoire Desktop/Bureau pour l'Administrateur).
Plusieurs paramètres de base sont spécifiés : la surveillance en temps réel avec "realtime"
, le signalement de toutes les modifications apportées aux fichiers avec "report_changes"
et la surveillance des métadonnées des fichiers avec "check_all"
.
Il est possible d'être plus précis sur les paramètres à monitorer et créer des règles personnalisées. Plus de détails sont disponibles ici .
Ouvrir le Gestionnaire de services via Win+R et redémarrer le service wazuh dans la liste.
Wazuh répertorie tous changements apportés au répertoire Desktop
de l'utilisateur Administrateur et à tous les réportoires de l'utilisateur Public
, en spécifiant la date, l'évènement, l'agent concerné et d'autres informations.
Pour les systèmes Linux:
Accéder au fichier de configuration avec root avec la commande suivante:
nano /var/ossec/etc/ossec.conf
Ajouter la ligne suivante à l'intérieur du bloc <syscheck>
et remplacer C:\PATH
par le chemin du repertoire que vous souhaitez monitorez.
<directories check_all="yes" report_changes="yes" realtime="yes">C:\PATH</directories>
Ici, on monitore tous les changements apportés aux fichiers sur le Bureau
Rédemarrer l'agent wazuh
sudo systemctl restart wazuh-agent
On voit aussi que toutes les actions sont repertoriés.
Whodata
La règle "who-data"
est une amélioration de la règle "realtime"
car elle inclut la surveillance en temps réel ainsi que des informations supplémentaires sur l'identité de la personne ayant apporté des modifications aux fichiers surveillés, le programme et les processus impliqués.
Pour les systèmes Windows:
Modifier le fichier ossec.conf
dans le répertoire C:\Program Files (x86)\ossec-agent\
en placant le lien vers le répertoire que vous souhaitez monitorer. Remplacez C:\PATH par le chemin du repertoire que vous souhaitez monitorez.
<directories check_all="yes" whodata="yes">C:\PATH</directories>
Redémarrez le service Wazuh
On a donc plus d'informations à ce niveau comme le nom de l'utilisateur, le processus.
Pour les systèmes Linux (Debian):
Installez l'audit et avec la commande suivante :
apt-get install auditd
Installez le plugin audispd af_unix
et redémarrez le service d'Audit
apt-get install audispd-plugins
systemctl restart auditd
Modifiez le fichier /var/ossec/etc/ossec.conf
et ajouter la ligne suivante à l'intérieur du bloc <syscheck>.
Remplacez C:\PATH
par le chemin du repertoire que vous souhaitez monitorez.
<directories check_all="yes" report_changes="yes" whodata="yes">C:\PATH</directories>
Redémarrez l'agent wazuh
systemctl restart wazuh-agent
On voit aussi beaucoup plus de détails notamment grâce aux règles personnalisées.
Detecting a brute force attack/Détection d’une attaque par force brute
Wazuh est aussi en mesure d'identifier des attaques par forces brutes suite à des tentatives d'authentification multiples échouées.
D'abord, au niveau de votre serveur, vérifier que le bloc suivant est présent dans le fichier /var/ossec/etc/ossec.conf
dans le block <ossec_config>
<command>
<name>firewall-drop</name>
<executable>firewall-drop</executable>
<timeout_allowed>yes</timeout_allowed>
</command>
Si il n'y est pas, vous pouvez le rajouter.
Ajoutez ensuite la réponse active dans le même fichier avec le code suivant:
<active-response>
<command>firewall-drop</command>
<location>local</location>
<rules_id>5763</rules_id>
<timeout>180</timeout>
</active-response>
Redémarrez le wazuh manager pour exécuter le changement
systemctl restart wazuh-manager
Installer Hydra sur la machine attaquante
sudo apt update
sudo apt install -y hydra
Créer un fichier texte avec 10 ou 15 mots de passes aléatoires. Vous pouvez utiliser la commande suivante qui crée 10 mots de passes aléatoires de 8 caractères.
pwdgen 8 10 > password.txt
Lancer l'attaque avec Hydra avec la commande suivante en remplacant <RHEL_IP>
par l'IP de la machine à attaquer et <user>
par l'utilisateur de la même machine.
sudo hydra -l <user> -P password.txt <RHEL_IP> ssh
Pour l'exécuter sur des systèmes windows, la commande est la suivante:
sudo hydra -l <user>-P password.txt rdp://<WINDOWS_IP>
Vous pouvez maintenant visualiser l'incident dans le dashboard Wazuh, dans la section Threat Hunting au niveau des évènements.
Mettre en place des règles de détection est cruciale pour renforcer la sécurité des systèmes. En surveillant les potentielles menaces, votre infrastructure devient donc plus résiliente aux attaques.
Vous pouvez aussi intégrer VirusTotal dans Wazuh. Un article est disponible sur ce sujet ici.