toutes les fiches

// comment corriger

ARC fail (arc=fail) : ce que signifie l'Authenticated Received Chain

Vos en-têtes affichent arc=fail ou cv=fail. Découvrez ce qu'est l'ARC, pourquoi la chaîne casse avec les transferts et les listes, et ce que vous pouvez corriger.

Ce que ça veut dire

L'ARC (Authenticated Received Chain, RFC 8617) aide les emails à survivre aux transferts. Quand un service de transfert ou une liste de diffusion modifie un message, le SPF et le DKIM cassent souvent. L'ARC permet à chaque serveur intermédiaire de noter quels étaient les résultats d'authentification au moment où il a reçu le message, et de signer cette note. Le destinataire final peut alors décider de faire confiance à ces résultats antérieurs.

Chaque serveur qui ajoute l'ARC écrit trois en-têtes avec un numéro d'instance i=1, i=2... :

  • ARC-Authentication-Results : les résultats SPF, DKIM et DMARC tels que ce serveur les a vus.
  • ARC-Message-Signature : une signature du message, proche du DKIM.
  • ARC-Seal : une signature des en-têtes ARC, avec cv= (validation de la chaîne) à none (premier saut), pass ou fail.

Un résultat comme celui-ci signifie que la chaîne n'a pas pu être validée :

Authentication-Results: mx.example.com; arc=fail (signature failed)
ARC-Seal: i=2; a=rsa-sha256; cv=fail; d=lists.example.org; s=arc; ...

Dès qu'un sceau indique cv=fail, la chaîne est cassée définitivement : les serveurs suivants ne peuvent pas la réparer.

Pourquoi cela arrive

  • Un serveur a modifié le message après l'avoir scellé : un pied de page, une étiquette dans l'objet, une passerelle de sécurité qui réécrit les liens, ou un antivirus qui ajoute un bandeau après l'ajout de l'ARC.
  • Une clé ARC incorrecte ou absente : le sélecteur indiqué dans ARC-Seal (s=) n'a pas de clé publique dans le DNS à selector._domainkey.domain, ou la clé ne correspond pas.
  • Ordre cassé ou en-têtes manquants : un serveur intermédiaire a supprimé ou réordonné des en-têtes ARC, ou un numéro d'instance manque.
  • Trop de sauts : la norme autorise 50 instances au maximum.
  • Des implémentations boguées dans une passerelle ou un logiciel de liste de diffusion.

Important : arc=fail ne signifie pas que votre domaine est mal configuré. Si vous avez envoyé l'email directement et que le SPF, le DKIM et le DMARC passent, l'ARC ne compte que pour les emails transférés. Par ailleurs, arc=none signifie simplement que personne n'a ajouté d'ARC, ce qui est normal pour un envoi direct.

Comment vérifier

  1. Testez d'abord votre propre envoi. Envoyez un email directement depuis votre outil à l'adresse unique affichée sur la page d'accueil de Delivmail (/). Si le SPF, le DKIM et le DMARC passent, le problème se situe sur le chemin de transfert, pas dans votre configuration.
  2. Lisez les en-têtes du message reçu dans la boîte finale (Gmail « Show original », Outlook « View message source »). Repérez chaque ARC-Seal et notez i=, cv=, d= et s=. Le premier sceau avec cv=fail, ou le saut juste avant, est l'endroit où la chaîne a cassé. Voir comment lire les en-têtes d'un email.
  3. Vérifiez la clé ARC de celui qui a scellé :
    dig TXT arc._domainkey.lists.example.org +short

Comment corriger

Si vous gérez le service de transfert, la liste ou la passerelle

  • Ajoutez l'ARC après toute modification du message. L'ajout de pieds de page et de bandeaux doit se faire avant le scellement.
  • Publiez la clé publique ARC et vérifiez le sélecteur. Beaucoup de serveurs savent faire de l'ARC : par exemple Rspamd a un module ARC, et Mailman 3 prend en charge la signature ARC.
  • Préférez un transfert qui ne modifie pas le corps du message, et utilisez le SRS pour le SPF des emails transférés.

Si vous êtes l'expéditeur d'origine

Si vous êtes le destinataire final (Microsoft 365)

Si un service de confiance (une passerelle de sécurité, une liste) casse le DMARC mais scelle correctement avec l'ARC, Microsoft 365 vous permet de le déclarer comme sceau ARC de confiance (trusted ARC sealer), dans le portail Defender ou en PowerShell. Le paramètre remplace toute la liste, alors incluez les valeurs existantes :

Set-ArcConfig -Identity Default -ArcTrustedSealers "lists.example.org"

Ne faites confiance qu'aux services que vous connaissez vraiment : un sceau de confiance peut faire passer pour légitime un email qui échoue.

Vérifiez que c'est corrigé

Envoyez un nouveau message par le même chemin et lisez les en-têtes à l'arrivée : le dernier ARC-Seal doit afficher cv=pass et Authentication-Results doit afficher arc=pass. Lancez aussi un test Delivmail pour confirmer que votre propre SPF, DKIM et DMARC passent toujours. Chaque destinataire décide lui-même d'utiliser ou non l'ARC : une chaîne valide aide, mais ne garantit pas la livraison.

Vérifiez que c'est corrigé

Une modification DNS peut prendre de quelques minutes à quelques heures. Ensuite, envoyez un nouvel email de test ou scannez à nouveau votre domaine.

Fiches liées