Verificador de SPF
- Verificação baseada em DNS
- Análise Não Intrusiva
O que é um registo SPF?
Um registo SPF (Sender Policy Framework) é um registo DNS TXT, que começa por v=spf1, que indica os servidores autorizados a enviar e-mail em nome de um domínio. Os servidores recetores comparam o endereço IP do servidor de envio com essa lista e obtêm um resultado como pass, fail ou softfail (RFC 7208).
Este verificador de SPF lê o registo no domínio, verifica se tem os problemas indicados abaixo e executa a análise completa de segurança de e-mail, para que veja também os resultados de DKIM, DMARC, MX, DNSSEC, MTA-STS, TLS-RPT e BIMI. Lê apenas DNS público: não envia e-mails nem altera registos.
Como a verificação SPF pontua o registo
+all- Retira 50 pontos: qualquer servidor na internet passa no SPF.
?all- Retira 30 pontos: neutral não oferece proteção.
~all- Retira 10 pontos: softfail é mais fraco do que -all.
- Mais de 10 termos com consulta
- Retira 20 pontos; 8 a 10 termos retiram 10. A verificação conta include:, a:, mx:, ptr: e redirect= no próprio registo e não segue os include.
ptr- Retira 10 pontos: o RFC 7208 indica que não deve ser publicado.
- Mais do que um registo SPF
- O registo obtém 30, porque os servidores recetores devolvem permerror.
- Acima do limite de consultas, mas ainda classificado como bom
- Um registo com -all e demasiados termos com consulta pode ainda obter 80, porque a pontuação soma deduções separadas. Os servidores recetores devolvem permerror para esse registo, por isso corrija primeiro as consultas.
Erros comuns de SPF e como corrigi-los
Sem registo SPF
Sem SPF, os servidores recetores obtêm o resultado none e não conseguem saber que servidores podem enviar e-mail em nome do domínio.
Correção: Publique um único registo TXT no domínio que indique os seus serviços de e-mail e termine em ~all ou -all. Se o domínio não enviar e-mail, publique v=spf1 -all.
v=spf1 include:_spf.example.net ~all
Mais do que um registo SPF
Um domínio não pode publicar mais do que um registo SPF; os servidores recetores devolvem permerror e o SPF falha (RFC 7208, secções 3.2 e 4.5). Acontece frequentemente quando um novo serviço de e-mail é configurado com o seu próprio registo.
Correção: Junte os mecanismos num único registo e elimine os restantes.
v=spf1 include:_spf.example.net include:mail.example.org -all
Demasiadas consultas DNS
include, a, mx, ptr, exists e redirect custam uma consulta DNS cada, e o SPF permite 10 no total, contando as consultas dentro dos registos incluídos. Acima do limite, os servidores recetores devolvem permerror (RFC 7208, secção 4.6.4).
Correção: Remova serviços que já não utiliza ou mova alguns remetentes para um subdomínio com o seu próprio registo SPF. Substituir os include por intervalos ip4 e ip6 também resulta, mas terá então de atualizar o registo sempre que os intervalos do fornecedor mudarem.
+all permite que qualquer pessoa envie
+all corresponde a todos os servidores, pelo que qualquer anfitrião na internet passa no SPF do domínio.
Correção: Substitua-o por -all, ou por ~all enquanto confirma que todos os remetentes estão listados.
?all não oferece proteção
?all devolve neutral para servidores não listados: o domínio não faz qualquer afirmação sobre eles (RFC 7208, secção 2.6.2).
Correção: Use -all, ou ~all enquanto testa.
~all em vez de -all
~all (softfail) é uma afirmação fraca de que os servidores não listados provavelmente não estão autorizados. Os servidores recetores não devem rejeitar e-mail apenas com base em softfail, mas podem tratá-lo com mais desconfiança (RFC 7208, secção 8.5).
Correção: Quando os relatórios DMARC mostrarem que todos os remetentes legítimos passam, altere ~all para -all.
Mecanismo ptr descontinuado
O RFC 7208 indica que ptr não deve ser publicado: é lento, menos fiável quando ocorrem erros de DNS e impõe uma carga elevada aos servidores de DNS inverso (secção 5.5).
Correção: Substitua ptr por ip4, ip6, a ou include para os servidores que devia abranger.
Sintaxe SPF em resumo
v=spf1- A versão. Todos os registos SPF começam por ela; os registos TXT que não começam por ela são ignorados.
ip4: / ip6:- Um endereço ou intervalo IPv4 ou IPv6, como 192.0.2.0/24. Sem consulta DNS.
a / mx- Os endereços do próprio domínio ou os endereços dos seus anfitriões MX. Uma consulta DNS cada.
include:- Verifica o registo SPF de outro domínio, normalmente o de um fornecedor de e-mail. Uma consulta, mais as consultas dentro desse registo.
redirect=- Usa o registo SPF de outro domínio quando nada mais corresponde. É ignorado quando o registo tem um mecanismo all.
-all / ~all / ?all / +all- O resultado para todos os outros servidores: fail, softfail, neutral ou pass. Um mecanismo sem qualificador significa pass.
Exemplo de registo
v=spf1 ip4:192.0.2.0/24 include:_spf.example.net -all
Fontes
Mais ferramentas de autenticação de e-mail
- Verificador de DMARCVerifique a política DMARC e o endereço de relatórios de um domínio.
- Verificador de DKIMEncontre chaves públicas DKIM em seletores comuns.
- Verificador de BIMIVerifique um registo BIMI e o respetivo requisito DMARC.
- Verificador de MTA-STSVerifique a política MTA-STS, o respetivo modo e o TLS-RPT.
- Gerador de registos SPFCrie um registo SPF e conte as respetivas consultas DNS.
- Gerador de registos DMARCCrie um registo DMARC com as etiquetas certas.
- Analisador de segurança de e-mailClassifique todos os registos de autenticação de e-mail de uma só vez.
Para além dos registos DNS
Estes registos impedem que terceiros enviem e-mail em nome do seu domínio exato. Não impedem o phishing a partir de domínios semelhantes nem de contas comprometidas, que enviam e-mail autenticado. O Vigilbase OS liga as ferramentas de segurança que já paga, incluindo Microsoft 365, Google Workspace, Proofpoint e Mimecast. O agente Vigil investiga incidentes de alta severidade e os analistas da Vigilbase tratam das exceções.