"From:" spoofing d'en-tête de courrier électronique: comment vérifier ce courrier?

Je suis confronté à un problème de vérification d'un champ de message "De:" dans les messages électroniques, en termes de spoofing par courrier électronique. Je suis actuellement en train d'utiliser SPF et DKIM pour vérifier l'origine et l'intégrité des messages, mais dans la mesure du possible, SPF valide uniquement l'en-tête "Return-Path", qui n'est pas affiché de manière définitive à l'user final (via le roundcube ou thunderbird) et DKIM permet seulement de signer numériquement le message et d'assurer que l'expéditeur soit vraiment celui qu'il prétend être. J'ai également essayé de creuser dans DMARC, mais cela ne permet apparemment que de forcer le traitement des mails non signés provenant du domaine comme spam (ce qui est bon), mais actuellement utilisé par les grands fournisseurs de messagerie (Gmail, Yahoo)

Aucun de ces éléments ne vous protège de la situation lorsque quelqu'un (par exemple propriétaire d'un hébergement partagé gratuit) décide d'exécuter ce script PHP simple

<?php $headers = "From: someone@serverfault.com".PHP_EOL."Reply-To: someone@serverfault.com".PHP_EOL."Content-type: text/plain; charset=iso-8859-2"; if(mail('yourmail@gmail.com', 'Hello', 'Test spam function', $headers)) { echo 'Message sent'; } 

Dans Gmail, vous voyez au less l'en-tête (pas d'avertissement) en disant "someone@serverfault.com via", mais si vous utilisez pour l'ex. Thunderbird pour se connecter via IMAP / POP3, vous ne voyez pas une telle chose – seul le moyen de détecter l'arnaque consiste à afficher directement les en-têtes de messages bruts. Cela signifie qu'il n'y a pas encore de protection contre cette fausse spoofing, même dans Gmail

IMO, cela pourrait être facilement évité si, par exemple, SFP vérifie également le champ "From:", en plus de "Return-path".

Je me request donc s'il existe un plugin pour Postfix / Amavisd qui permettrait un tel filtrage partagé? Ou peut-être que je suis mal compris certaines de ces technologies (SPF / DKIM / DMARC) et l'un d'entre eux peut se protéger de cette falsification?

Il peut y avoir des raisons tout à fait légitimes pour le From: -header de ne pas correspondre à Return-Path: -header. Un exemple est les lists de diffusion – le path de return devrait être au server de list (qui gérera les rebonds, au sharepoint supprimer éventuellement les mauvaises adresses de la list), tandis que le nom de: doit être de la personne qui envoie le courrier. Donc, vous ne voulez probablement pas déposer tous les mails où les deux en-têtes ne sont pas d'accord.

En réponse à vos questions sur un plugin, je vous recommand SpamAssassin qui peut être combiné avec Postfix / Amavisd. Il effectuera un certain nombre de tests et appenda les résultats des tests pour déterminer si un courrier électronique est un spam ou non.