Pour intégrer Wazuh à VirusTotal, activez le FIM pour surveiller les répertoires clés, ajoutez l'intégration avec votre clé API VirusTotal dans ossec.conf, et Wazuh enverra automatiquement le hash de chaque fichier nouveau ou modifié aux 70+ moteurs antivirus de VirusTotal.
Comment fonctionne l'intégration Wazuh FIM et VirusTotal ?
Le FIM (File Integrity Monitoring) détecte les fichiers nouveaux ou modifiés, mais ne sait pas s'ils sont malveillants. VirusTotal analyse les hashs face à plus de 70 moteurs antivirus. En les intégrant, Wazuh envoie automatiquement chaque fichier suspect à VirusTotal et vous obtenez des alertes directement dans le dashboard.
Quelles sont les limites de l'API gratuite ?
Avant de configurer quoi que ce soit, familiarisez-vous avec les limites car elles déterminent quels répertoires surveiller :
- 4 requêtes/minute
- 500 requêtes/jour
Si vous surveillez trop de répertoires actifs, vous épuiserez la limite en quelques heures. La solution : soyez chirurgical sur les répertoires qui envoient des fichiers à VirusTotal à l'aide de l'attribut report_changes.
API Premium : depuis octobre 2025, le plan Lite démarre à 5 000 $/an. Pour les labos et les environnements de taille moyenne, l'API gratuite suffit si elle est bien configurée.
Étape 1 : obtenir la clé API
- Allez sur virustotal.com
- Créez un compte gratuit si vous n'en avez pas
- Cliquez sur votre avatar → API key
- Copiez la clé
Étape 2 : configurer l'intégration sur le Manager
Éditez le fichier de configuration du serveur Wazuh :
nano /var/ossec/etc/ossec.conf
Ajoutez ce bloc avant la balise fermante </ossec_config> :
<integration>
<name>virustotal</name>
<api_key>TU_API_KEY_AQUI</api_key>
<rule_id>550,554</rule_id>
<alert_format>json</alert_format>
</integration> Explication :
rule_id 550: nouveau fichier détecté par le FIMrule_id 554: fichier modifié- Chaque fois que le FIM détecte quelque chose dans un répertoire surveillé, il envoie le hash SHA256 à VirusTotal
Redémarrez le manager :
systemctl restart wazuh-manager
systemctl status wazuh-manager Consultez le journal des intégrations :
tail -f /var/ossec/logs/integrations.log Étape 3 : comment configurer le FIM sur l'Agent ?
Sur l'agent, éditez /var/ossec/etc/ossec.conf et définissez les répertoires surveillés par le FIM. Seuls les répertoires avec report_changes="yes" enverront des hashs à VirusTotal :
<syscheck>
<!-- Scan complet une fois par jour -->
<frequency>86400</frequency>
<scan_on_start>yes</scan_on_start>
<!-- Répertoires À HAUT RISQUE : surveillés AVEC VirusTotal -->
<directories realtime="yes" check_all="yes" report_changes="yes">/tmp</directories>
<directories realtime="yes" check_all="yes" report_changes="yes">/root</directories>
</syscheck> Justification :
/tmp,/root: là où atterrit généralement le malware → oui, VirusTotal/etc,/bin: changements système, pas du malware → FIM classique, sans VirusTotal
Redémarrez l'agent :
systemctl restart wazuh-agent Étape 4 : comment tester avec un fichier EICAR ?
Le fichier de test EICAR est un standard pour tester l'antivirus sans vrai malware. Chaque moteur le signale intentionnellement comme malveillant.
echo 'X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*' > /tmp/eicar_test.txt Le FIM détecte le nouveau fichier → déclenche la règle 550 → envoie le hash à VirusTotal → vous recevez une alerte.
En 30 à 60 secondes, rendez-vous dans le dashboard : Endpoint Security → Malware Detection
Vous verrez :
- Rule ID : 87105 (VirusTotal : Alert)
- Fichier : /tmp/eicar_test.txt
- Positives : nombre de moteurs qui l'ont signalé
- Permalink : lien direct vers l'analyse sur virustotal.com
Nettoyez après le test :
rm /tmp/eicar_test.txt Résumé
| Composant | Configuration |
| Manager | <integration> avec clé API et rule_id 550,554 |
| FIM de l'agent | report_changes="yes" uniquement sur les répertoires à haut risque |
| Limites API | 4 req/min, 500 req/jour (offre gratuite) |
| Alerte | Rule ID 87105 dans Malware Detection |
Comment rendre l'intégration durable dans le temps ?
L'erreur la plus courante est d'activer report_changes="yes" sur des répertoires trop larges et d'épuiser les 500 requêtes quotidiennes avant midi. Une configuration bien réglée envoie généralement moins de 50 hashs par jour, laissant une grande marge dans le quota gratuit. Lorsqu'une vraie détection se déclenche, l'alerte parvient au dashboard en 30 à 60 secondes environ et inclut un permalien VirusTotal direct indiquant combien des 70+ moteurs ont signalé le fichier, une preuve précieuse lors d'un incident.
Pour les environnements de production, nous recommandons d'associer cette intégration à une réponse active automatisée, afin qu'un fichier signalé par plusieurs moteurs soit mis en quarantaine ou que l'agent soit isolé automatiquement, plutôt que d'attendre la réaction d'un analyste. Cela transforme une détection passive en action de confinement mesurée en secondes plutôt qu'en heures.
Questions fréquentes
Comment fonctionne l'intégration Wazuh et VirusTotal ?
Le FIM (File Integrity Monitoring) détecte les fichiers nouveaux ou modifiés dans les répertoires surveillés et calcule leur hash SHA256. L'intégration VirusTotal, configurée sur le Wazuh Manager avec votre clé API, envoie ce hash à VirusTotal, qui le vérifie face à plus de 70 moteurs antivirus. Si un moteur signale le fichier comme malveillant, Wazuh déclenche la règle 87105 dans le dashboard Malware Detection en 30 à 60 secondes.
Quelles sont les limites de l'API VirusTotal gratuite ?
L'API VirusTotal gratuite autorise 4 requêtes par minute et 500 requêtes par jour. Pour cette raison, n'activez report_changes="yes" que sur les répertoires à haut risque comme /tmp et /root, afin de ne pas épuiser le quota quotidien en quelques heures. Depuis octobre 2025, le plan payant Lite démarre à 5 000 $ par an, mais pour les labos et les environnements de taille moyenne, l'offre gratuite suffit si elle est configurée avec précision.
Quels ID de règle Wazuh déclenchent la vérification VirusTotal ?
La règle 550 se déclenche quand le FIM détecte un nouveau fichier et la règle 554 quand il détecte un fichier modifié. Les deux sont référencées dans le bloc <integration> avec rule_id 550,554, de sorte que tout changement dans un répertoire surveillé envoie le hash à VirusTotal. L'alerte VirusTotal résultante est la règle 87105.
Qu'est-ce que le fichier EICAR et pourquoi l'utiliser pour tester l'intégration ?
Le fichier de test EICAR est une chaîne standard du secteur que tout moteur antivirus signale intentionnellement comme malveillante, bien qu'elle soit totalement inoffensive. Il permet de valider toute la chaîne de détection (FIM, VirusTotal, alerte dashboard) sans utiliser de vrai malware. Après l'avoir créé dans /tmp et confirmé l'alerte, il suffit de supprimer le fichier.
Quels répertoires doivent envoyer des fichiers à VirusTotal ?
Seuls les répertoires où atterrit généralement le malware, comme /tmp et /root, doivent utiliser report_changes="yes" et atteindre VirusTotal. Les répertoires système comme /etc et /bin changent pour des raisons légitimes (mises à jour, configuration) et gaspilleraient votre quota d'API : ils doivent donc utiliser le FIM classique sans la vérification VirusTotal.
Étapes suivantes
Nous couvrons d'autres intégrations comme Slack, TheHive et des réponses actives automatisées dans le cadre de notre service Wazuh infogéré. Découvrez notre service Wazuh.