Une boîte catch-all demande au serveur d'accepter tout message envoyé au domaine, même si le destinataire n'existe pas. Au lieu de rejeter typo@yourdomain.com avec une erreur 550, il accepte le message. Cela peut être utile, mais ouvre aussi la porte au spam, à l'hameçonnage et aux attaques de collecte d'annuaire.
Sans garde-fous, un catch-all peut rapidement augmenter le courrier indésirable et dégrader la réputation du domaine selon le volume, les filtres et la réponse opérationnelle. L'activer est simple; l'isoler et l'exploiter correctement est plus difficile.
Ce guide présente trois modèles d'isolation destinés à réduire les risques sur Microsoft 365, une pile Linux ou Google Workspace. Leur mise en œuvre dépend de la version, de la topologie et des règles du fournisseur. Si vous hésitez encore, consultez d'abord notre présentation du catch-all de domaine.
Qu'est-ce qu'une boîte catch-all ?
Il s'agit d'une boîte qui reçoit les messages envoyés au domaine lorsqu'aucune adresse existante ne correspond. Si quelqu'un écrit à misspelled-name@yourdomain.com, le message rejoint la boîte désignée au lieu d'être rejeté.
Le serveur accepte alors tout ce qui correspond à la règle. Robots de spam, tentatives d'hameçonnage et analyses automatisées peuvent recevoir une réponse 250 OK. Sans isolation et filtrage adaptés, ce trafic se mélange au courrier légitime et peut nuire à la sécurité, aux opérations et à la réputation.
La règle essentielle : ne jamais envoyer ce trafic dans une boîte principale
Dans certaines configurations, le catch-all contourne le blocage périphérique fondé sur l'annuaire (DBEB), et le serveur accepte le contenu avant de valider un destinataire normal. Acheminer ce flux vers ceo@company.com ou une autre boîte active crée un risque de sécurité et un bruit opérationnel.
Tous les modèles suivants appliquent le même principe : isoler le flux catch-all du courrier de production.
Modèle 1 : le dépôt de quarantaine (Microsoft 365 / Exchange)
Cette approche peut convenir aux organisations qui doivent conserver le courrier catch-all à des fins juridiques ou d'investigation sans recevoir des notifications constantes. Elle doit être validée par rapport aux obligations de conservation et de conformité.
Fonctionnement
- Réception : le serveur accepte le courrier destiné à des adresses inconnues.
- Marquage : une règle de transport identifie un message externe qui ne vise aucun utilisateur valide.
- Classement : la règle fixe le niveau de confiance antispam (SCL) à 9, soit une valeur élevée.
- Stockage : le message est dirigé vers une boîte partagée comme
catchall-sink@yourdomain.com.
Configuration PowerShell
Commencez par définir le domaine sur « Internal Relay » dans le centre d'administration Exchange, ce qui désactive DBEB pour ce flux. Puis, après avoir évalué l'effet sur votre environnement, exécutez :
# Create the sink (shared mailbox - no license needed)
New-Mailbox -Shared -Name "CatchAll Sink" -PrimarySmtpAddress catchall-sink@yourdomain.com
# Create the transport rule
New-TransportRule -Name "Catch-All Routing & Suppression"
-FromScope "NotInOrganization"
-SentTo "catchall-sink@yourdomain.com"
-RedirectMessageTo "catchall-sink@yourdomain.com"
-SetSCL 9
-ExceptIfRecipientBelongsTo "All Valid Users Group"
Pourquoi SCL 9 ? Dans cette configuration, SCL 9 classe les messages comme indésirables selon les règles Exchange. Consultez la boîte à une fréquence définie, par exemple chaque semaine, et vérifiez la conservation et les exceptions.
Modèle 2 : le flux marqué (Postfix / Linux)
Sur une pile Postfix et Dovecot autohébergée, une boîte séparée peut être superflue. Une autre option consiste à ajouter un en-tête et à laisser des règles serveur ou client séparer le trafic.
Fonctionnement
- Réception :
luser_relayaccepte le message pour un destinataire local inconnu. - Modification : le MTA ajoute l'en-tête
X-Catch-All: True. - Filtrage : des règles Sieve déplacent le message vers un dossier dédié.
Configuration Postfix
# /etc/postfix/main.cf
# Route unknown local users to a specific alias
luser_relay = catchall_alias
# /etc/postfix/virtual
# Map the alias to a real user
catchall_alias realuser@yourdomain.com
Important : luser_relay fonctionne uniquement pour les domaines locaux. Pour plusieurs domaines virtuels, utilisez virtual_alias_maps avec un joker si la configuration et l'ordre des tables le permettent :
# /etc/postfix/virtual
@example.com realuser@example.com
Si vous configurez le transfert de messages avec des règles catch-all, vérifiez que les tables virtuelles ne se chevauchent pas. Des règles concurrentes peuvent acheminer le courrier vers une mauvaise destination.
Filtre Sieve
Ne comptez pas sur une inspection visuelle pour séparer le trafic. Automatisez le filtre et testez les en-têtes réellement conservés par votre MTA :
if header :contains "X-Original-To" "catchall_alias" {
fileinto "Junk/CatchAll";
stop;
}
Modèle 3 : le joker partiel (routage par expression régulière)
Cette approche est plus restrictive lorsqu'un véritable catch-all n'est pas nécessaire. Au lieu d'accepter *@domain.com, elle autorise certains motifs, comme sales-*@domain.com, et rejette les autres.
Fonctionnement
Configurez le MTA ou le fournisseur pour accepter les adresses correspondant à une expression régulière, par exemple sales-webinar@ et sales-q1@, tout en rejetant des cibles plus risquées comme admin@ ou hr@. La syntaxe et la disponibilité varient selon le fournisseur.
Configuration Google Workspace
- Accédez à Apps > Google Workspace > Gmail > Default Routing.
- Sous Specify Envelope Recipients, sélectionnez « Pattern Match ».
- Saisissez l'expression :
^sales-.*@yourdomain\.com$ - Définissez l'action pour remplacer le destinataire d'enveloppe par
sales-team@yourdomain.com.
Résultat attendu : sales-promo@yourdomain.com est accepté et admin@yourdomain.com rejeté avec 550 si la règle est active et qu'aucun autre routage ne correspond. Cela peut réduire sensiblement la surface exposée aux attaques de collecte d'annuaire.
Les adresses doivent-elles fonctionner comme des alias de messagerie ? Vous pouvez associer jokers partiels et transfert d'alias lorsque le fournisseur, l'authentification et les règles de livraison le permettent.
Éviter une boucle de routage du catch-all
La boucle de routage est l'une des pannes les plus dangereuses. Voici un scénario possible :
- Le catch-all accepte le courrier pour
ghost@domain.com. - Une règle le transfère automatiquement vers
external@gmail.com. - Gmail le rejette à cause d'un échec SPF/DMARC.
- Gmail renvoie le NDR à
ghost@domain.com. - Le catch-all accepte le rejet.
- La règle transfère le rejet vers Gmail.
- Le cycle continue jusqu'au dépassement de
MaxHopCount.
Des erreurs comme 5.4.14 Hop count exceeded ou 5.4.6 Routing loop detected peuvent apparaître. Sur un domaine chargé, la file sortante peut alors augmenter et déclencher des blocages antispam en quelques heures, selon les limites et protections du fournisseur.
Liste de prévention
- Contrôlez les en-têtes : vérifiez que votre MTA respecte
X-LoopetDelivered-Tosur le chemin réel. - Bloquez les réponses automatiques : demandez aux règles d'ignorer les messages portant l'en-tête
Auto-Submitted: auto-generated. - Particularité de Microsoft 365 : la stratégie antispam sortante bloque généralement le transfert externe par défaut, avec l'erreur
5.7.520 Access denied. L'activer dans Outbound Spam Filter Policy peut accroître le risque de rétrodiffusion; évaluez ce compromis et testez-le soigneusement.
Pour approfondir les pièges du transfert entre fournisseurs, consultez notre guide sur le transfert des alias de messagerie.
Pourquoi tant de catch-all existent et quand les éviter
De nombreuses entreprises activent un catch-all pour limiter le coût des licences par utilisateur. Si vous avez besoin de support@, billing@ et jobs@ sans payer $18/mois par utilisateur chez Google ou Microsoft, ce contournement peut sembler séduisant.
Sans contrôles adaptés, il devient une dette technique et un risque pour la réputation.
Une autre solution est un fournisseur qui ne facture pas par utilisateur. TrekMail décrit un stockage mutualisé plutôt qu'un tarif par siège :
- Forfait Nano : $0, sans carte.
- Starter : $3.50/mois avec un essai de 14 jours.
- Pro : $10/mois avec un essai de 14 jours.
- Agency : $23.25/mois avec un essai de 14 jours.
Dans les limites du forfait, vous pouvez créer support@, billing@ et jobs@ comme de vraies boîtes ou des alias sur votre domaine personnalisé. Présentes dans l'annuaire, ces adresses permettent à un serveur correctement configuré de rejeter les destinataires invalides en périphérie avec une réponse 550. Cela peut réduire le risque de réputation, qui dépend aussi de l'authentification, du contenu, du volume et des pratiques d'envoi. Ces adresses ne nécessitent alors aucun des modèles catch-all ci-dessus.
Si vous gérez plusieurs domaines comme prestataire ou entreprise en croissance, comparez le coût et la charge opérationnelle avant de conserver un contournement. La boîte catch-all de TrekMail offre un filet de sécurité dans les limites du plan, mais nécessite toujours isolation, filtrage, supervision et configuration DNS correcte.
Conclusion
Une boîte catch-all n'est pas mauvaise par nature. Le risque vient du catch-all sans garde-fous. Choisissez un modèle compatible avec votre plateforme, comme le dépôt de quarantaine pour Exchange, le flux marqué pour Postfix ou le joker partiel pour Workspace, et séparez le trafic du courrier de production. Testez toujours le comportement réel.
Vous pouvez aussi éviter une partie de cette complexité en utilisant de vraies adresses et de vrais alias dans un forfait adapté au volume. Avant toute migration, vérifiez prix, limites, stockage, DNS, authentification et compatibilité des données.