Table des matières de l'article :
Pourquoi Rspamd est devenu un standard dans les serveurs de messagerie modernes
Aujourd'hui, la gestion d'un serveur de messagerie ne se résume plus à l'installation de Postfix, à l'ouverture du port SMTP et à la distribution des messages dans les boîtes mail des utilisateurs. Le courrier électronique est l'un des vecteurs d'abus les plus fréquents : spams commerciaux, phishing, logiciels malveillants, campagnes de masse, usurpation d'identité, liens malveillants, pièces jointes suspectes, newsletters agressives et botnets dont l'adresse IP change constamment. Dans ce contexte, un système anti-spam traditionnel basé uniquement sur des règles statiques est devenu insuffisant.
rspamd a été créé précisément pour répondre à ce besoin : il ne s’agit pas d’un simple filtre indiquant « spam » ou « non-spam », mais d’un véritable système d’analyse des e-mails. Chaque message est évalué par de multiples contrôles indépendants, appelés symboleChacun de ces éléments contribue à un score global. En fonction de ce score final, Rspamd suggère une action au serveur de messagerie : accepter, ajouter des en-têtes, appliquer le greylisting, réécrire l’objet, rejeter ou traiter le message selon des politiques personnalisées.
Dans une infrastructure basée sur Postfix et Dovecot, Rspamd représente l'un des composants les plus intéressants car il fonctionne efficacement, s'intègre bien au flux SMTP, peut utiliser Redis pour les statistiques et la mise en cache, offre une interface Web très utile pour le diagnostic et le réglage, et permet un apprentissage progressif basé à la fois sur les classifications automatiques et sur les actions réelles des utilisateurs.
Comment Rspamd fonctionne en pratique
Lorsqu'un message arrive sur le serveur, Postfix peut le transmettre à Rspamd via l'intégration Milter ou d'autres méthodes d'analyse. Rspamd analyse le message et renvoie un résultat structuré : score, symboles activés, action recommandée et, le cas échéant, en-têtes supplémentaires. Le serveur de messagerie décide alors de la marche à suivre : acheminer le message, le marquer comme spam, le différer temporairement ou le rejeter.
L'atout de Rspamd réside dans sa capacité à ne pas se baser sur un seul critère de vérification. Un message peut être considéré comme du spam car il échoue au test SPF, provient d'une adresse IP de mauvaise réputation, contient des URL blacklistées, ressemble à des campagnes déjà détectées par correspondance approximative, est classé comme spam par l'algorithme bayésien, ou déclenche des règles heuristiques sur son contenu. Inversement, il peut recevoir des points négatifs s'il réussit les tests DKIM ou DMARC, provient d'expéditeurs de confiance, ou correspond aux listes blanches et politiques locales.
Cette approche rend Rspamd beaucoup plus flexible qu'un contrôle binaire. Il n'y a pas un seul « interrupteur » qui décide de tout : il s'agit d'une somme pondérée de signaux, mieux adaptée à la complexité réelle du courrier électronique.
Les principales caractéristiques de Rspamd
Rspamd intègre de nombreuses fonctionnalités conçues pour les environnements professionnels. Les plus importantes sont :
- Système de notation des symboles : Chaque commande génère un ou plusieurs symboles de poids positif ou négatif.
- Actions configurables : Aucune action, ajout d'en-tête, mise en liste grise, réécriture du sujet, rejet, suppression, mise en quarantaine et actions personnalisées lorsque celles-ci sont prises en charge.
- Filtrage bayésien : Classification statistique basée sur les messages indésirables et légitimes appris au fil du temps.
- Apprentissage automatique : Apprentissage automatique des messages qui sont manifestement des spams ou manifestement légitimes.
- Appariement approximatif : Détection de messages similaires, et non simplement identiques, utile contre les campagnes de spam présentant de légères variations.
- Réseau neuronal: Module neuronal pour améliorer la reconnaissance basée sur les modèles observés.
- SPF, DKIM, DMARC et ARC : vérification des principales normes d'authentification des courriels.
- Signature DKIM : Possibilité de signer le courrier sortant.
- Réputation RBL, DNSBL, SURBL et URL : Vérifications de l'adresse IP, du domaine, de l'URL et de la réputation.
- Liste grise : Report temporaire des messages suspects.
- Limite de débit : limitation des comportements anormaux ou des volumes excessifs.
- Multimap : Règles personnalisées basées sur des cartes locales ou distantes.
- Paramètres pour l'utilisateur ou le domaine : Différents seuils et politiques selon le destinataire, l'expéditeur, l'adresse IP, le domaine ou l'authentification.
- Interface utilisateur Web : Interface graphique permettant de consulter l'historique, les symboles, les scores, les statistiques et la configuration.
- Redis : Système dorsal recommandé pour les statistiques, la mise en cache, Bayes et les configurations évolutives.
- Intégration avec Sieve : Utilisation des en-têtes Rspamd pour déplacer les messages vers le dossier Courrier indésirable et collecte de commentaires via IMAPSieve.
La documentation officielle décrit Rspamd comme un système modulaire, où certaines fonctionnalités essentielles sont implémentées en C pour des raisons de performance et d'autres en Lua pour plus de flexibilité et de chargement dynamique.
Score, symboles et actions : le cœur de Rspamd
L'un des aspects les plus importants à comprendre est la distinction entre symbole, But e actionLe symbole correspond au résultat d'une vérification : par exemple, un échec SPF, une signature DKIM valide, une correspondance bayésienne, une URL suspecte ou une correspondance approximative. Chaque symbole possède un poids. La somme des poids donne le score final.
Les actions sont ensuite décidées en fonction de seuils configurables. Une configuration typique pourrait inclure, par exemple, le filtrage gris à partir de 4 points, l'ajout d'un en-tête à partir de 6 points et le rejet à partir de 15 points. Le seuil de filtrage gris induit un rejet temporaire, c'est-à-dire un refus temporaire obligeant un serveur légitime à réessayer ultérieurement.
# /etc/rspamd/local.d/actions.conf
actions {
reject = 15;
add_header = 6;
greylist = 4;
}
Ce modèle est très utile en production car il permet une approche prudente. Il n'est pas nécessaire de rejeter immédiatement tout ce qui est suspect. Certains messages peuvent être simplement signalés, d'autres temporairement différés, et d'autres encore rejetés uniquement lorsque le score est très élevé.
Appariement flou : reconnaître les campagnes similaires, et pas seulement les e-mails identiques
L'une des caractéristiques les plus intéressantes de Rspamd est… correspondance floueLe spam moderne envoie rarement le même message à des millions de destinataires. Le plus souvent, il modifie de petits fragments de texte, ajoute des mots aléatoires, change les URL, modifie l'objet ou insère des éléments dynamiques pour échapper à la détection par hachage traditionnel.
Le hachage classique est efficace lorsque deux contenus sont identiques. La correspondance approximative, quant à elle, est utilisée pour reconnaître des messages. similiRspamd utilise une approche basée sur le maillage de type shingle : le texte est divisé en séquences de mots qui se chevauchent, ces séquences sont hachées, puis comparées de manière probabiliste à des modèles connus. Cela lui permet de détecter les campagnes qui utilisent le même modèle, mais y introduisent de légères variations pour contourner les filtres plus simples.
le module fuzzy_check Interroge un ou plusieurs nœuds de stockage flou pour déterminer si le message ressemble à des modèles précédemment classés. Ce même module peut également gérer l'apprentissage, en ajoutant de nouveaux hachages au stockage via rspamc ou API du contrôleur.
Le stockage flou est le composant qui stocke les hachages approximatifs. Il peut être local ou distant, servir à gérer des listes noires et blanches distinctes grâce à des indicateurs, et être mis à jour de manière contrôlée. La documentation indique que le stockage flou peut stocker des hachages et utiliser une probabilité de correspondance comprise entre 0 et 1, 1 représentant une correspondance parfaite.
En pratique, le flou est particulièrement utile contre :
- Campagnes de spam massives avec des textes quasi identiques ;
- hameçonnage qui modifie de petits détails entre deux envois ;
- newsletters abusives ou contenu répétitif ;
- Messages générés automatiquement avec des variables aléatoires ;
- Spam qui tente de contourner les vérifications de hachage exactes.
Bayes et AutoLearn : le filtre qui s’améliore avec le temps
Rspamd intègre un classificateur bayésien, un système statistique qui apprend à distinguer les spams des messages légitimes (appelés « ham »). La véritable valeur de Bayes se révèle au fil du temps : plus le système reçoit d’exemples corrects et équilibrés, plus il devient performant pour reconnaître les schémas récurrents dans les courriels d’un environnement donné.
L'apprentissage peut être manuel, utilisant des commandes telles que rspamc learn_spam e rspamc learn_ham, ou automatiquement via auto-apprentissageAutolearn permet à Rspamd d'apprendre des messages ayant des scores très élevés ou très faibles : par exemple, identifier comme spam un message supérieur à un certain seuil et comme ham un message inférieur à un seuil négatif. La documentation fournit des paramètres tels que : spam_threshold, ham_threshold, check_balance e min_balance, conçu pour éviter que le classificateur ne soit déséquilibré par un trop grand nombre d'exemples d'une seule classe.
# /etc/rspamd/local.d/classifier-bayes.conf
backend = "redis";
autolearn {
spam_threshold = 8.0;
ham_threshold = -1.0;
check_balance = true;
min_balance = 0.9;
}
L'essentiel est de ne pas être trop exigeant. Si les seuils sont trop abaissés, le système risque d'interpréter des messages ambigus. Dans un contexte professionnel, il est préférable d'automatiser uniquement les cas les plus évidents, en laissant les cas ambigus aux retours des utilisateurs ou à une vérification manuelle.
Un détail souvent négligé est que l'apprentissage automatique intervient après que l'action finale a été déterminée et ne sert pas à modifier la décision concernant le message qui vient d'être analysé : il sert à améliorer le comportement futur du classificateur.
Réseaux neuronaux et apprentissage avancé
Outre le classificateur bayésien, Rspamd intègre également un module neuronal. Ce module peut s'entraîner automatiquement en fonction du verdict du message ou, s'il est configuré, en fonction de seuils de score. Le principe est similaire : apprendre à partir des messages les plus représentatifs et maintenir un équilibre entre les classes afin d'éviter les modèles biaisés.
En production, les classificateurs bayésiens et les réseaux de neurones ne doivent pas être considérés comme des solutions miracles. Ce sont des outils puissants, certes, mais ils nécessitent des données de qualité. Si l'entraînement est de mauvaise qualité, déséquilibré ou basé sur des messages mal classés, les résultats se dégraderont. C'est pourquoi il est crucial de bien concevoir le processus d'apprentissage, notamment lors de la collecte des retours utilisateurs.
Pourquoi Rspamd fonctionne-t-il si bien avec Sieve ?
Rspamd et Sieve sont parfaitement complémentaires car ils fonctionnent à deux moments différents. Rspamd analyse et classe le message ; Sieve décide de son traitement dans la boîte de réception de l’utilisateur. Cela signifie que Rspamd peut ajouter des en-têtes tels que : X-Spam o X-Spam-Action, tandis que Sieve peut lire ces en-têtes et déplacer automatiquement le message vers le dossier Courrier indésirable.
Dans les intégrations basées sur rspamc --mime, Rspamd peut ajouter des en-têtes comme X-Spam, X-Spam-Action e X-Spam-Result, qui peut être utilisé par LDA, Sieve ou Procmail pour filtrer davantage la livraison.
require ["fileinto"];
if header :contains "X-Spam" "yes" {
fileinto "Junk";
stop;
}
Cette séparation est très élégante : Rspamd gère l’analyse anti-spam, tandis que Sieve gère la logique de distribution. Dans un service de messagerie multi-utilisateurs, cela permet également de différencier les comportements : certains utilisateurs peuvent souhaiter marquer les messages comme indésirables, d’autres les déplacer directement, et d’autres encore privilégier des règles plus strictes.
IMAPSieve : Transformer les actions des utilisateurs en retours d’information
Le véritable bond en avant en matière de qualité s'opère avec IMAPSieveSieve s'exécute normalement lors de la distribution des messages, mais IMAPSieve permet également d'exécuter des scripts en réponse à des événements IMAP, comme le déplacement d'un e-mail vers un dossier. Dovecot, via Pigeonhole, fournit le plugin. imap_sieve pour activer cette logique côté IMAP.
Cela permet un flux très intéressant : lorsqu’un utilisateur déplace un message de la boîte de réception vers le dossier Courrier indésirable, le système peut le considérer comme un spam. Lorsqu’un utilisateur déplace un message du dossier Courrier indésirable vers la boîte de réception, le système peut le considérer comme un message légitime. Un script peut ensuite envoyer le message à Rspamd via rspamc learn_spam o rspamc learn_ham, ou copiez-le dans des dossiers de révision pour une relecture manuelle.
Rspamd décrit précisément une approche basée sur IMAPSieve pour recueillir les commentaires des utilisateurs lorsque des messages sont déplacés vers ou hors du dossier Courrier indésirable.
protocol imap {
mail_plugins = $mail_plugins imap_sieve
}
plugin {
sieve_plugins = sieve_imapsieve sieve_extprograms
sieve_global_extensions = +vnd.dovecot.pipe
}
Pour appeler des programmes externes depuis Sieve, Dovecot utilise le plugin sieve_extprogramsCela vous permet d'exécuter des programmes définis par l'administrateur. C'est également important du point de vue de la sécurité, car les utilisateurs ne peuvent pas exécuter arbitrairement n'importe quelle commande système.
Rspamd, Postfix et Dovecot : un flux idéal
Dans une infrastructure Linux bien conçue, le flux peut être schématisé comme suit :
- Post-écran Filtre les connexions SMTP grossières et les bots avant le serveur SMTP de Postfix.
- Postfix reçoit le message et applique les politiques SMTP.
- rspamd analyse le contenu, la réputation, les en-têtes, les signatures et les tendances statistiques.
- Dovecot LMTP/LDA Déposer le message dans la boîte aux lettres.
- Tamiser Déplacer les spams vers le dossier Courrier indésirable en fonction de leurs en-têtes.
- IMAPSieve Recueille des commentaires lorsque l'utilisateur déplace manuellement des messages.
- Bayes, flou et neuronal améliorer progressivement la classification future.
Cette architecture est très efficace car elle répartit les tâches. Chaque composant remplit sa fonction : Postfix gère le protocole SMTP, Rspamd effectue la classification, Dovecot assure la distribution, Sieve trie et IMAPSieve collecte les retours. Il en résulte un système plus propre, plus évolutif et plus facile à diagnostiquer.
Paramètres pour le domaine, l'utilisateur et le contexte
L'une des fonctionnalités les plus utiles des environnements d'hébergement est la possibilité d'appliquer différents paramètres au domaine, au destinataire, à l'expéditeur, à l'adresse IP ou au statut d'authentification. Le module de configuration permet de modifier les seuils, les actions et les modules activés en fonction de conditions spécifiques. Ceci est particulièrement important dans les environnements mutualisés, où les besoins des clients peuvent varier.
Un domaine d'entreprise hautement sensible peut nécessiter des seuils plus stricts ; un service marketing peut recevoir de nombreuses newsletters légitimes et nécessiter des politiques moins strictes ; les utilisateurs authentifiés qui envoient des courriels peuvent être traités différemment des courriels entrants provenant d'Internet.
# /etc/rspamd/local.d/settings.conf
azienda_strict {
rcpt = "@azienda.it";
apply {
actions {
reject = 10.0;
add_header = 5.0;
greylist = 3.0;
}
}
}
marketing_relaxed {
rcpt = "@marketing.azienda.it";
apply {
actions {
reject = 20.0;
add_header = 10.0;
greylist = null;
}
}
}
Interface Web, journaux et optimisation opérationnelle
Rspamd propose une interface web extrêmement pratique pour les administrateurs de messagerie. Celle-ci permet de consulter les messages analysés, d'afficher les symboles activés, de vérifier les scores, d'analyser les statistiques, de lancer des sessions de formation et de comprendre pourquoi un message a été considéré comme spam ou non.
Cela représente un avantage opérationnel considérable par rapport aux filtres opaques. Lorsqu'un client signale que son courriel a atterri dans les spams, l'administrateur peut examiner les symboles et déterminer si le problème provient de SPF, DKIM, DMARC, Bayes, de la réputation de l'URL, des filtres flous, des RBL ou des règles locales. Le paramétrage devient ainsi basé sur des preuves et non sur des conjectures.
faux positifs et meilleures pratiques
Un système antispam efficace doit bloquer une grande quantité de spams, mais surtout éviter de bloquer les courriels légitimes. Les faux positifs sont souvent plus graves que les spams autorisés, car ils peuvent entraîner la perte de communications commerciales, de tickets, de commandes, de factures ou de notifications importantes.
C’est pourquoi il est conseillé de suivre certaines bonnes pratiques de production :
- utiliser des seuils de rejet conservateurs, au moins initialement ;
- marquer et déplacer vers la catégorie « Déchets » avant de rejeter catégoriquement ;
- N'activer l'apprentissage automatique que sur des scores très fiables ;
- maintenir un équilibre entre l'entraînement spam/ham ;
- surveiller les symboles les plus récurrents dans les faux positifs ;
- N’utilisez les listes blanches et les paramètres que lorsque cela est véritablement justifié ;
- ne vous fiez pas à un seul RBL ou à un seul critère de classification ;
- Intégrez les commentaires des utilisateurs via IMAPSieve ou une analyse manuelle.
Pourquoi Rspamd convient-il à un service de messagerie géré ?
Dans un contexte de gestion centralisée, Rspamd est particulièrement intéressant car il permet de proposer un filtre anti-spam moderne sans complexité excessive. Rapide, modulaire, observable et adaptable, il peut être configuré de manière prudente pour éviter les faux positifs, mais aussi renforcé pour les domaines ciblés par des attaques ou du phishing.
L'intégration avec Redis permet une gestion efficace des statistiques et des données. L'interface web facilite le diagnostic et le support. L'intégration avec Sieve permet de traduire les résultats anti-spam en actions concrètes dans la boîte mail. Les retours des utilisateurs permettent d'optimiser le processus, transformant les corrections manuelles en données utiles pour l'avenir.
Comparé à un outil anti-spam statique, Rspamd est mieux adapté à la messagerie en temps réel : il évolue, apprend, combine les signaux et permet un paramétrage précis. Il ne dispense pas d'une configuration DNS, SPF, DKIM, DMARC, DNS inverse et de réputation IP correcte, mais il devient le centre névralgique de votre protection de messagerie.
conclusion
Rspamd est actuellement l'une des solutions les plus complètes pour la protection des infrastructures de messagerie basées sur Linux, Postfix et Dovecot. Sa valeur réside non seulement dans sa capacité à identifier les spams, mais aussi dans sa capacité à combiner la notation, les règles, la réputation, l'authentification, le classificateur bayésien, la correspondance floue, les réseaux neuronaux, les politiques de domaine et les retours des utilisateurs.
La correspondance approximative permet de détecter des campagnes similaires même lorsque les messages ne sont pas identiques. L'apprentissage automatique permet au système de s'améliorer au fil du temps, à condition d'être configuré avec des seuils prudents et un équilibrage approprié. Sieve et IMAPSieve transforment la classification en actions concrètes et permettent aux utilisateurs de contribuer à l'amélioration du filtrage en déplaçant simplement des messages dans ou hors du dossier Courrier indésirable.
Dans une infrastructure gérée, Rspamd est bien plus qu'un simple outil anti-spam : c'est un élément stratégique de la sécurité, de la qualité de service et de la continuité d'activité. Correctement configuré, il réduit le bruit, améliore la délivrabilité interne, simplifie le diagnostic et offre aux administrateurs un contrôle beaucoup plus précis du comportement des e-mails.