O que são registros SPF e como os configuro?

49

Esta é uma pergunta canônica sobre a configuração de registros SPF .

Eu tenho um escritório com muitos computadores que compartilham um único ip externo (não tenho certeza se o endereço é estático ou dinâmico). Cada computador se conecta ao nosso servidor de email via IMAP usando o Outlook. O email é enviado e recebido por esses computadores, e alguns usuários também enviam e recebem email em seus celulares.

Estou usando http://wizard.easyspf.com/ para gerar um registro SPF e não tenho certeza sobre alguns dos campos do assistente, especificamente:

  1. Digite outros domínios que possam enviar ou retransmitir mensagens para este domínio
  2. Digite qualquer endereço IP no formato CIDR para os bloqueios de rede que originam ou retransmitem emails para este domínio
  3. Digite quaisquer outros hosts que possam enviar ou retransmitir emails para este domínio
  4. Quão rigorosos os MTAs sensíveis ao SPF tratam isso?

as primeiras perguntas sobre as quais tenho certeza ... espero ter dado informações suficientes.

vulgarbulgar
fonte

Respostas:

68

O SPF registra detalhes de quais servidores têm permissão para enviar email para o seu domínio.

As perguntas 1 a 3 resumem realmente todo o objetivo do SPF: você deve listar os endereços de todos os servidores autorizados a enviar e-mails provenientes do seu domínio.
Se você não tiver uma lista exaustiva no momento, geralmente não é uma boa ideia configurar um registro SPF. Além disso, um domínio pode ter apenas um registro SPF, portanto, você precisará combinar todas as informações em um único registro.

As perguntas individuais realmente ajudam a dividir a lista para você.

  1. solicita outros domínios cujos servidores de email podem retransmitir mensagens de você; se você tem, por exemplo, um servidor MX secundário em mail-relay.example.org, e esse é o servidor de correio principal (registro MX) do domínio example.org, insira mx:example.org. Seu registro SPF deve incluir o registro MX do seu próprio domínio em quase todas as circunstâncias ( mx).
  2. pede seus netblocks ip. Se você tiver servidores colocados em 1.2.3.0/28 e o espaço de endereço do escritório for 6.7.8.0/22, digite ip4:1.2.3.0/28 ip4:6.7.8.0/22. O espaço IPv6 deve ser adicionado como, por exemplo ip6:2a01:9900:0:4::/64.
  3. se (por exemplo) você também tiver uma máquina desligada no escritório de outra pessoa que precise enviar e-mails do seu domínio, insira-a também, por exemplo a:mail.remote.example.com.

Os usuários do seu celular são problemáticos. Se eles enviarem e-mail conectando-se ao seu servidor de correio usando, por exemplo, SMTP AUTH, e enviando através desse servidor, você terá que lidar com eles, listando o endereço do servidor de correio em (2). Se eles enviam e-mail por apenas conectar a qualquer servidor de correio oferta do provedor de 3G / HSDPA, então você não pode fazer SPF significativamente até que você tenha rearchitected sua infra-estrutura de e-mail para que você faça controlar cada ponto do qual supostamente email para ser de você atinge o Internet.

A pergunta 4 é um pouco diferente e pergunta o que os destinatários devem fazer com o e-mail que afirma ser do seu domínio e que não vem de um dos sistemas listados acima. Existem várias respostas legais, mas as únicas interessantes são ~all(falha leve) e -all(falha grave). ?all(sem resposta) é tão inútil quanto ~all(qv) e +allé uma abominação.

~allé a escolha simples; ele informa às pessoas que você listou vários sistemas que estão autorizados a enviar mensagens suas, mas que não está se comprometendo a que essa lista seja exaustiva; portanto, as mensagens do seu domínio provenientes de outros sistemas ainda podem ser legais. Peço que você não faça isso. Não apenas torna o SPF completamente inútil, mas alguns administradores de email do SF configuram deliberadamente seus receptores SPF para serem tratados ~allcomo o emblema de um remetente de spam. Se você não vai fazer -all, não se preocupe com o SPF .

-allé a escolha útil; ele informa às pessoas que você listou os sistemas que têm permissão para enviar e-mails e que nenhum outro sistema está autorizado a fazê-lo; portanto, eles podem rejeitar e-mails de sistemas não listados no seu registro SPF. Esse é o objetivo do SPF, mas você deve ter certeza de que listou todos os hosts autorizados a originar ou retransmitir mensagens antes de ativá-las .

O Google é conhecido por aconselhar que

A publicação de um registro SPF que usa -all em vez de ~ all pode resultar em problemas de entrega.

bem, sim, pode; esse é o objetivo do SPF . Não sabemos ao certo por que o Google dá esse conselho, mas suspeito fortemente que isso evite administradores de sistemas que não sabem exatamente de onde o email se origina causem problemas de entrega. Se você não souber de onde vêm todos os seus emails, não use o SPF . Se você for usar o SPF, liste todos os lugares de onde vem e diga ao mundo com o qual você está confiante nessa lista -all.

Observe que nada disso é obrigatório no servidor de um destinatário; o fato de você anunciar um registro SPF de maneira alguma obriga alguém a honrá-lo. Cabe aos administradores de qualquer servidor de email que email eles escolhem aceitar ou rejeitar. O que eu acho que o SPF faz é permitir que você se exime de qualquer responsabilidade adicional por e-mail que alegou ser do seu domínio, mas não era. Qualquer administrador de e-mail que esteja reclamando que seu domínio está enviando spam a eles quando não se preocupou em verificar o registro SPF que você anuncia que teria dito a eles que o e-mail deveria ser rejeitado pode ser enviado com uma pulga no ouvido.


Como essa resposta foi canônica, é melhor dizer algumas palavras sobre includee redirect. O último é mais simples; se o seu registro SPF, digamos example.com, diz redirect=example.org, então example.org, o registro SPF substitui o seu. example.orgtambém é substituído pelo seu domínio nessas pesquisas (por exemplo, se example.orgo registro incluir o mxmecanismo, a MXpesquisa deverá ser feita example.org, e não no seu próprio domínio).

includeé amplamente mal compreendido e, como observam os autores do padrão " o nome 'incluir' foi mal escolhido ". Se o seu SPF registro includes example.org'record s, em seguida, example.org' s registro deve ser examinado por um destinatário para ver se ele dá qualquer motivo (incluindo +all) a aceitar o seu e-mail . Se isso acontecer, seu e-mail deve passar. Caso contrário, o destinatário deve continuar processando seu registro SPF até pousar no seu allmecanismo. Portanto, -allou mesmo qualquer outro uso de , allexceto +allem um includeregistro d, não afeta o resultado do processamento.

Para obter mais informações sobre registros SPF, http://www.openspf.org é um excelente recurso.


Por favor, não tome isso da maneira errada, mas se você errar um registro SPF, poderá impedir que uma fração significativa da Internet receba e-mails seus até corrigi-los. Suas perguntas sugerem que você pode não estar completamente satisfeito com o que está fazendo e, se for esse o caso, considere obter assistência profissional antes de fazer algo que o impeça de enviar e-mails para muitas pessoas.

Edit : obrigado por suas amáveis ​​palavras, elas são muito apreciadas.

O SPF é primariamente uma técnica para evitar o joe-jobbing , mas algumas pessoas parecem ter começado a usá-lo para tentar detectar spam. Algumas delas podem de fato atribuir um valor negativo ao fato de você não ter nenhum registro SPF ou um registro de overbroad (por exemplo a:3.4.5.6/2 a:77.5.6.7/2 a:133.56.67.78/2 a:203.54.32.1/2, o que equivale sorrateiramente a isso +all), mas isso depende deles e não há muito o que fazer.

Pessoalmente, acho que o SPF é uma coisa boa, e você deve anunciar um registro se sua estrutura de correio atual permitir, mas é muito difícil fornecer uma resposta autorizada, válida para toda a Internet, sobre como as pessoas estão usando um registro DNS projetado para um finalidade específica, quando decidirem usá-la para uma finalidade diferente. Tudo o que posso dizer com certeza é que se você fazer propaganda de um registro SPF com uma política de -all, e você errar, muitas pessoas nunca vão ver o seu mail.

Edição 2 : excluída de acordo com os comentários e para manter a resposta atualizada.

MadHatter apoia Monica
fonte
aprecio a resposta completa e clara em inglês (da qual eu obviamente precisava). você está certo ao notar que eu estou principalmente no escuro e não tenho nenhum problema em usar um chapéu de correio. uma pergunta de acompanhamento: como estamos falando de uma operação muito pequena (no total de 10 a 15 contas de e-mail) - e não enviamos grandes volumes de correspondência - é algo que podemos sobreviver por enquanto ou provavelmente acabar em muitas pastas de spam por aí? quando fazemos de distribuição em massa, usamos serviços como MailChimp, etc
vulgarbulgar
O ~ all é bom para duas coisas: o cenário 1."não completamente verdadeiro " que você descreveu. Ele permite que você faça toda a configuração de maneira real, incluindo testes reais, antes de pressionar o gatilho final. 2.Pontuações de spam. Se você realmente não pode controlar todos os seus pontos de saída de e-mail, ~ todos podem ajudar as pontuações de spam para os sistemas que correspondem ao seu registro (é claro: elas também podem prejudicar a pontuação para os sistemas com falha suave).
Joel Coel
Eles também podem prejudicar a pontuação nos sistemas de destinatários cujos administradores consideram ~allum indicador de spam em todo o domínio, dos quais existe pelo menos um no SF.
MadHatter apoia Monica
2
@MadHatter Um comentário ao Edit2 especificamente: A especificação atual do SPF diz que você deve usar um TXTou outro SPFmas que você deve usar os dois (idênticos); as próximas especificações propostas do SPF abandona, SPFpois a aceitação foi menor do que o esperado e, principalmente, causa problemas de interoperabilidade. Com isso em mente, parece mal aconselhado apenas olhar para cima SPF.
precisa saber é o seguinte
3
Obrigado pela verdade e eu ri alto "+ tudo é uma abominação".
Jerclarke
3

O importante para a sua instalação é a configuração do servidor que finalmente envia o email para a Internet. Você diz que envia e-mails via SMTP. Portanto, em termos de endereço IP, o que importa é a configuração do seu servidor SMTP (pergunta 2)

Se você estiver usando um terceiro, como o gmail, para enviar seus e-mails, precisará incluir os registros spf assim: include: _spf.google.com (o assistente do ajax parece não saber disso).

Para "Quão rigoroso", deixe a "falha leve" (~ tudo) se não tiver certeza, mas caso contrário "rejeitar" (-todos) é o caminho a seguir quando sua configuração estiver limpa.

Olivier S
fonte