Defaults.Exposed

Defaults.ExposedCorreções › SPF (Sender Policy Framework)

Como corrigir SPF (Sender Policy Framework)

O SPF é a linha nas definições do seu domínio que indica quais os serviços de correio autorizados a enviar e-mail em nome da sua empresa. Sem ele, qualquer pessoa no mundo pode enviar e-mails que parecem vir de si — e o seu próprio e-mail legítimo tem mais probabilidade de cair no spam dos clientes.

O essencial para o seu negócio: Qualquer pessoa pode enviar e-mails fazendo-se passar pela sua empresa — para os seus clientes, colaboradores e fornecedores — faturas, pedidos de mudança de dados bancários, tudo. Ao mesmo tempo, os seus orçamentos e faturas verdadeiros têm mais probabilidade de ir parar ao lixo, por isso negócios morrem em silêncio.

Quanto isto lhe pode custar

Por que importa. Falsificar o endereço «de» de um e-mail é trivialmente fácil e não custa nada ao atacante. O SPF é a forma mais barata e rápida de tornar o seu domínio mais difícil de imitar e de manter o seu correio legítimo fora do spam. O Google e o Yahoo agora mandam ativamente para o lixo ou rejeitam correio de domínios não autenticados, por isto já não é opcional — é o mínimo exigido para que o seu e-mail seja sequer entregue.

A versão curta

Neste momento, a menos que tenha o SPF bem configurado, qualquer pessoa no mundo pode enviar e-mails que parecem vir da sua empresa. Pode enviar aos seus clientes faturas falsas, aos seus colaboradores pedidos de pagamento falsos e aos seus fornecedores e-mails como se fosse você — e as mensagens vão parecer genuínas, porque nada no seu domínio diz o contrário.

O SPF (Sender Policy Framework) é a solução. É uma única linha de texto nas definições do seu domínio que lista quais os serviços de correio realmente autorizados a enviar e-mail em seu nome. Os fornecedores de correio recetores — Gmail, Outlook, todos — verificam essa lista antes de decidir se uma mensagem é real. Sem lista, ou com uma lista fraca, não têm nada em que se basear.

Esta página cobre duas coisas que têm de estar ambas certas: se existe sequer um registo SPF e se está configurado de forma suficientemente estrita para fazer realmente o seu trabalho.

Quanto isto lhe pode custar

Estas são as formas reais e do dia a dia em que um registo SPF em falta ou fraco se traduz em dinheiro e confiança a saírem pela porta. Nunca nomeamos uma empresa real — são os padrões que vemos nos dados.

O fio comum a tudo isto: o atacante não gasta nada e a sua empresa fica com o custo e a culpa.

O que é na realidade

Quando um e-mail chega, o servidor de correio recetor quer saber uma coisa: isto vem mesmo de quem diz vir? O SPF responde a parte dessa pergunta.

Publica uma linha curta de texto nas definições de DNS do seu domínio — um «registo TXT» — que nomeia os serviços de correio autorizados a enviar em seu nome. Algo como:

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

Em termos simples, lê-se: «O correio genuíno nosso vem dos servidores do Google e do SendGrid — rejeita tudo o resto que diga ser nosso.»

As duas partes que importam para a sua nota:

  1. O registo existe? Esta é a grande questão (tem mais peso do que qualquer outra verificação de e-mail isolada). Sem registo, os recetores não têm lista para verificar, por isso a imitação fica completamente aberta. Há ainda um modo de falha subtil: se o seu domínio tiver dois ou mais registos SPF, as regras dizem que todos são inválidos — por isso, na prática, não tem SPF nenhum, mesmo parecendo que tem.

  2. A política é suficientemente estrita? Um registo pode existir e mesmo assim não ter dentes. O final — o mecanismo «all» — é a instrução para os recetores:

    • -all (falha rígida) — rejeita tudo o que não esteja na lista. O mais forte. Pontuação máxima.
    • ~all (falha suave) + DMARC em reject — a configuração recomendada atual. Proteção equivalente à falha rígida, sem o risco de o correio legítimo reencaminhado ser devolvido. Pontuação máxima.
    • ~all + DMARC em quarantine — aceitável, ligeiramente mais fraco; passe o DMARC para reject para proteção total.
    • ~all sozinho (sem imposição por DMARC) — fraco. Diz «provavelmente falso, entrega na mesma». O correio falsificado continua a passar. É a armadilha em que muitas empresas caem julgando-se protegidas.
    • ?all (neutro) — não dá proteção nenhuma.
    • +all — ativamente perigoso: diz ao mundo que qualquer pessoa pode enviar por si. Nunca use isto.

Há mais uma falha invisível: o SPF só pode desencadear até 10 consultas de DNS quando é avaliado. Empilhe demasiadas entradas include: e o registo ultrapassa esse limite, ponto em que os recetores tratam tudo como avariado — e volta a não ter proteção. É um problema comum e silencioso para empresas que usam muitas ferramentas de marketing e SaaS.

Como é o «bom»: exatamente um registo SPF, listando todos os serviços que enviam legitimamente correio por si, terminando em -all (ou ~all combinado com DMARC em p=reject) e bem dentro do limite das 10 consultas.

Como corrigir (gratuito, ~10 minutos)

Entregue esta secção a quem gere o seu domínio ou site — e note que a correção é gratuita. É uma alteração a uma definição de DNS, não um produto que se compra. Só cobramos para monitorizar que se mantém correto ao longo do tempo, não para fazer a alteração.

Passo 1 — Liste todos os serviços que enviam e-mail por si. É a parte que as pessoas erram. Aponte todos: o seu fornecedor de caixa de correio (Google Workspace, Microsoft 365, etc.), além de qualquer ferramenta de newsletter, CRM, helpdesk, plataforma de comércio eletrónico, aplicação de faturação/contabilidade e sistema de reservas. Se um serviço envia correio com o seu nome e o esquece, o seu SPF vai bloquear esse correio quando apertar a política.

Passo 2 — Publique um registo TXT no seu domínio raiz. Combine as linhas «include» de todos os seus remetentes num único registo. Por plataforma comum:

Um registo combinado fica assim:

v=spf1 include:_spf.google.com include:spf.protection.outlook.com include:sendgrid.net -all

Onde o adicionar, por fornecedor:

Passo 3 — Comece em segurança, depois imponha. Enquanto confirma que a sua lista de remetentes está completa, publique com ~all (falha suave) para que nada legítimo seja bloqueado por acidente. Depois de confirmar que todo o seu correio genuíno continua a fluir, aperte para -all (falha rígida) — ou, melhor, mantenha ~all e acrescente uma política DMARC de p=reject, que é o emparelhamento moderno recomendado.

Passo 4 — Garanta que tem exatamente UM registo. Se já existir um registo SPF antigo, edite esse em vez de adicionar um segundo. Dois registos v=spf1 anulam-se e deixam-no sem proteção.

Passo 5 — Vigie a contagem de consultas. Se tiver muitos remetentes, pode ultrapassar o limite de 10 consultas. Se isso acontecer, consolide — alguns fornecedores oferecem «achatamento de SPF» (SPF flattening), ou retire remetentes que já não usa.

Passo 6 — Volte a verificar o seu domínio para confirmar que agora passa, com o registo presente e a política estrita.

Erros comuns

Onde isto se encaixa

O SPF é a base, mas é uma de três camadas. O DKIM acrescenta uma assinatura criptográfica que prova que a mensagem não foi adulterada, e o DMARC é a instrução que liga o SPF e o DKIM e diz aos recetores o que realmente fazer com o correio que falha — incluindo bloquear a imitação do nome «de» visível que os seus clientes veem. Acerte primeiro no SPF (é a vitória mais rápida e a de maior peso), depois acrescente o DKIM e o DMARC para fechar a porta por completo. As três correções são gratuitas.

Configure no seu fornecedor

Passo a passo para os fornecedores mais populares:

Perguntas frequentes

Não percebo de informática — consigo resolver isto sozinho?

Não precisa de perceber os detalhes. A alteração é uma ou duas linhas adicionadas às definições do seu domínio, feitas por quem gere o seu site ou pelo seu fornecedor de TI. Entregue-lhes a secção «Como corrigir» abaixo — costuma demorar uns minutos e é gratuito. Só cobramos para monitorizar que se mantém correto ao longo do tempo.

Já temos um registo SPF — não significa isso que estamos protegidos?

Não necessariamente. Ter um registo é a primeira metade; tê-lo configurado de forma estrita é a segunda. Um registo que termina em «~all» (falha suave) sem DMARC por trás diz aos servidores recetores «isto pode ser falso, mas entrega na mesma» — o que dá proteção mínima. Dois registos SPF, ou um que faz demasiadas consultas, é tratado como avariado e não lhe dá proteção nenhuma, apesar de parecer existir. As duas metades têm de estar certas.

Corrigir isto pode estragar o meu próprio e-mail por acidente?

Pode, se o registo deixar de fora um remetente legítimo — por exemplo a sua aplicação de faturação ou a ferramenta de newsletter que envia correio em seu nome. É exatamente por isso que a abordagem segura é primeiro listar todos os serviços que enviam correio por si, publicar com um «~all» suave enquanto confirma que nada ficou de fora e só depois apertar para falha rígida. Feito por esta ordem, não estraga nada.

Qual é a diferença entre «~all» e «-all», e qual devemos usar?

«-all» (falha rígida) diz aos recetores para rejeitarem tudo o que não esteja na sua lista — a definição mais forte. «~all» (falha suave) diz «provavelmente não é legítimo, mas aceita na mesma». A recomendação atual de boas práticas é «~all» combinado com uma política DMARC de «reject» — esse par dá-lhe a mesma proteção que «-all» sem o risco de o correio reencaminhado ser devolvido. «~all» sozinho, sem DMARC a impô-lo, é a configuração fraca a evitar.

O SPF sozinho impede toda a falsificação de e-mail?

Não — é a primeira camada essencial, não a resposta completa. O SPF diz que servidores podem enviar por si, mas não diz aos recetores o que fazer quando uma mensagem falha, e não cobre o nome «de» visível que o utilizador vê. Para travar a imitação por completo, também precisa de DKIM e DMARC. O SPF é o primeiro passo mais rápido e de maior impacto, por isso comece aqui e depois acrescente os outros dois.

Quanto tempo leva a fazer efeito e pode ter algum custo?

As alterações de DNS costumam fazer efeito em minutos a poucas horas. A correção em si é sempre gratuita — é apenas editar uma definição no seu fornecedor de DNS. Quem lhe disser que precisa de um produto pago para adicionar um registo SPF está enganado.