Falha no Gmail SPF com base no IP do cliente

8

O Gmail está com falha na verificação do SPF com base no IP do cliente. Estes são os cabeçalhos relevantes:

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

O IP do cliente (164.77.240.58) é o IP do computador do johndoe. O IP do remetente, o IP de mail.example.com, está incluído no registro SPF.

Por que o Gmail está falhando com base no IP do cliente em vez do IP do remetente? É assim que o SPF deve funcionar?

Max Toro
fonte
Eu esperava que a referência deles ao "IP do cliente" se referisse simplesmente ao cliente que se conectou ao servidor SMTP. (O que seria o que você esperava, AFAICT?)
Håkan Lindqvist
3
Você também pode incluir o Receivedcabeçalho adicionado pelo Gmail para esclarecer de onde eles realmente receberam os emails?
Håkan Lindqvist
@ HåkanLindqvist Os outros recebido cabeçalhos só digoby <google IP>
Max Toro
Temos problemas semelhantes com a importação de emails pelo IMAP para o gmail. Problema um (menos semelhante): quando enviamos email entre duas caixas de correio locais como [email protected] para [email protected] (mas usando a porta SMTP 25), o Gmail importa e faz o SPF verificar o IP do cliente e não o servidor. serverfault.com/q/669584 Problema dois (mais semelhante): quando alguém nos envia um email com cabeçalhos ESMTP, o Gmail o importa e faz o SPF verificar o domínio do servidor e o IP do servidor. serverfault.com/q/670113
Zbyszek

Respostas:

4

Primeiro, puxe o registro spf de example.com:

$ dig -t spf mail.example.com

Verifique se example.com está na lista de remetentes. Seu registro spf deve ser algo como isto:

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

Escolha qualquer nome de domínio listado e faça uma pesquisa de DNS neles para obter os endereços IP:

$ dig mail.example.com

Em seguida, faça um PTR para obter o nome DNS reverso do IP:

$ dig -x XX.XX.XX.XX

A pesquisa reversa de IP deve corresponder a um dos registros listados no registro spf. Seria útil começar com o registro spf para que possamos ver o que está acontecendo.

Pete
fonte
3
itym dig example.com TXT. Além disso, não acredito que a pesquisa inversa faça alguma diferença para o SPF, desde que o registro SPF não faça uso do ptrmétodo.
Håkan Lindqvist
2

Sim, o Google estaria correto ao identificar a falha do SPF. O endereço IP que deve ser verificado é o endereço que está se conectando ao servidor de e-mail do Google. Como não há cabeçalho recebido para o Google, suspeito que seu servidor de email esteja verificando o SPF na conexão. Ele deve verificar apenas o SPF quanto a conexões não autenticadas da Internet. Conexões locais e conexões autenticadas devem ignorar a validação do SPF.

O SPF visa garantir que o computador de envio seja permitido pelo domínio de envio. Normalmente, um domínio teria 1 ou 2 servidores de email que lidam com todos os emails enviados ou recebidos da Internet. Esses endereços devem ser os listados no registro SPF do domínio.

Nesse caso, johndoeparece estar se conectando ao servidor de email do domínio. Se o servidor não estiver na rede do domínio, é comum usar uma conexão autenticada na porta de envio (587). O servidor de email deve encaminhar a mensagem para o gmail e o SPF deve passar. Se o SPF ainda falhar, o registro SPF precisará ser corrigido para incluir o IP do servidor de email. Existem vários mecanismos que podem ser usados.

Minha política de email garante que todos os emails legítimos enviados do meu domínio sejam aprovados no SPF. Existem alguns serviços que encaminham mensagens em nome dos meus usuários que falham no SPF. No entanto, todas as falhas registradas que recebi dos servidores validando DMARCsão todos spammers.

BillThor
fonte
2
O IP do servidor de email está incluído no registro SPF. Esse é o IP do remetente. Mas o Gmail está rejeitando com base no IP do cliente, que é o computador de johndoe.
Max Toro
@MaxToro De acordo com o cabeçalho recebido, o computador de johndoe está enviando diretamente para o Google. Não possui registro PTR, portanto, é desconhecido. Provavelmente funcionaria se o computador de johndoe fosse autenticado no Google.
BillThor
Não, isso é mail.example.com recebendo do computador de johndoe.
Max Toro
@MaxToro Tem certeza de que não é o seu servidor que rejeita o registro SPF? A última política ativa seria do Google. Seu registro de e-mail deve informar se você está tentando enviar para o google.
BillThor