O que é o SPF? Sender Policy Framework explicado

O SPF (Sender Policy Framework) é um registo DNS que indica que servidores de correio estão autorizados a enviar e-mail em nome do seu domínio. Sem ele, qualquer pessoa pode forjar mensagens que parecem vir do seu domínio.

SPF, DKIM e DMARC em conjuntoRemetenteSPFTXTDKIMTXTDMARC_dmarcCaixapasspassp=
O SPF verifica o servidor que envia, o DKIM verifica a assinatura e o DMARC decide o que acontece quando um deles falha.

Como funciona o SPF

Quando um servidor de correio receptor recebe um e-mail que diz vir de [email protected], consulta os registos TXT do DNS de example.com e procura um registo SPF. Se o IP do servidor remetente constar da lista, o e-mail passa o SPF. Caso contrário, falha.

  1. O e-mail chega ao servidor de correio do destinatário
  2. O servidor consulta no DNS o registo SPF do domínio remetente
  3. O servidor compara o IP remetente com o registo SPF
  4. Se o IP estiver autorizado, o SPF passa. Caso contrário, falha.
  5. O servidor receptor aplica a política (~all, -all, etc.)

Sintaxe do registo SPF

Um registo SPF é um registo TXT que começa por v=spf1:

v=spf1 include:_spf.google.com include:sendgrid.net ~all

Analisando em detalhe:

  • v=spf1 — Identificador da versão do SPF (é sempre este)
  • include:_spf.google.com — autoriza os servidores de correio da Google
  • include:sendgrid.net — autoriza os servidores de correio da SendGrid
  • ~all — softfail para qualquer outro servidor

Mecanismos do SPF

MechanismExampleMeaning
ip4:ip4:203.0.113.1Autoriza um endereço IPv4 específico
ip6:ip6:2001:db8::1Autoriza um endereço IPv6 específico
include:include:_spf.google.comInclui a política SPF de outro domínio
aaAutoriza o IP do próprio registo A do domínio
mxmxAutoriza os IP dos registos MX do domínio

Qualificadores do all

QualifierNameMeaning
-allFailRejeitar correio de servidores não autorizados (estrito)
~allSoftfailAceitar mas marcar como suspeito (recomendado)
?allNeutralSem política — tratar como se não existisse SPF
+allPassPermitir todos os servidores — perigoso, nunca use isto

Registos SPF comuns por fornecedor de correio

# Google Workspace
v=spf1 include:_spf.google.com ~all

# Microsoft 365
v=spf1 include:spf.protection.outlook.com ~all

# Mailchimp + Google Workspace
v=spf1 include:_spf.google.com include:servers.mcsv.net ~all

# SendGrid
v=spf1 include:sendgrid.net ~all

Limitações do SPF

  • Limite de 10 consultas DNS — o SPF permite no máximo 10 consultas DNS (cada include:, a, mx conta). Exceder isso provoca um PermError.
  • O reencaminhamento quebra o SPF — Quando um e-mail é reencaminhado, o IP do servidor que o reencaminha não está no seu registo SPF, por isso o SPF falha. É por isso que também é necessário o DMARC com DKIM.
  • Um registo SPF por domínio — Vários registos SPF provocam um PermError. Junte-os num só.

Perguntas frequentes

Preciso de SPF?

Sim. Sem SPF, qualquer pessoa pode enviar correio que pareça vir do seu domínio. O SPF é a primeira linha de defesa contra a falsificação de correio.

Onde adiciono um registo SPF?

Adicione um registo TXT na raiz do seu domínio (@) através do seu fornecedor de DNS ou registrar. O valor é a cadeia do registo SPF.

Como sei se o meu SPF está a funcionar?

Use the verificador de segurança do correio or the consulta de registos TXT para ver o seu registo SPF actual.

Experimente no seu domínio

Veja a teoria na prática — execute Verificação de segurança do correio para o seu próprio domínio.