Contexto

O correio eletrónico continua a ser um dos serviços internet mais críticos para organizações, mas foi inicialmente concebido com foco na entrega das mensagens sem preocupações adequadas de segurança. Esta lacuna permite ataques como spoofing de remetentes, SPAM massivo e campanhas de phishing.

Para colmatar estas vulnerabilidades, o IETF desenvolveu três standards complementares: SPF, DKIM e DMARC. Estes mecanismos funcionam em conjunto para validar a autenticidade do correio eletrónico e definir políticas de tratamento para mensagens suspeitas.

 

  • SPF – o Sender Policy Framework (SPF) designa uma framework de validação do canal de envio de correio eletrónico, baseada na utilização do serviço de nomes de domínio (DNS) para publicação dos endereços IP dos servidores autorizados a enviar correio eletrónico para o respetivo domínio.

 

  • DKIM – o DomainKeys Identified Mail (DKIM) disponibiliza um método para validação de uma identidade digital associada a uma mensagem (tipicamente o domínio do remetente). O objetivo é o não repúdio da atribuição da mensagem, conseguido através da aposição de uma assinatura criptográfica a cada mensagem enviada. Ou seja, o DKIM apenas atribui a responsabilidade do envio de uma mensagem a uma identidade digital.

 

  • DMARC – o Domain-based Message Authentication, Reporting and Conformance (DMARC) habilita o remetente a declarar ao destinatário a utilização de SPF e/ou DKIM, bem como o que este deve fazer com uma mensagem que falha a validação de qualquer um dos métodos de clarados. Por outro lado, verifica o “alinhamento” entre o endereço apresentado no campo “from” e o MTA verificado através do SPF.

Sintomas / Problema

As organizações enfrentam problemas recorrentes relacionados com segurança do correio eletrónico:

  • Mensagens de phishing que falsificam o domínio organizacional
  • SPAM enviado supostamente a partir dos seus domínios
  • Falta de visibilidade sobre tentativas de abuso dos seus domínios
  • Dificuldade em distinguir mensagens legítimas de fraudulentas
  • Problemas de entregabilidade devido à falta de autenticação

Solução

SPF (Sender Policy Framework)

O SPF autoriza servidores específicos a enviar correio em nome de um domínio através de registos DNS TXT:

  1. Identificar todos os servidores de correio autorizados
  2. Criar registo SPF no DNS:
    exemplo.com. IN TXT "v=spf1 a:mail.exemplo.com -all"
  3. Utilizar qualificadores apropriados:
    • + (Pass): Aceitar mensagem
    • - (Hard Fail): Rejeitar mensagem
    • ~ (Soft Fail): Aceitar mas marcar como suspeita
    • ? (Neutral): Deixar decisão ao recetor
  4. Para domínios que não enviam correio, configurar:
    exemplo.com. IN TXT "v=spf1 -all"

 

DKIM (DomainKeys Identified Mail)

O DKIM adiciona assinaturas criptográficas às mensagens para garantir integridade e autenticidade:

  1. Gerar par de chaves pública/privada (mínimo 2048 bits)
  2. Configurar o MTA para assinar mensagens com a chave privada
  3. Publicar chave pública no DNS:
    selector._domainkey.exemplo.com. IN TXT "v=DKIM1; k=rsa; p=CHAVE_PUBLICA"
  4. Proteger a chave privada com permissões restritivas do sistema operativo
  5. Considerar rotação periódica das chaves

 

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

O DMARC unifica SPF e DKIM numa política coerente e fornece relatórios:

  1. Configurar SPF e DKIM primeiro
  2. Criar registo DMARC inicial com política permissiva:
    _dmarc.exemplo.com. IN TXT "v=DMARC1; p=none; rua=mailto:[email protected]; pct=100"
  3. Analisar relatórios recebidos durante algumas semanas
  4. Ajustar configurações SPF/DKIM conforme necessário
  5. Incrementar gradualmente a política:
    • p=none: Monitorizar apenas
    • p=quarantine: Colocar mensagens suspeitas em quarentena
    • p=reject: Rejeitar mensagens que falham validação

 

Verificação

Para validar a implementação correta dos três standards:

  1. Verificar registos DNS:
    dig TXT exemplo.com
    dig TXT _dmarc.exemplo.com
    dig TXT selector._domainkey.exemplo.com
  2. Utilizar ferramentas online:
    • Plataforma WEBCHECK.PT / http://mxtoolbox.com para avaliação completa
    • Verificadores SPF, DKIM e DMARC específicos
  3. Enviar mensagens de teste para diferentes provedores de correio
  4. Analisar cabeçalhos das mensagens recebidas para confirmar validação
  5. Monitorizar relatórios DMARC para identificar problemas ou tentativas de abuso

 

Exemplo de Verificação Manual

# Verificar SPF
nslookup -type=TXT exemplo.com

# Verificar DKIM
nslookup -type=TXT selector._domainkey.exemplo.com

# Verificar DMARC
nslookup -type=TXT _dmarc.exemplo.com

 

Referências

  • WEBCHECK.PT – Plataforma de verificação de standards de segurança
  • RFC 7208 – Sender Policy Framework (SPF)
  • RFC 6376 – DomainKeys Identified Mail (DKIM)
  • RFC 7489 – Domain-based Message Authentication, Reporting, and Conformance (DMARC)
  • DKIM.org – Documentação técnica sobre implementação DKIM

Este artigo foi útil?

Duarte Spínola

Deixe um Comentário