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:
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 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 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:
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).