
1. Surveillance ciblée des fichiers critiques de votre site web
Le module FIM de Wazuh permet une détection en temps réel des modifications de fichiers sensibles comme wp-config.php
, .htaccess
ou encore les répertoires de thèmes et plugins.
<syscheck>
<directories check_all="yes" realtime="yes" report_changes="yes" whodata="yes">/var/www/html</directories>
<ignore>/var/www/html/wp-content/cache</ignore>
<nodiff>/var/www/html/wp-content/uploads</nodiff>
<frequency>300</frequency>
</syscheck>
→ Chaque modification est horodatée, liée à l’utilisateur, et enregistrée dans Wazuh.
2. Détection avancée de webshells PHP via YARA + Wazuh
Créez un fichier webshells.yar
et placez-le dans /var/ossec/etc/shared/yara
:
rule PHP_Webshell {
meta:
description = "Generic PHP webshell detection"
strings:
$a1 = /base64_decode/
$a2 = /shell_exec/
$a3 = /eval\\(\\$_POST/
condition:
all of them
}
Ajoutez la configuration dans ossec.conf
:
<yara>
<enabled>yes</enabled>
<location>/var/www/html</location>
</yara>
3. Détection comportementale : brute force WordPress
Surveillez les tentatives de connexion répétées à wp-login.php
:
<rule id="100105" level="12">
<if_sid>31101</if_sid>
<match>POST /wp-login.php</match>
<frequency>5</frequency>
<timeframe>60</timeframe>
<description>Tentative brute force WordPress</description>
</rule>
Associez cela à une réponse active :
<active-response>
<command>firewalld</command>
<location>local</location>
<rules_id>100105</rules_id>
</active-response>
4. Audit de sécurité basé sur les benchmarks CIS Linux
Utilisez le wodle cis-cat
pour vérifier la conformité :
/var/ossec/wodles/cis-cat/ciscat.sh -p /var/ossec/wodles/cis-cat/profiles/CIS_Ubuntu_Linux_20.04_Level_1_Benchmark.xml
Les résultats s’affichent dans le dashboard Wazuh sous l’onglet « Security Configuration Assessment ».
5. Exploitation de la matrice MITRE ATT&CK
Wazuh enrichit chaque alerte avec une correspondance MITRE :
- T1059 – Execution via command-line
- T1190 – Exploit Public-Facing Application
- T1021 – Remote Services (web shells)
Utile pour tracer le chemin d’un acteur malveillant dans votre infrastructure web.
6. Visualisation, threat hunting et alertes ciblées
Créez un tableau de bord personnalisé dans Kibana (via Wazuh) avec :
- Nombre de modifications FIM par jour
- Top IP bannies via active-response
- Signatures YARA déclenchées
- Requêtes HTTP suspectes (scan, bot, fuzzing)
Filtre personnalisé dans Kibana :
rule.groups:web AND data.win.system.channel:\"nginx\" AND rule.level:[10 TO *]
7. Bonus : intégrer VirusTotal et GeoIP à vos alertes
Activez dans ossec.conf
:
<wodle name="threatintel">
<enabled>yes</enabled>
<vt_api_key>VOTRE_CLÉ_API_VIRUSTOTAL</vt_api_key>
</wodle>
Chaque IP malveillante détectée est automatiquement enrichie par VirusTotal et sa géolocalisation affichée.
Conclusion
Grâce à Wazuh, vous pouvez aller bien au-delà de la détection classique. Vous créez une défense comportementale, dynamique et contextuelle pour vos sites web, avec blocage automatique, corrélation MITRE, conformité CIS, détection de webshells et intégration avec VirusTotal.