Falha no SPF para e-mail importado para o Gmail devido ao IP do cliente em vez da mensagem do servidor quando enviado por meio de SMTP de uma caixa local para outra

7

Nós temos um VPS do Linux (Debian) com domínio (digamos example.com com MX mail.example.com) que tem SPF configurado. Há dovecot + exim em execução. Há também o Direct Admin em cima disso.

Quando eu mando um e-mail para um servidor externo, tudo está bem. Há IP do servidor na mensagem e a verificação do SPF está correta.

Alguns dados foram alterados (domínio, etc.):

Received: from mail.example.com (mail.example.com. [188.40.153.39])
    by mx.google.com with ESMTPS id ***.7.2015.02.18.04.09.46
    for <*@gmail.com>
    (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
    Wed, 18 Feb 2015 04:09:47 -0800 (PST)
Received-SPF: pass (google.com: domain of [email protected] designates 188.40.153.39 as permitted sender) client-ip=188.40.153.39;

Mas quando eu envio de uma caixa de correio local para outra caixa de correio local e, em seguida, recebo emails no Gmail por meio do POP3, tenho problemas com SPF porque uma mensagem contém endereço IP original do cliente e falha na verificação de SPF.

Authentication-Results: mx.google.com;
   spf=fail (google.com: domain of [email protected] does not designate 82.160.100.10 as permitted sender) [email protected]
Received-SPF: fail (google.com: domain of [email protected] does not designate 82.160.100.10 as permitted sender) client-ip=82.160.100.10;

82.160.100.10 é o IP do remetente original.

Por causa desse problema, nossa correspondência interna tende a ser marcada como spam no gmail para pessoas que verificam suas caixas por meio dele.

Alguma ideia de como corrigir isso?

EDIT: cabeçalhos de correio de teste (modificados nossos IPs e domínio)

1) E-mail enviado de uma caixa para outra - cabeçalhos do cliente Thunderbird:

Return-path: <[email protected]>
Envelope-to: [email protected]
Delivery-date: Thu, 19 Feb 2015 11:41:20 +0100
Received: from nat10.net08-g2.isko.net.pl ([82.160.100.10] helo=[11.0.0.22])
    by mail.example.com with esmtpsa (TLSv1.2:DHE-RSA-AES128-SHA:128)
    (Exim 4.83)
    (envelope-from <[email protected]>)
    id 1YOOPC-0005Ud-Qq
    for [email protected]; Thu, 19 Feb 2015 11:41:20 +0100
Message-ID: <[email protected]>
Date: Thu, 19 Feb 2015 11:41:18 +0100
From: Head Developer <[email protected]>
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: Zbyszek <[email protected]>
Subject: This is test
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit

2) Mesmo email após ser recebido pelo gmail (por importação regular automática por POP3):

Delivered-To: *@gmail.com
Received: by 10.140.86.210 with SMTP id p76csp775880qgd;
    Thu, 19 Feb 2015 02:47:12 -0800 (PST)
X-Received: by 10.140.102.165 with SMTP id w34mr10762910qge.26.1424342832562;
    Thu, 19 Feb 2015 02:47:12 -0800 (PST)
Authentication-Results: mx.google.com;
   spf=fail (google.com: domain of [email protected] does not designate 82.160.100.10 as permitted sender) [email protected]
Received-SPF: fail (google.com: domain of [email protected] does not designate 82.160.100.10 as permitted sender) client-ip=82.160.100.10;
Received: by 10.224.31.8 with POP3 id w8mf619596qac.5;
    Thu, 19 Feb 2015 02:47:12 -0800 (PST)
X-Gmail-Fetch-Info: [email protected] 2 mail.example.com 110 [email protected]
Return-path: <[email protected]>
Envelope-to: [email protected]
Delivery-date: Thu, 19 Feb 2015 11:41:20 +0100
Received: from nat10.net08-g2.isko.net.pl ([82.160.100.10] helo=[11.0.0.22])
    by mail.example.com with esmtpsa (TLSv1.2:DHE-RSA-AES128-SHA:128)
    (Exim 4.83)
    (envelope-from <[email protected]>)
    id 1YOOXn-0005j5-Tm
    for [email protected]; Thu, 19 Feb 2015 11:41:20 +0100
Message-ID: <[email protected]>
Date: Thu, 19 Feb 2015 11:41:18 +0100
From: Head Developer <[email protected]>
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: Zbyszek <[email protected]>
Subject: This is test
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit

Editar: alguma informação extra

  • o método de entrega é SMTP (eu envio email do Thunderbird em casa usando a caixa de correio [email protected] para outra caixa de correio no mesmo servidor [email protected])
  • 82.160.100.10 é o meu IP de casa, nat10.net08-g2.isko.net.pl é o meu hostname que resolve esse IP
  • 10.140.102.165 é o IP do servidor do gmail
  • 11.0.0.22 é o IP local na minha rede doméstica
  • O IP do servidor de email não estava em nenhum dos cabeçalhos (se estivesse lá, seria 188.40.153.39).
  • Hostname mail.example.com aponta para o IP do servidor de email
  • O IP do domínio não estava em nenhum dos cabeçalhos (se estivesse lá, eu mudaria para 85.17.23.59)
  • o domínio tem a entrada MX adequada (que aponta para o subdomínio mail.example.com)
  • Registro SPF: "v = spf1 a mx ip4: 188.40.153.39 -all"

Editar: IPs descobertos como não tão sensíveis

    
por Zbyszek 18.02.2015 / 14:12

2 respostas

9

Disclaimer: Esta resposta foi uma especulação até GMail pessoa confirmou.

Parece que o Gmail manipulou mal o seu email obtido aqui. Alguns povos também relatam casos semelhantes aos seus em aqui , aqui ou aqui

O problema é: o GMail também implementa a medida SPF ao verificar o e-mail depois de buscá-lo via POP3.

Normalmente, a verificação SPF ocorre na transação SMTP, verificando as partes do domínio do endereço do remetente e do endereço IP do cliente. Mas no POP3, o GMail tem que analisar o cabeçalho e encontrar o último cabeçalho Received .

Received: from nat10.net08-g2.* ([*.160.100.10] helo=[11.0.0.22])
    by mail.example.com with esmtpsa (TLSv1.2:DHE-RSA-AES128-SHA:128)
    (Exim 4.83)
    (envelope-from <[email protected]>)
    id 1YOOXn-0005j5-Tm
    for [email protected]; Thu, 19 Feb 2015 11:41:20 +0100

Este e-mail original é obtido do seu servidor. Afirma que o seu email aceita emails de *.160.100.10 com o remetente [email protected]. Neste estágio, o Gmail finge ser seu servidor e verifica as partes do domínio do endereço do remetente (example.com) e o endereço IP do cliente (* .160.100.10). O resultado era esperado:

SPF softfail because domain of [email protected] does not designate *.160.100.10 as permitted sender

Para solução alternativa, você pode definir filtros do Gmail para nunca marcar seu e-mail como spam.

    
por 19.02.2015 / 14:27
2

Parece ser um erro que o Gmail não respeita o ESMTPA no cabeçalho Received para mostrar que o MUA é um host confiável. Algumas soluções possíveis vêm à mente:

  1. usa o MX dividido, ou seja, uma instância do Exim para receber e encaminhar de clientes autenticados e um segundo para receber em caixas de correio. Isso simula o e-mail ISP-para-ISP que o Gmail pode estar esperando, e haverá um endereço IP nos cabeçalhos que correspondem ao registro SPF.
  2. adicione um cabeçalho Recebido na parte superior que simule a transferência acima, adicionando add_header = Received: by 10.224.31.8 with ESMTP ....
  3. para os usuários que verificam seus e-mails no Gmail via POP, encaminhem uma cópia para suas contas do Gmail.
por 21.02.2015 / 19:19