Quais são os registros SPF corretos para permitir a entrega local e do Google Apps?

7

Recentemente, movemos nossa pilha de servidores para um novo farm de dados e alguns de nossos clientes estão enfrentando problemas com o envio de e-mails de suas contas do GApps. Antes da mudança do servidor, não tivemos problemas, mas suspeito que talvez a alteração do IP, etc., possa ter alguma participação nisso.

Descobrimos que alguns dos domínios tinham cabeçalhos de SPF incorretos e não incluíam os registros SPF do Google.

Eu adicionei registros TXT a todos os domínios com o seguinte v=spf1 include:_spf.google.com ~all , que solucionou o problema com capacidade de entrega, mas não entendo o SPF suficiente para saber se todos os registros TXT em nosso modelo de DNS estão corretos.

Se um domínio usa o Google Apps para enviar e-mails, desabilitamos o roteamento de e-mail local desse domínio para evitar que nenhum e-mail interno seja processado, e todos os registros MX que não são GApps são excluídos.

Atualmente, os seguintes são configurados em cada domínio:

domain.com.      TXT v=spf1 +a +mx -all
domain.com.      TXT v=spf1 include:_spf.google.com ~all
mail.domain.com. TXT v=spf1 ip4:xxx.xxx.xxx.xxx a mx a:mail.domain.com mx:domain.com ?all

Então minha (s) pergunta (s) são:

Os registros acima são bons (alguns testes SPF retornam positivos, outros negativos) como globais para todos os domínios adicionados ao servidor?

Os dois registros DNS do domínio.com podem ser concatenados em um?

Não há problema em ter o registro SPF incluído no Google para domínios que não estão sendo enviados pelo Google Apps?

É necessário excluir o outro registro TXT se eles estiverem usando o Google Apps. Não imagino que seja necessário excluir o registro mail.domain.com, pois o e-mail não é originário de lá, mas isso pode causar algum problema, se houver.

Temos mais de 100 domínios em execução na pilha de um servidor e atualizá-los não será divertido, mas preferiria que fosse feito corretamente.

Obrigado antecipadamente.

    
por Byron Rode 08.08.2012 / 10:25

2 respostas

5

Você deve ter apenas um registro SPF em um nome de host, então você combina muito os dois em um. O SPF é basicamente uma lista de mecanismos (que correspondem a algo) e a ação a ser tomada para esse mecanismo. Você pode ter tantos desses mecanismos no seu registro SPF quanto desejar. Por domain.com você quer isto:

domain.com. IN  TXT "v=spf1 include:_spf.google.com +a +mx -all"

O que significa que o seguinte é verificado (com o primeiro mecanismo correspondente sendo o resultado).

  • Obtenha o registro SPF em _spf.google.com e avalie-o ( include: ). O registro SPF do Google é assim:

    _spf.google.com descriptive text "v=spf1 ip4:216.239.32.0/19 ip4:64.233.160.0/19 ip4:66.249.80.0/20 ip4:72.14.192.0/18 ip4:209.85.128.0/17 ip4:66.102.0.0/20 ip4:74.125.0.0/16 ip4:64.18.0.0/20 ip4:207.126.144.0/20 ip4:173.194.0.0/16 ?all"
    
  • Aceite se o IP do cliente SMTP estiver em uma dessas sub-redes IPv4 ( ipv4: )

  • Aceite se o IP do cliente SMTP for um registro A para o domínio ( +a )

  • Aceite se o IP do cliente SMTP for um registro MX para o domínio ( +mx )
  • Rejeitar tudo ( -all )

Seu registro SPF para mail.domain.com provavelmente pode ser simplificado para isso:

mail.domain.com.    IN  TXT "v=spf1 ip4:xxx.xxx.xxx.xxx a mx:domain.com ?all"

Supondo que mail.domain.com não tenha um registro MX em si. Se tiver um registro MX, adicione o mx de volta (antes do all ).

    
por 09.08.2012 / 08:22
2

Por que você tem três registros SPF diferentes? Além disso, por que você tem um registro separado para mail.domain.com , você aceita algum email nesse nome de domínio? Basicamente, um único domain.com TXT v=spf1 include:_spf.google.com +a +mx ~all deve ser suficiente.

    
por 08.08.2012 / 11:28