La quarantaine des e-mails est l’endroit où les messages critiques pour l’entreprise meurent en silence. Bons de commande, réinitialisations de mot de passe, avis RH, dossiers juridiques, factures fournisseurs—des éléments que l’on ne remarque que lorsqu’arrivent les conséquences, souvent sous la forme d’une invitation au calendrier intitulée « Entretien rapide ».
Si vous gérez des systèmes en production, vous connaissez déjà le schéma : le filtre « a marché » jusqu’à ce qu’il ne marche plus. Le mode de défaillance n’est pas spectaculaire. Il est silencieux. Et le silence est le type de panne le plus coûteux.
Ce qu’est réellement la quarantaine (et ce qu’elle n’est pas)
La quarantaine n’est pas le « spam ». C’est une zone de mise en attente créée par une décision de politique : ce message est suffisamment suspect pour être retenu, mais pas suffisamment suspect pour être supprimé immédiatement. Cette distinction compte parce que la quarantaine est autant un plan de contrôle qu’une fonctionnalité de sécurité :
- Dossier spam vit généralement dans la boîte aux lettres. L’utilisateur peut le voir. Le message est « livré », simplement redirigé vers une destination de courrier indésirable.
- Quarantaine réside souvent en dehors de la boîte aux lettres (passerelle de sécurité, console cloud de sécurité). L’utilisateur peut ne pas la voir à moins que vous ne mettiez en place un chemin explicite (digest, portail libre-service, workflows de libération).
- Reject (SMTP 5xx) est un « non » ferme durant la transaction SMTP. Aucun message n’est accepté ; vous comptez sur l’expéditeur pour recevoir un bounce et corriger sa configuration.
- Discard accepte puis supprime. C’est opérationnellement séduisant. Les auditeurs et les intervenants en incident le détestent. Les utilisateurs le détestent encore plus.
Pour la fiabilité, la quarantaine est une file d’attente. Comme toute file, elle a besoin de :
- Visibilité (quoi s’y trouve, pourquoi, depuis combien de temps)
- Propriété (qui la vide et avec quelle autorité)
- SLOs (délai maximum de libération des faux positifs ; taux maximum de faux positifs par type d’expéditeur)
- Règles de saturation (quoi faire quand elle grossit)
Pourquoi les courriels importants se perdent : les vraies mécaniques
La plupart des organisations traitent la quarantaine comme un appendice de sécurité. C’est en réalité un système distribué avec des entrées désordonnées, une authentification incohérente et une interface utilisateur conçue par quelqu’un qui pense que tout le monde aime les « portails de sécurité ». Vous perdez des messages importants parce qu’une ou plusieurs de ces mécaniques sont en jeu :
1) Échecs d’authentification qui ne sont pas « malveillants », simplement négligents
SPF, DKIM et DMARC ne sont pas optionnels si vous tenez à la délivrabilité. Mais les flux réels de courriel d’entreprise incluent CRM, systèmes de ticketing, fournisseurs de paie et plateformes marketing. Ces systèmes envoient en votre nom. Certains le font bien. D’autres comme un chat qui tape sur un clavier.
Lorsque l’authentification échoue, les filtres modernes n’augmentent pas seulement le score spam. Ils considèrent le message comme un risque plus élevé d’usurpation et de phishing. Cela le pousse en quarantaine même si le contenu est anodin et légitime.
2) Les systèmes de réputation sont des instruments grossiers
Les grands fournisseurs utilisent la réputation de l’expéditeur, la réputation IP, la réputation de domaine et les boucles de rétroaction utilisateur. La réputation est corrélée avec la « qualité », mais n’est pas identique à celle‑ci. Un domaine fournisseur tout neuf, une IP sortante récemment rotée ou une piscine d’envoi partagée d’un SaaS peut sembler suspect pendant des semaines.
3) Politiques surajustées : quelqu’un « a corrigé le phishing » en élargissant le filet
Les politiques de quarantaine sont souvent resserrées après un incident. C’est satisfaisant émotionnellement. C’est aussi la façon de créer une panne au ralenti qui prend des mois à être détectée : les achats ne voient plus les factures ; les ventes ne voient plus les leads ; les RH ratent des réponses de candidats.
4) Échecs d’expérience utilisateur : personne ne vérifie ce qu’il ne peut pas voir
Si les utilisateurs ne reçoivent pas de digests de quarantaine, ou si les digests eux‑mêmes sont filtrés (oui, ça arrive), la quarantaine devient une poubelle invisible. Le meilleur filtre du monde ne peut rien pour vous si elle retient silencieusement du courrier et que personne n’a l’habitude quotidienne de la consulter.
5) Erreurs de routage et de connecteurs
Le courrier peut être mis en quarantaine avant d’arriver chez votre fournisseur de boîtes (gateway), à l’intérieur du fournisseur (filtre cloud), ou après livraison (règles client). Diagnostiquer le mauvais niveau fait perdre du temps et installe le pire genre de confiance : la confiance confiante mais erronée.
Une idée paraphrasée de Werner Vogels (CTO d’Amazon), souvent reprise en ops : « Tout échoue tout le temps ; la résilience vient du fait de concevoir en tenant compte des défaillances. »
Appliquez cela au courriel. La quarantaine est un mode de défaillance. Concevez autour.
Faits intéressants et brève histoire du spam et de la quarantaine
- Fait 1 : L’un des premiers messages de masse non sollicités largement cités sur Internet fut l’e-mail marketing d’ARPANET en 1978. Les plaintes sont arrivées immédiatement. Certaines traditions sont intemporelles.
- Fait 2 : Le terme « spam » pour les messages non sollicités s’est popularisé à l’ère internet initiale, et le problème a pris de l’ampleur avec l’automatisation d’envoi bon marché bien avant « l’IA ».
- Fait 3 : Le filtrage antispam initial était principalement basé sur les mots‑clés et fragile ; les systèmes modernes s’appuient fortement sur la réputation, l’authentification et des signaux comportementaux.
- Fait 4 : SPF est apparu au début des années 2000 pour tenter de vérifier les hôtes d’envoi. Il a réduit certaines falsifications, mais ne valide pas à lui seul l’identité visible « From ».
- Fait 5 : DKIM a apporté des signatures cryptographiques à l’identité des e‑mails. C’est élégant en concept, pénible en opérations lors des rotations et de l’alignement.
- Fait 6 : DMARC a lié SPF/DKIM au domaine visible « From » et introduit des politiques (none/quarantine/reject). Il a aussi créé un nouveau passe‑temps : lire les rapports agrégés et réaliser combien de systèmes envoient du courrier que vous aviez oublié d’exister.
- Fait 7 : La « quarantaine » en tant que classe de politique formelle a émergé avec les passerelles de sécurité d’entreprise et les produits cloud de sécurité e‑mail qui voulaient des contrôles plus stricts que « envoyer vers le dossier indésirable ».
- Fait 8 : Les boucles de rétroaction (action utilisateur « marquer comme spam/non spam ») modifient significativement le filtrage. La formation des utilisateurs n’est pas une compétence « douce » ; elle fait partie de votre pipeline de détection.
- Fait 9 : Le courriel est intentionnellement permissif et rétrocompatible. Beaucoup d’échecs proviennent de cette même caractéristique : l’écosystème tolère la mauvaise configuration jusqu’à ce qu’une politique stricte cesse de la tolérer.
Conception de la politique : quoi autoriser, quoi mettre en quarantaine, quoi rejeter
Si vous voulez arrêter de perdre des messages importants, vous avez besoin d’une position politique explicite. Pas « ce que fait la valeur par défaut ». Les politiques par défaut sont conçues pour le client médian. Vous n’êtes pas le client médian. Vous avez des fournisseurs, des régulateurs et des humains qui cliquent.
Commencez par trois voies, pas un grand seau
Pensez en voies avec des contrôles et des chemins d’escalade distincts :
- Expéditeurs métiers connus et fiables : vos propres domaines, fournisseurs SaaS centraux, partenaires critiques. Objectif : livrer de façon fiable ; détecter la compromission via des signaux d’anomalie, pas par des quarantaines brutales.
- Inconnus mais plausibles : nouveaux fournisseurs, leads entrants, candidats, contacts aléatoires mais légitimes. Objectif : minimiser les faux positifs ; la quarantaine doit être révisable et facile à libérer.
- Connus mauvais / à haut risque : usurpation évidente, malware, DMARC échoué avec politique stricte, géographie impossible + schémas de phishing. Objectif : rejeter ou mettre en quarantaine sans auto‑libération.
Choisissez « reject » plus souvent que vous ne le pensez — pour l’usurpation
Pour les domaines que vous contrôlez, DMARC avec p=reject est le mouvement anti‑usurpation le plus propre. Il réduit la quantité de courrier que vos utilisateurs doivent évaluer. Il force aussi votre propre écosystème d’envoi à bien se comporter.
Mais ne le faites pas aveuglément. Faites d’abord l’inventaire de vos expéditeurs (plateformes marketing, systèmes de facturation, alertes). Si vous passez à reject alors que la moitié de vos systèmes échouent l’alignement DKIM, vous créerez une panne auto‑infligée avec une belle histoire de sécurité et des résultats métiers catastrophiques.
La quarantaine est appropriée quand des humains doivent décider
La quarantaine sert pour les cas ambigus où vous voulez préserver le message pour révision, expertise judiciaire et libération contrôlée. Les erreurs arrivent lorsque la quarantaine devient la méthode d’élimination par défaut.
Le dossier spam est pour le bruit à faible risque et haut volume
La livraison dans le dossier indésirable permet toujours aux utilisateurs de rechercher et de récupérer des messages. C’est une fonctionnalité de fiabilité. Pour la classification spam à faible confiance (type newsletter, marketing maladroit, bulk non malveillant), le dossier spam dépasse souvent la quarantaine parce qu’il est découvrable.
Construisez des listes blanches comme des règles de pare‑feu : étroitement ciblées, revues, expirantes
L’autorisation par liste blanche est nécessaire. C’est aussi comme cela que vous autorisez accidentellement des attaquants qui compromettent un fournisseur.
- Privilégiez l’autorisation par identité authentifiée (domaine de signature DKIM) plutôt que par le domaine affiché « From ».
- Si vous devez allowlister par IP, documentez qui possède la plage d’IP et comment vous serez averti des changements.
- Ajoutez des dates d’expiration et des cycles de revue. Les exceptions permanentes transforment le risque en politique.
Blague 1 : La quarantaine, c’est comme un tiroir à bazar : tout y va, rien n’en sort, et vous ne trouvez jamais le tournevis.
Gouvernance : qui peut libérer quoi, et comment le prouver
La quarantaine est une frontière de privilèges. Traitez‑la comme l’accès à la production.
Définissez clairement les rôles de libération
- Auto‑libération par l’utilisateur pour les catégories spam et bulk à faible risque. Bon pour l’échelle, mauvais pour le phishing ciblé si vous n’êtes pas prudent.
- Libération par l’assistance pour les messages métier critiques où l’utilisateur est bloqué mais le risque est faible. Nécessite formation et journalisation.
- Libération réservée à la sécurité pour l’usurpation, le malware, le phishing d’identifiants et les DMARC fail. Les utilisateurs ne doivent jamais être invités à « décider » sur ces cas.
Exigez des codes de raison et une conservation
Lorsqu’un message est libéré, vous voulez :
- Qui l’a libéré
- Pourquoi (code de raison)
- Quel classifieur a déclenché la mise en quarantaine
- Quelles preuves ont soutenu la libération (authentification passée, bac à sable propre, expéditeur vérifié)
- Durée de conservation des artefacts quarantinés et libérés
Les digests ne sont pas optionnels
Un digest quotidien de quarantaine envoyé aux utilisateurs (ou au moins aux équipes avec forte dépendance externe comme les Ventes, les Achats, les RH) est une assurance bon marché. Mais il doit être :
- Publié à heure fixe
- Non lui‑même filtré
- Actionnable (flux de libération/demande qui fonctionnent sur mobile)
- Auditable (qui a demandé la libération)
Mode d’emploi de diagnostic rapide (premier/deuxième/troisième)
Quand quelqu’un dit « Je n’ai jamais reçu l’e‑mail », ne commencez pas par changer les seuils du filtre. C’est ainsi que vous transformez un message manquant en une nouvelle classe d’incidents.
Premier : Identifiez le niveau où le message a disparu
- L’expéditeur l’a‑t‑il vraiment envoyé ? Demandez l’horodatage, le destinataire, l’objet et idéalement le Message‑ID de l’expéditeur.
- Vérifiez le traceur de messages du fournisseur (Microsoft 365 / Google Workspace) pour les événements de livraison/quarantaine.
- Consultez les logs de votre passerelle si vous en avez une (Proofpoint, Mimecast, Postfix/Amavis sur site, etc.).
Deuxième : Confirmez l’authentification et l’alignement
- Inspectez les en‑têtes d’un message similaire qui est arrivé (ou d’un aperçu de quarantaine).
- Vérifiez le résultat SPF (pass/fail) et quelle IP a été évaluée.
- Vérifiez la validité de la signature DKIM et le domaine de signature.
- Vérifiez le résultat d’alignement DMARC et l’action de politique.
Troisième : Décidez si c’est la politique, la réputation ou le contenu
- Si l’authentification échoue : corrigez la configuration de l’expéditeur, ne la camouflez pas avec des allowlists.
- Si l’authentification passe mais que c’est quand même en quarantaine : examinez la réputation, les signalements utilisateurs et les déclencheurs de contenu (URLs, pièces jointes, macros).
- S’il s’agit d’un seul destinataire : vérifiez les règles de boîte, les filtres côté client ou les listes d’expéditeurs sûrs spécifiques à l’utilisateur.
Tâches pratiques : commandes, sorties, décisions (12+)
L’objectif des tâches n’est pas de « collecter des logs ». C’est de prendre une décision et d’agir. Ci‑dessous des contrôles concrets que vous pouvez exécuter sur une infrastructure mail Linux, ainsi que des étapes DNS et d’inspection de message qui s’appliquent même si vous utilisez des fournisseurs cloud.
Task 1: Confirm the domain’s SPF record exists and isn’t obviously broken
cr0x@server:~$ dig +short TXT example.com
"v=spf1 ip4:203.0.113.0/24 include:_spf.mailvendor.example -all"
Ce que signifie la sortie : Le domaine publie un SPF. Il autorise une plage IPv4 spécifique et un include fournisseur, et termine par -all (échec dur).
Décision : Si l’IP de l’expéditeur n’est pas dans cette plage ou include, SPF échouera. Corrigez l’enregistrement SPF ou envoyez depuis un système autorisé. N’autorisez pas l’échec par allowlist.
Task 2: Check if SPF exceeds DNS lookup limits (a common silent failure)
cr0x@server:~$ python3 - <<'PY'
import dns.resolver, re
domain="example.com"
txts=[]
for r in dns.resolver.resolve(domain,"TXT"):
s="".join([b.decode() for b in r.strings])
if s.startswith("v=spf1"):
txts.append(s)
spf=txts[0]
includes=re.findall(r'include:([^\s]+)', spf)
print("SPF:", spf)
print("Includes:", includes)
print("Note: SPF has a 10 DNS-lookup limit (includes, a, mx, ptr, exists, redirect).")
PY
SPF: v=spf1 ip4:203.0.113.0/24 include:_spf.mailvendor.example -all
Includes: ['_spf.mailvendor.example']
Note: SPF has a 10 DNS-lookup limit (includes, a, mx, ptr, exists, redirect).
Ce que signifie la sortie : Cette vérification simple montre les includes ; les enregistrements complexes enchaînent souvent les includes et dépassent le plafond de recherches DNS.
Décision : Si votre SPF est une poupée russe d’includes, aplatissez‑le ou utilisez des sous‑domaines par expéditeur. Le « permerror » SPF se corrèle souvent avec la quarantaine.
Task 3: Verify DKIM selector record is present
cr0x@server:~$ dig +short TXT s1._domainkey.example.com
"v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A..."
Ce que signifie la sortie : La clé publique DKIM existe pour le sélecteur s1.
Décision : Si DKIM manque pour le sélecteur utilisé par votre expéditeur, les signatures échoueront et augmenteront le risque de quarantaine. Corrigez l’expéditeur ou publiez l’enregistrement approprié.
Task 4: Check DMARC policy and reporting addresses
cr0x@server:~$ dig +short TXT _dmarc.example.com
"v=DMARC1; p=quarantine; rua=mailto:dmarc-agg@example.com; ruf=mailto:dmarc-afrf@example.com; adkim=s; aspf=s"
Ce que signifie la sortie : DMARC est réglé sur quarantine et utilise un alignement strict pour DKIM et SPF.
Décision : L’alignement strict casse davantage d’expéditeurs tiers. Si vous perdez du courrier fournisseur légitime envoyé « en votre nom », soit configurez correctement le fournisseur, soit assouplissez l’alignement quand justifié.
Task 5: Inspect a quarantined message header for authentication results
cr0x@server:~$ grep -iE 'Authentication-Results|Received-SPF|DKIM-Signature|From:' -n quarantined.eml | head
12:From: "Accounts Payable" <ap@example.com>
45:Received-SPF: fail (example.com: domain of ap@example.com does not designate 198.51.100.25 as permitted sender) receiver=mx1.local;
78:Authentication-Results: mx1.local; spf=fail smtp.mailfrom=ap@example.com; dkim=none; dmarc=fail (p=quarantine) header.from=example.com
Ce que signifie la sortie : SPF a échoué, DKIM est absent, DMARC a échoué. Ce n’est pas « le filtre méchant ». C’est l’expéditeur qui ne prouve pas son identité.
Décision : Traitez‑le comme une usurpation jusqu’à vérification hors bande. Si c’est un vrai fournisseur, faites‑lui corriger sa configuration d’envoi. Si c’est interne, corrigez vos systèmes sortants.
Task 6: On Postfix, search logs for a recipient and timeframe
cr0x@server:~$ sudo grep -E "to=<user@example.com>|user@example.com" /var/log/mail.log | tail -n 5
Jan 04 10:11:32 mx1 postfix/smtpd[21102]: connect from mail.sender.tld[198.51.100.25]
Jan 04 10:11:33 mx1 postfix/cleanup[21110]: 9A1B02C3D1: message-id=<20260104101132.12345@mail.sender.tld>
Jan 04 10:11:33 mx1 postfix/qmgr[1033]: 9A1B02C3D1: from=<ap@example.com>, size=48219, nrcpt=1 (queue active)
Jan 04 10:11:34 mx1 postfix/smtp[21112]: 9A1B02C3D1: to=<user@example.com>, relay=filter.local[127.0.0.1]:10024, delay=1.2, delays=0.2/0.01/0.3/0.7, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 5F7E9D0A12)
Jan 04 10:11:35 mx1 postfix/qmgr[1033]: 9A1B02C3D1: removed
Ce que signifie la sortie : Postfix a accepté le message et l’a remis à un filtre de contenu (commun avec Amavis/SpamAssassin). Le « queued as … » indique l’ID du saut suivant.
Décision : La disparition s’est probablement produite dans la phase de filtrage/quarantaine, pas à la réception SMTP. Suivez maintenant l’ID de file d’attente du filtre dans ses logs.
Task 7: On Amavis, find whether the message was quarantined
cr0x@server:~$ sudo grep -R "5F7E9D0A12" /var/log/amavis/amavis.log | tail -n 3
Jan 04 10:11:34 mx1 amavis[3091]: (03091-12) Passed CLEAN, but quarantined by policy, MESSAGE-ID: <20260104101132.12345@mail.sender.tld>
Jan 04 10:11:34 mx1 amavis[3091]: (03091-12) quarantine: local:spam-20260104-101134-03091-12
Jan 04 10:11:34 mx1 amavis[3091]: (03091-12) Tests: DKIM_NONE,SPF_FAIL,DMARC_FAIL score=6.3 tagged_above=-9999 required=5.0
Ce que signifie la sortie : Le message a été classifié et mis en quarantaine selon la politique et le scoring. L’emplacement de quarantaine est enregistré.
Décision : Validez si la politique est correcte : s’agissait‑il d’une vraie facture ou d’une usurpation ? Si c’est légitime, corrigez l’authentification ; ne relevez pas simplement le seuil global.
Task 8: Check the mail queue for backpressure (quarantine is sometimes just “stuck mail”)
cr0x@server:~$ mailq | head -n 15
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
A12BC34D56* 9210 Thu Jan 4 10:05:12 ap@example.com
user@example.com
B98FE76A10* 48219 Thu Jan 4 10:06:01 noreply@vendor.tld
user2@example.com
-- 2 Kbytes in 2 Requests.
Ce que signifie la sortie : Les astérisques indiquent des entrées de file actives non encore délivrées. Si les files s’accumulent, les messages peuvent arriver en retard et être perçus comme « manquants », ou expirer chez l’expéditeur.
Décision : Si la file grossit, traitez‑la comme un incident de disponibilité : vérifiez la santé du filtre en aval, le DNS et les limites de débit. Ne confondez pas « retardé » et « mis en quarantaine ».
Task 9: Validate DNS resolution health (filters depend on DNS constantly)
cr0x@server:~$ resolvectl query _dmarc.example.com
_dmarc.example.com: 192.0.2.53 -- link: eth0
(TXT) "v=DMARC1; p=quarantine; rua=mailto:dmarc-agg@example.com"
Ce que signifie la sortie : Le DNS est résoluble depuis l’hôte mail. Si cela échoue de façon intermittente, les vérifications SPF/DKIM/DMARC peuvent se dégrader en tempfail/permerror et modifier les décisions de filtrage.
Décision : Si le DNS est instable, corrigez‑le avant d’ajuster les seuils antispam. Sinon vous réglerez le filtre pour compenser des bugs d’infrastructure.
Task 10: Confirm TLS and certificate presentation from your inbound MX (sender-side troubleshooting)
cr0x@server:~$ openssl s_client -starttls smtp -connect mx.example.com:25 -servername mx.example.com -brief
CONNECTION ESTABLISHED
Protocol version: TLSv1.3
Ciphersuite: TLS_AES_256_GCM_SHA384
Peer certificate: CN = mx.example.com
Verification: OK
Ce que signifie la sortie : Votre MX propose STARTTLS et présente un certificat valide. Une posture TLS médiocre peut réduire la réputation et faire considérer certains expéditeurs comme suspects.
Décision : Si la vérification échoue ou que STARTTLS est absent là où on l’attend, corrigez le TLS. Ce n’est pas la cause principale de quarantaine, mais c’est un contributeur discret à la friction de délivrabilité.
Task 11: Use SpamAssassin to see why content scored high
cr0x@server:~$ spamassassin -t < quarantined.eml | head -n 25
SpamAssassin version 3.4.6
X-Spam-Flag: YES
X-Spam-Score: 6.3
X-Spam-Level: ******
X-Spam-Status: Yes, score=6.3 required=5.0 tests=DKIM_NONE,DMARC_FAIL,SPF_FAIL,URIBL_BLOCKED
DKIM_NONE 0.1 Message has no DKIM signature
SPF_FAIL 3.5 SPF check failed
DMARC_FAIL 2.0 DMARC check failed
URIBL_BLOCKED 0.0 URIBL: query blocked (maybe missing DNS)
Ce que signifie la sortie : Les échecs d’authentification dominent le score. Notez aussi URIBL_BLOCKED, souvent dû au DNS ou à des restrictions de politique ; cela peut fausser la classification.
Décision : Corrigez l’authentification en priorité. Si URIBL est bloqué à cause de votre politique DNS, ajustez les paramètres URIBL afin qu’il ne crée pas de bruit dans le scoring.
Task 12: Verify SRS/forwarding issues (common false positive source)
cr0x@server:~$ grep -i "SRS0" -n quarantined.eml | head
102:Return-Path: <SRS0=HhZx=AB=example.com=ap@example.com@forwarder.tld>
Ce que signifie la sortie : Le message est passé par un forwarder utilisant SRS (Sender Rewriting Scheme). Si le forwarder n’utilise pas SRS, SPF échouera souvent, augmentant la probabilité de mise en quarantaine.
Décision : Si le routage implique un transfert, privilégiez les expéditeurs alignés DKIM/DMARC et assurez‑vous que les forwarders supportent SRS. Sinon, attendez‑vous à des quarantaines liées à SPF.
Task 13: Check local mailbox rules that mimic “quarantine” (the user-side trap)
cr0x@server:~$ doveadm sieve list -u user@example.com
1. "move-suspicious-to-archive"
2. "auto-forward"
Ce que signifie la sortie : L’utilisateur a des règles Sieve. Une règle peut déplacer le courrier hors de la Boîte de réception, donnant l’impression qu’il est « manquant ».
Décision : Si c’est spécifique à l’utilisateur, corrigez la règle ou formez‑le. Ne touchez pas à la politique antispam globale pour un bug de tri local.
Task 14: Measure quarantine volume and trend (because “it feels worse” is not a metric)
cr0x@server:~$ sudo awk '/quarantine:/{count++} END{print "quarantined_messages_today="count}' /var/log/amavis/amavis.log
quarantined_messages_today=184
Ce que signifie la sortie : Vous avez un compteur quotidien. Associez‑le au total entrant pour obtenir un taux de quarantaine et détecter des changements brutaux après des modifications de politique.
Décision : Si le volume de quarantaine augmente après une modification, revenez en arrière ou restreignez la règle. S’il augmente sans changements, suspectez des variations de réputation ou des échecs DNS/auth.
Trois mini-récits d’entreprise issus du terrain
Mini-récit 1 : L’incident causé par une fausse hypothèse
L’entreprise avait déployé une belle nouvelle passerelle de sécurité e‑mail. Elle venait avec une politique de quarantaine par défaut qui semblait « raisonnable » et un tableau de bord qui paraissait « vert ». L’hypothèse : si un message était mis en quarantaine, le destinataire prévu en serait informé et pourrait le libérer. Cette hypothèse s’est révélée fausse de trois manières.
Premièrement, les digests de quarantaine étaient désactivés parce que quelqu’un craignait qu’ils « apprennent aux utilisateurs à cliquer sur des liens ». Deuxièmement, l’auto‑libération n’était autorisée que pour un petit groupe d’utilisateurs IT. Troisièmement, le helpdesk n’avait pas l’autorisation de libérer les messages ; la sécurité l’avait, mais la sécurité ne tenait pas de fonction de triage de boîte mail.
La panne a été découverte quand les Comptes Fournisseurs ont manqué la mise à jour des coordonnées bancaires d’un fournisseur (la bonne, pas l’arnaque). La facture suivante est devenue impayée, et le fournisseur a interrompu les livraisons. Les Achats ont blâmé les Comptes Fournisseurs, les Comptes Fournisseurs ont blâmé le fournisseur, le fournisseur a blâmé « votre e‑mail », et l’IT a été appelé en dernier parce que l’e‑mail fonctionne toujours jusqu’à ce qu’il cesse de fonctionner.
Quand ils ont finalement tracé le problème, le message avait été mis en quarantaine pour DMARC fail. Le fournisseur utilisait une plateforme de facturation tierce qui envoyait au nom du domaine du fournisseur sans alignement DKIM. Pas malveillant. Juste mal configuré.
La solution n’a pas été « baisser le seuil ». La solution a été gouvernance et visibilité : activer les digests pour les équipes à forte dépendance, ajouter un chemin de libération helpdesk avec garde‑fous, et exiger que les fournisseurs s’authentifient correctement. L’élément manquant n’était pas technologique. C’était la responsabilité.
Mini-récit 2 : L’optimisation qui s’est retournée contre eux
Une équipe de sécurité voulait moins d’incidents de phishing et une réponse plus rapide. Ils ont introduit une règle « auto‑mettre en quarantaine tout ce qui mentionne virement bancaire ». C’était présenté comme une victoire rapide : stopper le Business Email Compromise en attrapant l’appât évident.
Le premier jour, le tableau de bord était superbe. Les chiffres de quarantaine ont explosé. Les signalements de phishing ont diminué. L’équipe a fêté le mouvement de KPI. Une semaine plus tard, la finance a escaladé : les avis de virement des fournisseurs arrivaient en retard ou pas du tout, et les cycles de paiement devenaient chaotiques.
La politique avait un schéma classique de rebond : une règle de contenu à haute sensibilité appliquée à un domaine métier à haute valeur. Elle n’a pas seulement capturé des escroqueries. Elle a capturé des workflows financiers légitimes, surtout les messages de fin de trimestre contenant de vraies instructions de virement.
L’équipe avait optimisé pour un seul indicateur (les signalements de phishing) et dégradé par accident un autre SLO (disponibilité des messages critiques pour la finance). Ils ont annulé la règle de contenu et l’ont remplacée par un contrôle plus ciblé : appliquer DMARC reject sur leurs propres domaines, ajouter une vérification fournisseur pour les demandes de changement de banque, et ne mettre en quarantaine que lorsque l’authentification ou la réputation d’URL est suspecte — pas uniquement parce que le message contient le mot « virement ».
Blague 2 : Rien ne dit « succès sécurité » comme bloquer la paie un vendredi après‑midi.
Mini-récit 3 : La pratique ennuyeuse mais correcte qui a sauvé la situation
Une entreprise SaaS de taille moyenne avait une habitude qui semblait peu excitante sur le papier : une revue hebdomadaire de « triage de quarantaine » entre la sécurité, le helpdesk et les équipes qui reçoivent beaucoup de courrier externe (Ops Ventes, RH, Comptes Fournisseurs). Trente minutes. Même ordre du jour à chaque fois.
Ils passaient en revue un petit échantillon de messages mis en quarantaine : principaux expéditeurs, principales raisons, et toutes libérations qui semblaient risquées. Ils suivaient aussi une métrique simple : temps de libération des faux positifs affectant les revenus ou la paie. Ils ne cherchaient pas la perfection. Ils cherchaient la répétabilité.
Un mois, ils ont intégré une nouvelle plateforme de recrutement RH. En quelques jours, les réponses de candidats ont commencé à atterrir en quarantaine. La réunion de triage l’a détecté rapidement parce que les RH l’ont signalé comme « impact élevé », et l’échantillon de quarantaine montrait des échecs DKIM cohérents.
La correction a été propre : le fournisseur avait DKIM activé mais signait avec un domaine différent du « From » visible, rompant l’alignement DMARC en mode strict. Le fournisseur a mis à jour sa configuration ; l’entreprise a ajouté une exception temporaire et ciblée (autorisation du domaine de signature DKIM pour cet expéditeur) avec date d’expiration.
Pas de drame, pas de salle de crise, pas d’escalade exécutive. L’ennuyeux fonctionne. L’entreprise a traité la quarantaine comme une file de production avec surveillance et revue, pas comme une boîte mystère.
Erreurs courantes : symptômes → cause racine → correction
- Symptôme : « Les e‑mails d’un fournisseur vont toujours en quarantaine, mais seulement pour certains destinataires. »
- Cause racine : Listes d’expéditeurs sûrs au niveau utilisateur, règles de boîte, ou politiques par utilisateur différentes (surtout avec des licences/roles mixtes). Parfois le fournisseur est routé via des chemins entrants différents (MX régional, groupes de politiques de passerelle différents).
- Correction : Comparez les événements de trace de message entre destinataires ; vérifiez les règles utilisateur ; normalisez les politiques par utilisateur pour les équipes à haute valeur ; évitez les réglages « special snowflake » sans ticket.
- Symptôme : « Tout est allé en quarantaine après que nous ayons activé DMARC quarantine/reject. »
- Cause racine : Vous avez activé la politique avant d’inventorier tous vos expéditeurs légitimes. Des tiers envoient au nom de votre domaine mais échouent l’alignement.
- Correction : Auditez les sources sortantes, configurez DKIM pour chacune, utilisez des sous‑domaines dédiés pour les fournisseurs, puis migrez DMARC de
none→quarantine→rejectprogressivement. - Symptôme : « Les utilisateurs jurent qu’ils ont vérifié le spam/indésirable et ce n’est pas là. »
- Cause racine : C’est en quarantaine hors‑boîte, ou ça a été rejeté au moment SMTP. Les utilisateurs ne peuvent voir aucun des deux.
- Correction : Établissez une prise en charge standard : expéditeur, destinataire, horodatage, Message‑ID. Utilisez le traceur de messages/logs passerelle. Fournissez un portail de quarantaine en libre‑service ou un flux de libération helpdesk rapide.
- Symptôme : « Les e‑mails digest de quarantaine n’arrivent pas. »
- Cause racine : L’expéditeur du digest est filtré, ou DMARC échoue pour le domaine digest, ou le digest est bloqué par une règle interne le traitant comme bulk.
- Correction : Assurez‑vous que les messages digest s’authentifient (SPF/DKIM/DMARC). Allowlistez l’expéditeur du digest par identité authentifiée. Surveillez la délivrabilité du digest séparément.
- Symptôme : « Un e‑mail transféré est toujours mis en quarantaine. »
- Cause racine : SPF casse sur la redirection à moins que SRS soit utilisé ; l’alignement DMARC peut échouer ; les en‑têtes ARC peuvent être absents ou non fiables.
- Correction : Privilégiez les expéditeurs alignés DKIM ; assurez‑vous que les forwarders implémentent SRS ; évaluez le support ARC dans votre chaîne de filtrage ; réduisez la dépendance au transfert naïf pour les workflows critiques.
- Symptôme : « Nous avons allowlisté le domaine mais il est encore parfois mis en quarantaine. »
- Cause racine : Vous avez allowlisté par domaine « From » affiché, mais l’infrastructure d’envoi réelle varie (pools SaaS multiples, domaines DKIM différents, expéditeurs d’enveloppe différents). Ou la règle est évaluée après d’autres blocages.
- Correction : Allowlistez par domaine de signature DKIM ou par un attribut authentifié stable. Vérifiez l’ordre et la priorité des règles. Gardez les exceptions ciblées et testées.
- Symptôme : « Après un changement DNS, les faux positifs ont explosé. »
- Cause racine : Les includes SPF ont cassé, le sélecteur DKIM manquait, l’enregistrement DMARC était malformé, ou les résolveurs échouaient de façon intermittente. Les filtres interprètent les échecs d’authentification comme un risque.
- Correction : Ajoutez des contrôles de changement DNS : pré‑tests, réduction progressive des TTL, vérification post‑changement (requêtes SPF/DKIM/DMARC) et surveillance des taux d’échec d’authentification.
Listes de contrôle / plan étape par étape
Checklist A: Build a quarantine policy that doesn’t eat the business
- Classer le courrier entrant par criticité métier : finance, RH, juridique, ventes, support. Désignez des propriétaires sur papier.
- Définir des voies : connus‑bons, inconnus‑mais‑plausibles, connus‑mauvais/à haut risque.
- Décider des actions par voie : livrer en boîte, livrer au dossier spam, mettre en quarantaine, rejeter.
- Fixer des TTL de quarantaine : combien de temps garder les éléments avant suppression. Assurez‑vous que cela couvre vos besoins d’enquête.
- Établir des rôles de libération : utilisateur/helpdesk/sécurité ; ajouter codes de raison et journalisation.
- Activer les digests pour les équipes à forte dépendance ; assurer la délivrabilité des digests.
- Mettre en place la gestion des exceptions : allowlists ciblées, dates d’expiration, cadence de revue.
- Métriques : taux de quarantaine, taux de faux positifs, temps de libération pour équipes critiques, principales raisons de quarantaine.
Checklist B: Step-by-step when a critical email is “missing”
- Collecter les faits minimaux : adresse expéditeur, destinataire, heure approximative, objet, et tout Message‑ID que l’expéditeur peut fournir.
- Déterminer le niveau : trace de message (fournisseur), logs passerelle, règles de boîte.
- Trouver la disposition : livré, mis en spam, quarantiné, rejeté, différé.
- Si rejeté : obtenir le code de réponse SMTP et corriger l’authentification ou le routage de l’expéditeur.
- Si quarantiné : identifier le classifieur (SPF/DKIM/DMARC, URL, pièce jointe, règle de contenu).
- Prendre la décision sûre : si l’authentification échoue et que cela ressemble à une usurpation métier, ne libérez pas sans vérification.
- Corriger la cause racine : ajuster DNS/auth pour les expéditeurs légitimes ; resserrer les contrôles pour les malveillants ; documenter toute exception.
- Clore la boucle : notifier l’utilisateur, enregistrer la raison, et ajouter l’événement au triage hebdomadaire s’il se répète.
Checklist C: Exception rules that won’t haunt you
- Privilégiez les attributs authentifiés (DKIM d=, expéditeur d’enveloppe validé SPF) plutôt que les noms affichés ou domaines From.
- Ciblez par groupe de destinataires quand possible (équipe finance) plutôt que de « tout laisser passer » globalement.
- Inscrivez une date d’expiration dans le titre du ticket. Oui, littéralement dans le titre.
- Ajoutez une étape de validation : après changement de règle, envoyez un message de test et confirmez la disposition.
- Revoyez les exceptions mensuellement. Supprimez les obsolètes. Si vous n’enlevez jamais d’exceptions, vous ne gérez pas les exceptions — vous les collectionnez.
FAQ
1) Devons‑nous envoyer les messages en quarantaine dans le dossier spam de l’utilisateur à la place ?
Parfois. Pour le bulk à faible risque et le spam suspecté, la livraison dans le dossier spam améliore la récupérabilité. Pour le phishing/malware/usurpation à haut risque, gardez la quarantaine hors‑boîte et restreignez la libération.
2) Est‑ce qu’allowlister un domaine fournisseur est une solution raisonnable ?
Uniquement comme mesure temporaire, et de préférence basée sur une identité authentifiée (domaine de signature DKIM) plutôt que sur le From visible. À long terme, faites corriger SPF/DKIM/DMARC par le fournisseur. Sinon vous faites confiance au champ le plus facile à falsifier.
3) Pourquoi des messages passaient hier et sont en quarantaine aujourd’hui sans changement de politique ?
Des changements de réputation, des modifications de contenu (nouveaux liens/pièces jointes) ou une dérive d’authentification (rotation d’IP, clé DKIM expirée, propagation DNS) peuvent modifier le scoring. De plus, les boucles de rétroaction comptent : si des utilisateurs ont marqué des messages similaires comme spam, les classifieurs s’adaptent.
4) Quelle est la différence entre « quarantine » et « reject » en DMARC ?
DMARC p=quarantine indique que le courrier en échec doit être traité comme suspect (souvent livré en spam ou mis en quarantaine). p=reject demande aux récepteurs de le rejeter au moment SMTP. Le reject réduit l’exposition des utilisateurs à l’usurpation mais exige que vos expéditeurs légitimes soient alignés.
5) Peut‑on compter sur les utilisateurs pour libérer leurs propres messages en quarantaine ?
Pour les catégories à faible risque, oui, avec formation et une bonne interface. Pour l’usurpation et le phishing d’identifiants, non. Les utilisateurs ne sont pas un contrôle de sécurité ; ce sont des personnes avec des calendriers.
6) Pourquoi les messages transférés sont‑ils pénalisés ?
Le transfert change l’IP d’envoi, ce qui casse SPF à moins que le forwarder n’utilise SRS. DKIM peut survivre au transfert, mais certains forwarders modifient le contenu et cassent les signatures. L’alignement DMARC échoue alors et les filtres deviennent suspicieux.
7) Combien de temps devons‑nous conserver le courrier en quarantaine ?
Assez longtemps pour supporter les enquêtes et la récupération utilisateur, mais assez court pour limiter le risque et le stockage. Beaucoup d’organisations choisissent 15–30 jours pour la quarantaine générale et plus longtemps pour les rétentions réservées à la sécurité lorsqu’une enquête est en cours. Choisissez un nombre, documentez‑le et rendez‑le accessible.
8) Quelles métriques indiquent que nous « perdons des messages importants » ?
Suivez le temps de libération pour les équipes à impact élevé, les quarantaines répétées pour les mêmes expéditeurs légitimes, et le ratio quarantiné/entrant. Associez‑les aux tickets utilisateurs « mail manquant ». Si les tickets montent après un changement de politique, c’est votre canari.
9) Peut‑on éliminer complètement la quarantaine ?
Vous pouvez réduire la dépendance à la quarantaine en appliquant une authentification forte, en utilisant le reject pour l’usurpation claire, et en livrant le bulk borderline dans les dossiers spam. Mais l’ambiguïté existe. La quarantaine est utile — lorsqu’elle est visible et gouvernée.
10) Quel est le premier amélioration la plus sûre si nous partons du chaos ?
Activez les digests de quarantaine (ou un rapport quotidien simple) pour les équipes dépendantes d’e‑mails externes, et définissez un processus de libération helpdesk avec journalisation. Cela réduit immédiatement la perte silencieuse pendant que vous corrigez l’authentification et l’ajustement des politiques.
Conclusion : prochaines étapes qui réduisent réellement les pertes
Si vous voulez arrêter de perdre des messages importants, cessez de traiter la quarantaine comme un puits magique de sécurité et commencez à la considérer comme une file de production avec propriétaires, métriques et workflow de libération.
- Aujourd’hui : Activez la visibilité (digests/accès portail) et définissez qui peut libérer quoi.
- Cette semaine : Construisez un workflow de diagnostic rapide : trace de message → logs passerelle → résultats d’en‑tête d’authentification → décision de politique. Faites‑en un runbook, pas un savoir tribal.
- Ce mois : Corrigez l’authentification et l’alignement pour vos domaines et vos principaux expéditeurs tiers. Réduisez les exceptions en obligeant les expéditeurs à se conformer.
- En continu : Tenez un triage hebdomadaire de quarantaine avec les propriétaires métiers. C’est ennuyeux. Gardez‑le ennuyeux. L’ennui est fiable.