No Picture

EMAIL SEGURO: GUIA COMPLETO DE CONFIGURAÇÃO COM SPF, DKIM E DMARC

11.04.2017 Mercado Bitcoin 0

Esse post é um tutorial para guiar passo a passo na configuração do seu domínio para enviar email de forma muito segura e com alta taxa de entrega.

O Mercado Bitcoin se preocupa com a segurança da informação e tem como compromisso educar sobre o assunto sempre que possível.

Por que essas configurações são necessárias?

Essas configurações são necessárias para combater: (1) hackers que fazem uso de domínio/email de terceiros para operações maliciosas; (2) SPAMs, que representam mais da metade dos emails enviados (fontes: statista.com e m3aawg.org).

Benefícios:

  • SEGURANÇA (security): email verificado, autenticado e que impede terceiros de enviarem emails se passando por você, assim combate phishing e e-mails ilegítimos;
  • MELHOR ENTREGA (deliverability): um email bem configurado tem maior credibilidade e assim, desde que utilizado de maneira correta, ganha reputação e é entregue corretamente.

Para quem serve esse guia?

É recomendado para email de domínio próprio, principalmente empresas que queiram enviar emails de negócios para seus clientes através de um domínio próprio (ex: @mercadobitcoin.com.br), com alta taxa de entrega e com segurança.

Emails terminados com @gmail.com, @hotmail.com, entre tantos outros, são serviços de emails de terceiros (ESPs: Email Service Providers), não recomendados para tal finalidade.

Quer utilizar um serviço de email de terceiros mesmo assim?

Então é importante saber que emails de serviços de terceiros não podem ser configurados por você. Sendo assim, não são ideais para essa finalidade e podem afetar o seu negócio dependendo do volume de envio.

Entretanto, aqui vai uma dica importante caso opte por utilizar esses serviços de email mesmo assim, seja por dificuldade em ter domínio próprio ou facilidade: escolha um serviço de email que se preocupa com segurança, logo que seja bem configurado e com boa reputação como @gmail.com, sem dúvida uma das melhores opções. Fuja de email como @bol.com.br que não tem essas configurações.

SERVIDORES DE EMAIL

Os servidores de email são os responsáveis por quase todo o processo com exceção à ação de iniciar o fluxo que é feita pelo Remetente (Sender).

Exemplo com servidor de e-mail próprio

Logo, a primeira coisa a ser feita é ter configurado um servidor que envie e receba emails, para depois configurar SPF, DKIM e DMARC. Nesse ponto, o mais recomendado é utilizar um provedor de serviço, os principais e de melhor reputação são:

  • Google G Suite
  • Amazon AWS SES
Exemplo com um servidor da Amazon AWS SES

Por que não é recomendado configurar o próprio servidor de email? Configurar o próprio servidor de email é algo que vem se tornando muito complexo devido a adoção para combater phishing e SPAM.

O caso do Outlook (ou Hotmail), por exemplo, que tem inúmeras regras específicas. Para receber um email ele valida se o destinatário obedeceu todas as regras. Vamos supor que uma delas seja que não se pode enviar mais de uma mensagem para o mesmo destinatário dentro de 2 segundos (é uma suposição pois essas regras mudam o tempo todo, mas essa já foi uma regra vigente). É uma regra complexa, e elas são muitas e específicas, para cada um dos provedores de serviço de email (Gmail, Yahoo, etc.), existem artigos falando somente sobre isso: https://www.sparkpost.com/blog/6-rules-maximum-outlook-deliverability/.

Assim, optar por um serviço como os recomendados é muito mais prático, pois eles tem uma equipe para adequar a entrega às regras dos provedores.

Nota: A documentação em geral encontrada na Internet se refere muito ao termo MTAs (Mail Transfer Agents) que nada mais são do os programas de computador instalados nos servidores de email responsáveis por tratar o envio e recebimento. Ou seja, quando falamos que os servidores de e-mail fazem a ação X ou Y, estamos nos referindo na verdade às ações dos programas instalado nesse servidores, os MTAs.

Wikipedia: https://en.wikipedia.org/wiki/Message_transfer_agent

Conexão criptografada, sempre!
Ao fazer o envio de emails através de aplicações, impressoras, ou qualquer outra comunicação com o servidor de email, sempre se conectar através de uma conexão criptografada.

CONFIGURANDO EMAIL PARA DOMÍNIO PRÓPRIO

O fluxo abaixo ilustra o caminho percorrido por um email com configurações de SPF, DKIM e DMARC. Mais abaixo você vai entender cada uma delas e pode voltar e analisar o fluxo novamente.

Fluxo de email utilizando SPF, DKIM e DMARC

SPF, DKIM e DMARC

Esse é o ponto principal desse artigo. Aqui define-se quais servidores podem enviar emails para o domínio (SPF), autentica-se os emails com os servidores de envio (DKIM) e define-se a regra a ser aplicada para quem não estiver em conformidade com isso (DMARC).

SPF: Sender Policy Framework

Identifica quais servidores de e-mail (domínios ou IPs) tem permissão para enviar e-mails em nome do domínio. Para isso é necessário criar um registro TXT do próprio domínio (ou subdomínio):

TXT mercadobitcoin.com.br

"v=spf1 mx include:_spf.google.com include:amazonses.com include:mail.zendesk.com -all"

A configuração acima permite que somente os servidores do Google, Amazon SES e Zendesk enviem email de @mercadobitcoin.com.br.

Nota: para conseguir 100% de conformidade com SPF na Amazon SES, é necessário configurar a propriedade Mail From para o domínio e email verificados. Isso requer entradas de registro MX e TXT para um subdomínio. Leia mais: https://aws.amazon.com/blogs/ses/amazon-ses-now-supports-custom-mail-from-domains/

DKIM: Domain Keys Identified Mail

Autenticação de email na qual o email enviado é assinado de forma que o receptor possa verificar a assinatura e assim garantir a autenticidade do conteúdo. Para isso é necessário criar um registro TXT em geral no formato abaixo:

TXT google._domainkey.mercadobitcoin.com.br

DKIM-Signature: v=1; a=rsa-sha256; d=mercadobitcoin.com.br; s=google; c=relaxed/simple; q=dns/txt; l=1234; t=1117574938; x=1118006938;
h=from:to:subject:date:keywords:keywords;
bh=MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=;
b=dzdVyOfAKCdLXdJOc9G2q8LoXSlEniSbav+yuU4zGeeruD00lszZ
VoG4ZHRNiYzR

A assinatura acima é um exemplo do que vai junto com o email (no cabeçalho), inserida pelo servidor de email uma vez que DKIM esteja configurado. Cada serviço tem seu próprio guia já que as configurações variam de um serviço para outro. Assim, é preciso procurar o tutorial do serviço que irá utilizar (a validação da configuração é feita pelo próprio serviço). Alguns abaixo:

DMARC: Domain-based Authentication, Reporting and Conformance

Define as regras (policy) para tratar os emails recebidos, se vamos deixar os emails passar mesmo não sendo válidos, se vamos colocar em quarentena ou se vamos rejeitar. Também informamos para onde devem ser enviados os relatórios, assim é possível analisar e corrigir possíveis divergências. Para tal, é recomendado começar light, analisar os relatórios e então seguir “apertando o parafuso”:

TXT _dmarc.mercadobitcoin.com.br

"v=DMARC1; p=reject; rua=mailto:ti+dmarc@bitcoinbrasil.com.br; ruf=mailto:ti+dmarc@bitcoinbrasil.com.br; 
sp=reject; fo=1; aspf=r; adkim=s; pct=100; ri=86400"

A configuração acima é aplicada a 100% dos emails (pct) e rejeita (p=reject, sp=reject) qualquer email que não passar nas validações de SPF (aspf) e DKIM (adkim). DKIM tem o valor relaxed, o que permite que a autenticação a partir de subdomínios (necessário para AWS SES). Os relatórios DMARC serão enviados por cada MTA para o email especificado (rua e ruf) diariamente (ri, 86400 segundos).

Os relatórios devem chegar no email especificado com anexo no formato XML afrf, por padrão. Esses arquivos podem ser gratuitamente carregados no site https://dmarcian.com/dmarc-xml/ para fácil analise visual.

O dmarcian.com oferece serviço pago de análise continua dos relatórios DMARC, bem como suporte e consultoria, que pode ser útil para muitos negócios que dependem bastante da comunicação por email.

CONTEÚDO DO EMAIL

Além das configurações já mencionadas, para ter um domínio com boa reputação de email é fundamental ter qualidade na estrutura e conteúdo do email para manter baixa a taxa de bounce (ruído), complaint (queixa) e reject (rejeição).

O que é bounce, complaint e rejection?

Todos eles são problemas na entrega do email reportadas pelo servidor do destinatário:

  • Bounce: o email não existe ou o email pode estar em uma “lista negra” devido ao seu histórico; a caixa de email do destinatário está cheia (abaixo de 5%);
  • Complaint: o destinatário classificou o seu email como SPAM
    (abaixo de 0.1%);
  • Reject: conteúdo do email com vírus ou atividade suspeita
    (não deve ser recorrente).

Boas práticas

  • Apenas envie email para destinatários que pediram, se cadastraram ou estão cientes que receberão o email; Tenha um mecanismo fácil e eficiente para o destinatário se descadastrar (sugiro o cabeçalho de email List-Unsubscribe, integrado com alguns serviços de email como Gmail);
  • Envie conteúdo de qualidade, um email que o seu destinatário espera receber e vai achar útil; Informe antecipadamente ao seu destinatário o que você planeja enviar e a frequência, deixando sempre acessível a opção se descadastrar do recebimento;
  • Alguns serviços tem quota de envio, fique sempre atento para não ser pego de surpresa;
  • Não envie email para os destinatários reportados como bounces ou complaints, tentando assim manter essas taxas baixas; Monitore as estatísticas de envio;
  • Muita atenção para os emails rejeitados, eles não podem ser recorrentes ou afetam drasticamente a reputação e entrega.

fonte: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/improve-deliverability.html

Gostou do nosso artigo? Compartilhe!


EMAIL SEGURO: GUIA COMPLETO DE CONFIGURAÇÃO COM SPF, DKIM E DMARC was originally published in Blog Mercado Bitcoin on Medium, where people are continuing the conversation by highlighting and responding to this story.