Échec de Gmail SPF en fonction de l'adresse IP du client

8

Gmail échoue à la vérification SPF en fonction de l'adresse IP du client. Ce sont les en-têtes pertinents:

Received-SPF: fail (google.com: domain of [email protected] does not designate 164.77.240.58 as permitted sender) client-ip=164.77.240.58;
Received: from johndoe (unknown [164.77.240.58])
    by mail.example.com (Postfix) with ESMTP id 993643FE2D

L'IP client (164.77.240.58) est l'IP de l'ordinateur de johndoe. L'adresse IP de l'expéditeur, l'adresse IP de mail.example.com, est incluse dans l'enregistrement SPF.

Pourquoi Gmail échoue-t-il en fonction de l'adresse IP du client au lieu de l'adresse IP de l'expéditeur? Est-ce ainsi que SPF est censé fonctionner?

Max Toro
la source
Je m'attendais à ce que leur référence à "IP client" se réfère simplement au client qui s'est connecté à leur serveur SMTP. (Quel serait ce que vous attendiez, afaict?)
Håkan Lindqvist
3
Pouvez-vous également inclure l'en- Receivedtête ajouté par Gmail, pour clarifier d'où ils ont réellement reçu le courrier?
Håkan Lindqvist
@ HåkanLindqvist Les autres en - têtes Recieved ne disent queby <google IP>
Max Toro
Nous avons des problèmes similaires avec l'importation de mails via IMAP vers gmail. Problème un (moins similaire): lorsque nous envoyons des e-mails entre deux boîtes aux lettres locales comme [email protected] à [email protected] (mais en utilisant le port SMTP 25), Gmail l'importe et vérifie SPF sur l'IP client et non sur le serveur. serverfault.com/q/669584 Problème deux (plus similaire): lorsque quelqu'un nous envoie un e-mail avec des en-têtes ESMTP, Gmail l'importe et fait vérifier SPF avec son domaine de serveur et notre IP de serveur. serverfault.com/q/670113
Zbyszek

Réponses:

4

Commencez par extraire l'enregistrement spf d'exemple.com:

$ dig -t spf mail.example.com

Vérifiez que example.com figure sur la liste des expéditeurs. Votre enregistrement spf devrait ressembler à ceci:

"v=spf1 a:mail.example.com a:cname.example.com -all"

Prenez tous les noms de domaine répertoriés et effectuez une recherche DNS sur eux pour obtenir les adresses IP:

$ dig mail.example.com

Ensuite, effectuez une recherche PTR pour obtenir le nom DNS inverse de l'IP:

$ dig -x XX.XX.XX.XX

La recherche IP inversée doit correspondre à l'un des enregistrements répertoriés dans l'enregistrement spf. Il serait cependant utile de commencer par l'enregistrement spf afin que nous puissions voir ce qui se passe.

Pete
la source
3
itym dig example.com TXT. En outre, je ne pense pas que la recherche inversée fasse une différence pour SPF tant que l'enregistrement SPF n'utilise pas la ptrméthode.
Håkan Lindqvist
2

Oui, Google identifierait correctement la panne SPF. L'adresse IP qui doit être vérifiée est l'adresse qui se connecte au serveur de messagerie de Google. Comme il n'y a pas d'en-tête reçu pour Google, je soupçonne que votre serveur de messagerie vérifie SPF sur la connexion. Il doit uniquement vérifier SPF pour les connexions non authentifiées à partir d'Internet. Les connexions locales et les connexions authentifiées doivent contourner la validation SPF.

SPF est destiné à garantir que l'ordinateur expéditeur est autorisé par le domaine expéditeur. Normalement, un domaine aurait 1 ou 2 serveurs de messagerie qui gèrent tous les e-mails envoyés ou reçus depuis Internet. Ces adresses doivent être celles répertoriées dans l'enregistrement SPF du domaine.

Dans ce cas, johndoesemble se connecter au serveur de messagerie du domaine. Si le serveur n'est pas sur le réseau du domaine, il est courant d'utiliser une connexion authentifiée sur le port de soumission (587). Le serveur de messagerie doit ensuite transmettre le message à gmail et SPF doit passer. Si SPF échoue toujours, l'enregistrement SPF doit être corrigé pour inclure l'IP du serveur de messagerie. Plusieurs mécanismes peuvent être utilisés.

Ma politique de messagerie électronique garantit que tous les messages légitimes envoyés depuis mon domaine passeront SPF. Il existe certains services qui transfèrent des messages au nom de mes utilisateurs qui échoueront SPF. Cependant, les échecs enregistrés que j'ai reçus de serveurs validant DMARCsont tous des spammeurs.

BillThor
la source
2
L'adresse IP du serveur de messagerie est incluse dans l'enregistrement SPF. C'est l'adresse IP de l'expéditeur. Mais Gmail rejette en fonction de l'adresse IP du client, c'est l'ordinateur de johndoe.
Max Toro
@MaxToro Selon l'en-tête Reçu, l'ordinateur de johndoe envoie directement à Google. Il n'a pas d'enregistrement PTR, il est donc inconnu. Cela pourrait fonctionner si l'ordinateur de johndoe était authentifié auprès de Google.
BillThor
Non, c'est mail.example.com reçu de l'ordinateur de johndoe.
Max Toro
@MaxToro Êtes-vous sûr que ce n'est pas votre serveur qui rejette l'enregistrement SPF? La dernière stratégie active serait celle de Google. Votre journal de messagerie devrait indiquer si vous essayez d'envoyer à Google.
BillThor