Bonjour Ă tous ! ![]()
Je partage avec vous un script open-source que j’ai développé pour monitorer la sécurité mail de mon serveur YunoHost. Après plusieurs semaines d’utilisation et d’améliorations, je pense qu’il peut être utile à la communauté !
Présentation du projet
YunoHost Mail Security Audit est un script bash qui génère des rapports HTML sur la sécurité de votre serveur mail. Il analyse vos logs Postfix/Dovecot et vous envoie quotidiennement un résumé complet par email.
Problème résolu
Quand on héberge son propre serveur mail, on se pose souvent ces questions :
-
Mon serveur est-il attaqué ? -
Combien de tentatives d’intrusion par jour ? -
Fail2ban fonctionne-t-il correctement ? -
D’où viennent les attaques ? -
Y a-t-il des comportements anormaux ?
Ce script répond à toutes ces questions en un coup d’œil ! ![]()
Fonctionnalités principales
Rapport HTML quotidien automatique
-
Période d’analyse configurable (1-90 jours) -
Statistiques détaillées : tentatives d’attaque, mails envoyés, connexions externes -
Top 5 des IPs attaquantes avec indicateurs visuels temps réel -
Top 5 expéditeurs avec distinction Système/Utilisateur -
Top 5 destinataires avec distinction Interne/Externe -
État de Fail2ban et liste des IPs bannies -
Alertes intelligentes selon le niveau de menace
Indicateurs visuels de menace
-
EN COURS (< 1h) : Attaque active avec animation pulsante -
Récente (< 24h) : Attaque récente probablement bloquée -
Ancienne (> 24h) : Attaque déjà gérée
Alertes temps réel (optionnel)
Un second script surveille en continu et envoie une alerte immédiate si :
-
Volume d’attaques anormal détecté
-
Seuil configurable (défaut : 50 tentatives en 60 minutes)
-
Anti-spam intégré (1 alerte/heure max)
Aperçu du rapport
Je vous joins un exemple de rapport HTML (avec données anonymisées) pour que vous puissiez voir le rendu final. Le rapport est responsive et s’affiche parfaitement sur mobile !
Voir le fichier HTML joint ci-dessous ![]()
demo_rapport_html_yunohost.pdf (740.2 KB)
Exemple de statistiques (mon serveur)
Sur 7 jours :
-
2010 tentatives d’attaque bloquées (287/jour en moyenne) -
0 connexion externe suspecte -
Fail2ban actif : 2 IPs bannies actuellement -
365 mails envoyés (normal : majoritairement système)
Résultat : Mon serveur est bien protégé et je suis rassuré ! ![]()

À qui s’adresse ce script ?
Vous hébergez votre propre serveur mail YunoHost
Vous voulez monitorer la sécurité sans avoir à lire les logs
Vous voulez être alerté en cas d’attaque massive
Vous aimez les beaux rapports HTML ![]()
Sécurité et confidentialité
-
Aucune donnée n’est envoyée à l’extérieur (tout reste local) -
Pas de dépendances externes (sauf mutt pour l’envoi d’emails) -
Logs analysés uniquement en lecture -
Script auditable (100% bash, ~350 lignes commentées)
Idées pour futures versions (v2.0)
-
Graphiques des attaques par jour (Chart.js) -
Carte des pays attaquants -
Tendances sur plusieurs mois -
Intégration Telegram/Discord pour alertes -
Package YunoHost officiel
Questions ?
N’hésitez pas à me poser vos questions dans ce fil ! Je serai ravi d’y répondre et d’améliorer le script selon vos besoins.
Merci à la communauté YunoHost pour cet excellent projet !
PS : Le rapport HTML de démonstration est joint à ce message. N’hésitez pas à l’ouvrir pour voir le rendu !
demo_rapport_html_yunohost.pdf (740.2 KB)


