O que é SPF?
SPF (Sender Policy Framework) é um método de autenticação de email que permite que proprietários de domínio especifiquem quais servidores de email estão autorizados a enviar email em seu nome. Servidores de email receptores verificam registros SPF para confirmar que email de entrada de um domínio vem de uma fonte autorizada.
Por que SPF é Importante
Sem SPF, qualquer um pode enviar email que parece vir de seu domínio (spoofing). SPF ajuda:
- Prevenir phishing: Atacantes não conseguem facilmente se passar por seu domínio
- Melhorar entregabilidade: Provedores de email confiam em mensagens autenticadas
- Proteger reputação: Spam falsificado não danificará a reputação do seu domínio
- Habilitar DMARC: SPF é um bloco de construção para políticas DMARC
Como SPF Funciona
1. Proprietário de domínio publica um registro SPF (TXT) em DNS
2. Servidor de email do remetente envia um email reclamando ser de @example.com
3. Servidor de email do receptor busca o registro SPF de example.com
4. Servidor verifica se o IP de envio está autorizado
5. Resultado aplicado: Pass, fail, softfail ou neutral
Sintaxe de Registro SPF
Um registro SPF é um registro TXT com um formato específico:
v=spf1 [mecanismos] [qualificador]all
Exemplos de Registros SPF
Básico (servidor de email único):v=spf1 ip4:203.0.113.50 -all
Google Workspace:
v=spf1 include:_spf.google.com ~all
Múltiplos serviços:
v=spf1 include:_spf.google.com include:sendgrid.net ip4:203.0.113.50 -all
Mecanismos de SPF
| Mecanismo | Descrição | Exemplo |
|---|---|---|
| ip4 | Endereço IPv4 ou alcance | ip4:203.0.113.0/24 |
| ip6 | Endereço IPv6 ou alcance | ip6:2001:db8::/32 |
| include | Incluir SPF de outro domínio | include:_spf.google.com |
| a | IPs de registro A do domínio | a:mail.example.com |
| mx | IPs de servidor MX do domínio | mx |
| all | Combinar todos (usualmente último) | -all, ~all, ?all |
Qualificadores
| Qualificador | Resultado | Significado |
|---|---|---|
| + (padrão) | Pass | Remetente autorizado |
| - | Fail | Não autorizado, rejeitar |
| ~ | SoftFail | Provavelmente não autorizado, aceitar mas sinalizar |
| ? | Neutral | Nenhuma asserção de política |
Melhores Práticas de Implementação SPF
Comece com SoftFail
Ao implementar SPF pela primeira vez, use ~all para evitar rejeitar email legítimo:
v=spf1 include:_spf.google.com ~all
Transição para Fail
Uma vez confirmado funcionando, mude para -all para aplicação rígida:
v=spf1 include:_spf.google.com -all
Mantenha Buscas DNS Abaixo de 10
SPF permite máximo 10 buscas DNS (include, a, mx, redirect, exists). Exceder este limite causa falhas SPF.
# Conta como buscas DNS:
include:_spf.google.com # 1 (mais includes aninhados)
a:mail.example.com # 1
mx # 1
# NÃO conta:
ip4:203.0.113.50 # 0
ip6:2001:db8::1 # 0
Apenas Um Registro SPF
Múltiplos registros SPF causam falhas de validação. Combine todos os mecanismos em um registro:
# Errado - dois registros SPF
v=spf1 include:_spf.google.com ~all
v=spf1 include:sendgrid.net ~all
# Correto - combinado
v=spf1 include:_spf.google.com include:sendgrid.net ~all
Verificando Registros SPF
Usando dig:dig example.com TXT | grep spf
Usando DomScan:
curl "https://domscan.net/v1/health?domain=example.com"
# Retorna status hasSPF
Validadores online: MXToolbox, mail-tester.com
Problemas Comuns com SPF
Muitas Buscas DNS
Sintoma: SPF permerror
Solução: Flatten includes ou usar menos serviços externos
Serviços de Terceiros Faltando
Sintoma: Email legítimo falha SPF
Solução: Adicionar include/ip4 para todos os serviços de envio (ferramentas de marketing, CRM, etc.)
SPF Muito Permissivo
Sintoma: Email falsificado passa SPF
Problema: Usando +all ou incluindo muitos serviços
Solução: Auditar e restringir remetentes autorizados
SPF é essencial para autenticação de email, mas funciona melhor combinado com DKIM e DMARC para proteção abrangente.