O e-mail continua sendo um dos vetores de ataque mais explorados em segurança da informação. A cada dia, bilhões de mensagens são enviadas, e muitas delas são maliciosas, tentando enganar usuários e sistemas. Para mitigar esses riscos, é fundamental entender como funcionam os mecanismos de autenticação de e-mail, que ajudam a verificar a legitimidade dos remetentes, e também desenvolver uma cultura de conscientização contra phishing.

Nesta aula, vamos explorar em profundidade três padrões essenciais: SPF, DKIM e DMARC, além de discutir estratégias práticas para reconhecer e evitar ataques de phishing. Ao final, você terá uma visão completa de como proteger domínios e usuários contra abusos e fraudes por e-mail.

SPF (Sender Policy Framework)

O SPF é um mecanismo de autenticação que permite ao administrador de um domínio especificar quais servidores estão autorizados a enviar e-mails em nome desse domínio. Ele funciona por meio de registros DNS do tipo TXT, nos quais o administrador lista os endereços IP ou faixas de IP permitidos.

Quando um servidor de e-mail recebe uma mensagem, ele pode consultar o registro SPF do domínio do remetente para verificar se o IP de origem está autorizado. Se não estiver, a mensagem pode ser marcada como suspeita ou rejeitada, dependendo da política configurada pelo destinatário.

Um registro SPF típico tem a seguinte estrutura:

v=spf1 ip4:192.0.2.0/24 ip4:198.51.100.10 include:_spf.example.com -all

Os mecanismos mais comuns são:

  • ip4 e ip6: especificam endereços IPv4 ou IPv6 autorizados.
  • include: inclui os registros SPF de outro domínio.
  • a e mx: autorizam os IPs resolvidos pelos registros A ou MX do domínio.
  • all: define a política para todos os outros IPs. Pode ser -all (falha), ~all (soft fail) ou +all (permitir tudo, não recomendado).

É importante lembrar que o SPF verifica apenas o envelope do e-mail (o endereço usado no comando MAIL FROM), não o cabeçalho From visível ao usuário. Por isso, ele é frequentemente combinado com DKIM e DMARC para uma proteção mais robusta.

DKIM (DomainKeys Identified Mail)

O DKIM permite que um domínio assine digitalmente suas mensagens, garantindo que o conteúdo não foi alterado durante o trânsito e que o remetente realmente é quem diz ser. A assinatura é gerada por uma chave privada mantida pelo servidor de envio e verificada pelo destinatário usando uma chave pública publicada no DNS.

O processo funciona da seguinte forma: o servidor de envio calcula um hash do conteúdo da mensagem (incluindo cabeçalhos selecionados) e o assina com a chave privada. O resultado é adicionado ao cabeçalho da mensagem como um campo DKIM-Signature. O servidor receptor, então, busca a chave pública no DNS do domínio do remetente e usa essa chave para verificar a assinatura.

Um cabeçalho DKIM-Signature tem esta aparência:

DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=selector1; c=relaxed/relaxed; q=dns; h=From:To:Subject:Date; bh=...; b=...

Os principais componentes são:

  • v: versão do DKIM (geralmente 1).
  • a: algoritmo de assinatura (ex.: rsa-sha256).
  • d: domínio assinante.
  • s: seletor, que identifica qual chave pública usar.
  • h: lista de cabeçalhos assinados.
  • bh: hash do corpo da mensagem.
  • b: assinatura em si.

Para publicar a chave pública, o administrador cria um registro DNS TXT no formato selector._domainkey.example.com contendo a chave. Por exemplo:

selector1._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC..."

O DKIM não impede que um atacante envie e-mails forjados, mas permite que os destinatários verifiquem se a mensagem foi realmente enviada pelo domínio e não alterada.

DMARC (Domain-based Message Authentication, Reporting, and Conformance)

O DMARC é uma política que se baseia nos resultados de SPF e DKIM para dizer ao destinatário o que fazer com mensagens que falham na autenticação. Ele também fornece relatórios sobre o tráfego de e-mail do domínio, ajudando administradores a monitorar possíveis abusos.

O DMARC é publicado como um registro DNS TXT no domínio raiz, com um nome como _dmarc.example.com. Um registro DMARC típico é:

v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com; pct=100

Os principais parâmetros são:

  • v: versão (DMARC1).
  • p: política a aplicar quando a autenticação falha: none (nenhuma ação), quarantine (marcar como spam) ou reject (rejeitar).
  • rua: endereço para receber relatórios agregados.
  • ruf: endereço para relatórios forenses.
  • pct: percentual de mensagens às quais a política é aplicada.
  • sp: política para subdomínios.

Para que o DMARC funcione, o domínio deve ter SPF e DKIM configurados corretamente. O DMARC também exige que haja um alinhamento entre o domínio usado no envelope (MAIL FROM) ou no DKIM e o domínio exibido no cabeçalho From. Existem dois modos de alinhamento: estrito (o domínio deve ser idêntico) e relaxado (o domínio pode ser um subdomínio).

Uma estratégia de implantação gradual é recomendada: começar com p=none para monitorar, depois p=quarantine e, finalmente, p=reject quando tudo estiver estável.

Phishing awareness

Phishing é uma técnica de engenharia social em que o atacante se passa por uma entidade confiável para induzir a vítima a fornecer informações sensíveis, como senhas, números de cartão de crédito ou dados pessoais. Os ataques podem chegar por e-mail, SMS, redes sociais e até chamadas telefônicas.

A conscientização (awareness) é uma das defesas mais eficazes contra phishing, pois o fator humano é frequentemente o elo mais fraco. Treinamentos regulares, simulações de phishing e campanhas de comunicação interna ajudam a reduzir significativamente o risco.

Alguns sinais comuns de e-mails de phishing incluem:

  • Remetente suspeito ou domínio ligeiramente alterado (ex.: @paypa1.com em vez de @paypal.com).
  • Urgência ou ameaças (ex.: "Sua conta será encerrada em 24 horas").
  • Solicitações de credenciais ou informações pessoais.
  • Links encurtados ou URLs que não correspondem ao texto exibido.
  • Anexos inesperados, especialmente executáveis ou arquivos compactados.
  • Erros de ortografia e gramática.

Para se proteger, os usuários devem:

  • Verificar o endereço de e-mail completo do remetente.
  • Passar o mouse sobre links para ver o destino real.
  • Não abrir anexos de fontes não confiáveis.
  • Usar autenticação em dois fatores (2FA) sempre que possível.
  • Reportar e-mails suspeitos ao departamento de TI.

Além disso, as organizações devem implementar filtros de spam, autenticação de e-mail (SPF, DKIM, DMARC) e políticas de segurança que exijam verificação de identidade em comunicações sensíveis.

Boas práticas e observações finais

Implementar SPF, DKIM e DMARC corretamente é essencial para proteger a reputação do domínio e reduzir a chance de e-mails legítimos serem marcados como spam, além de dificultar ataques de spoofing. É importante testar a configuração usando ferramentas como MXToolbox ou Mail Tester.

Quanto ao phishing, a educação contínua é a chave. Realize simulações periódicas, mantenha uma política clara de reporte e incentive os funcionários a pensar antes de clicar. A segurança é uma responsabilidade de todos, e a tecnologia sozinha não é suficiente.

Referências

Exercícios

  1. Questão 1: Explique a diferença entre SPF e DKIM e como eles se complementam na autenticação de e-mail.

    ✓ Resposta: O SPF verifica se o IP do servidor remetente está autorizado a enviar e-mails em nome do domínio, usando o envelope (MAIL FROM). O DKIM assina digitalmente a mensagem, permitindo verificar se o conteúdo não foi alterado e se o domínio assinante é genuíno. Eles se complementam porque o SPF valida a origem da conexão, enquanto o DKIM garante a integridade do conteúdo. O DMARC usa os resultados de ambos para aplicar políticas.
  2. Questão 2: Crie um registro SPF para o domínio example.com que autorize o envio a partir de dois servidores com IPs 192.0.2.10 e 198.51.100.20, e que inclua os registros de _spf.google.com (para Google Workspace). Use a política ~all.

    ✓ Resposta:
    v=spf1 ip4:192.0.2.10 ip4:198.51.100.20 include:_spf.google.com ~all
  3. Questão 3: Qual é a finalidade do parâmetro p em um registro DMARC e quais valores são possíveis? Dê um exemplo de registro com política de quarentena e relatório agregado para dmarc@example.com.

    ✓ Resposta: O parâmetro p define a política que o destinatário deve aplicar quando a autenticação falha. Valores: none (nenhuma ação), quarantine (marcar como spam) e reject (rejeitar). Exemplo: v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com.
  4. Questão 4: Liste pelo menos cinco sinais de alerta em um e-mail de phishing e explique como o usuário deve agir ao identificar um deles.

    ✓ Resposta: Sinais: 1) remetente suspeito ou domínio com pequenas alterações; 2) tom de urgência ou ameaça; 3) solicitação de credenciais ou dados pessoais; 4) links que não correspondem ao texto exibido; 5) anexos inesperados. Ao identificar, o usuário deve não clicar em links nem abrir anexos, reportar o e-mail ao departamento de TI ou ao seu provedor, e excluir a mensagem. Se possível, verificar a legitimidade do contato por outros canais.
  5. Questão 5: Descreva o processo passo a passo para implementar DMARC gradualmente em um domínio que já possui SPF e DKIM funcionando.

    ✓ Resposta: 1) Analisar o tráfego de e-mail legítimo e identificar todos os serviços que enviam em nome do domínio. 2) Publicar um registro DMARC com p=none e um endereço de relatório (rua). 3) Monitorar os relatórios por 1-2 semanas para verificar se todos os e-mails legítimos passam na autenticação. 4) Corrigir problemas identificados (ajustar SPF/DKIM). 5) Mudar a política para p=quarantine e monitorar novamente. 6) Após um período sem problemas, mudar para p=reject. 7) Continuar monitorando os relatórios regularmente.