Introduction
Ce document décrit les concepts généraux d'architecture DMARC (Domain-based Message Authentication, Reporting and Conformance), ainsi que les exigences d'alignement SPF (Sender Policy Framework) et DKIM (DomainKeys Identified Mail) par rapport à DMARC.
Terminologie
Cette section décrit et définit certains des termes clés utilisés dans ce document.
- EHLO/HELO : commandes qui fournissent l'identité d'un client SMTP lors de l'initialisation d'une session SMTP, comme défini dans la RFC 5321.
- En-tête De - Le champ De : indique le ou les auteurs d'un message. Il inclut généralement le nom d'affichage (ce qui est montré à un utilisateur final par le client de messagerie), ainsi qu'une adresse e-mail qui contient une partie locale et un nom de domaine (par exemple, "John Doe" <johndoe@example.com>) comme défini dans la RFC 5322.
- MAIL FROM - Provient de la commande MAIL au début d'une session SMTP et fournit l'identification de l'expéditeur comme défini dans RFC5321. Il est également connu sous le nom d'adresse d'expéditeur d'enveloppe, de chemin de retour ou de renvoi.
DMARC - Alignement des identifiants
DMARC associe ce que DKIM et SPF authentifient à ce qui est répertorié dans l'en-tête De. Ceci se fait par alignement. L'alignement nécessite que l'identité de domaine authentifiée par SPF et DKIM corresponde au domaine dans l'adresse e-mail visible par l'utilisateur final.
Commençons par ce qu'est un identificateur et pourquoi ils sont importants en référence à DMARC.
Identificateurs
Les identificateurs identifient un nom de domaine à authentifier.
Identificateurs en référence au DMARC :
- SPF :
SPF authentifie le domaine qui apparaît dans la partie MAIL FROM ou EHLO/HELO de la conversation SMTP, ou les deux. Ces domaines peuvent être différents et ne sont généralement pas visibles par l'utilisateur final.
- DKIM :
DKIM authentifie le domaine de signature qui est apposé à une signature dans la balise d=.
Ces identificateurs (SPF et DKIM) sont authentifiés par rapport à l'identificateur de domaine dérivé de l'en-tête De. Le domaine d'en-tête From est utilisé parce qu'il s'agit du champ MUA (Mail User Agent) le plus courant pour l'expéditeur du message et qu'il est celui utilisé par les utilisateurs finaux pour identifier la source du message (un expéditeur), ce qui fait également de l'en-tête From une cible privilégiée pour les abus.
Attention : DMARC ne peut protéger les abus que contre un en-tête From valide.
DMARC ne peut pas fonctionner sur :
- En-têtes RFC 5322 incorrects, absents ou répétés
- En-têtes non conformes, car ils ne seront pas validés
- Lorsque l'en-tête contient plusieurs identités de domaine (*)
Par conséquent, un processus en plus du DMARC devrait exister pour identifier les messages avec des en-têtes non conformes et mal formés et mettre en oeuvre un moyen de les marquer et de les rendre visibles en tant qu'en-têtes éligibles non DMARC.
(*) DMARC doit extraire une seule identité de domaine de l'en-tête. S'il y a plus d'une adresse e-mail dans l'en-tête, celui-ci sera ignoré dans la plupart des implémentations DMARC. Les en-têtes de traitement avec plus d'une identité de domaine sont déclarés hors du champ d'application dans la spécification DMARC.
Lorsque Cisco ESA est en mesure de détecter plusieurs identités de domaine, il laisse un message correct dans les journaux de messagerie :
(Machine esa.lab.local) (SERVICE)> grep -i "verification skipped" mail_logs
Tue Oct 16 14:13:52 2018 Info: MID 2003 DMARC: Verification skipped (Sending domain could not be determined)
Alignement des identificateurs
L'alignement d'identificateur définit une relation entre le domaine authentifié par SPF et/ou DKIM et l'en-tête From. L'alignement est un processus de mise en correspondance qui doit également être respecté après une vérification réussie de SPF et/ou DKIM. Le processus d'authentification DMARC nécessite qu'au moins un des identificateurs (identité de domaine) utilisés par SPF ou DKIM soit aligné sur la partie domaine de l'adresse d'en-tête De.
DMARC introduit deux modes d'alignement :
- le mode strict nécessite une correspondance exacte (align) entre les noms de domaine
- Le mode relâché autorise le sous-domaine du même domaine
L'alignement de l'identificateur est nécessaire car un message peut porter une signature valide de n'importe quel domaine, y compris les domaines utilisés par une liste de diffusion ou même un mauvais acteur. Par conséquent, le simple fait de porter une signature valide ne suffit pas à déduire l'authenticité du domaine d'auteur.
Alignement DKIM
L'identificateur de domaine DKIM est obtenu en examinant la balise d= dans une signature DKIM, et il est comparé au domaine d'en-tête De pour vérifier avec succès une signature DKIM.
Par exemple, le message peut être signé au nom du domaine d=blog.cisco.com, qui identifie le domaine blog.cisco.com comme signataire. DMARC utilise ce domaine et le compare à la partie domaine de l'en-tête From (par exemple, noreply@cisco.com). L'alignement entre ces identificateurs échoue en mode strict mais passe en mode relâché.
Remarque : un seul e-mail peut contenir plusieurs signatures DKIM, et il est considéré comme une « passe » DMARC si une signature DKIM est alignée et vérifiée.
Alignement SPF
Le mécanisme SPF (spfv1) authentifie les identificateurs de domaine fournis par :
- MAIL FROM identity (commande MAIL FROM)
- IDENTITÉ HELO/EHLO (commande HELO/EHLO)
L'identité de domaine MAIL FROM tente d'être authentifiée par défaut. L'identité de domaine HELO est authentifiée par DMARC uniquement pour les messages avec une identité MAIL FROM vide, comme les messages de renvoi.
Par exemple, un message est envoyé avec une adresse MAIL FROM différente (noreply@blog.cisco.com) par rapport à l'en-tête From (noreply@cisco.com). La partie d'identité de domaine MAIL FROM de norply@blog.cisco.com sera alignée sur le domaine d'en-tête From de norply@cisco.com en mode relâché mais pas en mode strict.
Balises du mode Alignement
Les modes d'alignement DMARC peuvent être définis sur un enregistrement de stratégie DMARC à l'aide des balises adkim et aspf du mode d'alignement. Ces balises indiquent le mode requis pour l'alignement de l'identificateur DKIM ou SPF.
Les modes peuvent être définis sur relaxed ou strict, relaxed étant la valeur par défaut si aucune balise n'est présente. Ceci peut être défini sous la valeur tag-value comme suit :
- r : mode sans relaxation
- s : mode strict
Référence