Méthodes d'authentification des mails
DKIM
DKIM permet d’authentifier le MTA de début de chaîne, et de confirmer l’intégrité du message. Comme c’est le MTA de début de chaîne qui décide ou non de signer le message, seuls les utilisateurs autorisés par ce MTA auront la signature.
Il s’agit d’un protocole qui modifie le comportement:
- du MTA en début de chaîne: ajout d’une signature dans l’en-tête du mail;
- et des MTA transmettant le mail: vérification de la signature. Les clefs publiques sont publiées via le DNS.
DKIM modifie le protocole SMTP au niveau du contenu du fichier mail qui est transmis (couche application).
Noter que sous debian, openDKIM s’intègre automatiquement dans le flux de données de Postfix.
SPF
SPF permet au DNS d’indiquer à tous les MTA quels MTA sont autorisés à émettre des mails avec un certain domaine. Il suffit d’indiquer quelles adresses IP sont autorisées à émettre. Les serveurs participant à SPF peuvent donc rejeter des mails ne provenant pas d’une adresse IP autorisée. Cependant, la participation à SPF n’est pas obligatoire. Un email frauduleux peut donc traverser toute une chaîne de MTA et arriver dans une boîte de réception si aucun n’implémente SPF.
Il sera possible d’automatiser la mise en place de SPF en écrivant un script simple (éditant le DNS).
DMARC
DMARC tire parti de SPF et DKIM pour définir des politiques à appliquer sur les mails entrants. Elle permet au propriétaire du domaine expéditeur d’indiquer quels mécanismes de protection sont en vigueur (SPF, DKIM) et que faire en cas d’échec de l’authentification (les faire passer quand même, prévenir l’admin par mail, etc.). DMARC permet aussi d’autres vérifications, la plus importante est l’alignment. “L’alignement” renforce SPF et DKIM:
- Pour SPF, la procédure consiste à lire l’email pour en extraire le champ “from” et vérifier que le domaine de l’adresse de l’expéditeur correspond au domaine qui a été authentifié via SPF (donné par la commande MAIL FROM, dans le protocole SMTP. Donc c’est aussi une vérification de la cohérence entre deux couches).
- DKIM ne vérifie que si les signatures des mails sont valides. Avec DMARC, le domaine ayant signé le mail doit correspondre au domaine du champ “from”.
Les politiques de l’expéditeur sont publiées via DNS, et les politiques sur les mails entrants (qui peuvent remplacer les politiques de l’expéditeur ou en être complémentaires) sont définies via la configuration des logiciels utilisés (sur le MDA par exemple).