Olá! Como publiquei nos artigos sobre a instalação do Zimbra (links logo abaixo), também irei dedicar um espaço neste blog para iniciantes em Zimbra.
Instalação em CentOS/Red Hat/Oracle
Seguindo os tutoriais sobre a instalação do Zimbra, irei iniciar uma série de artigos sobre melhores práticas de E-mail, como SPF, DKIM, DMARC, DNS reverso, RBLs, Whitelist, Blacklists, etc.
Nessa terceira parte, irei falar sobre uma questão fundamental para envio de e-mail: DKIM.
Link para a parte 1 dessa série: PARTE 1
DKIM
(Definição por Antispam.br: original aqui)
DKIM é uma especificação do IETF que define um mecanismo para autenticação de e-mail baseado em criptografia de chaves públicas. Através do uso do DKIM, uma organização assina digitalmente as mensagens que envia, permitindo ao receptor confirmar a autenticidade da mensagem. Para verificar a assinatura digital, a chave pública é obtida por meio de consulta ao DNS do domínio do assinante.
Ao contrário do SPF, que verifica somente o envelope, o DKIM verifica o cabeçalho da mensagem. Esta técnica acarreta um custo computacional adicional por mensagem, tanto para o MTA remetente quanto para o receptor. (Uma consideração: esse custo computacional adicional não tem um impacto significante, levando em consideração que outros testes mais pesados, com o Anti-Spam em si, utilizam muito mais recursos).
Para habilitar DKIM é necessário:
- Criar um par de chaves pública e privada (o OpenSSL pode ser usado para isso ou o utilitário zmdkimkeyutil (recomendado) no caso do zimbra);
- Deixar a chave pública disponível via DNS, de forma semelhante à publicação da política do SPF (TXT); e
- Colocar a chave privada no MTA responsável pelo envio das mensagens (O utilitário zmdkimdkeyutil já efetua essa configuração).
Para utilizar DKIM no envio de mensagens basta assinar cada mensagem enviada com a chave privada colocada no MTA. Esta assinatura é enviada como um campo adicional do cabeçalho.
Para verificar a autenticidade de uma mensagem recebida é necessário:
- Obter a chave pública do domínio do From: via DNS; e
- Verificar a assinatura da mensagem.
O resultado da verificação da assinatura pode chegar a uma das três conclusões:
- A assinatura é válida, a mensagem vem realmente do domínio indicado no campo From: e pode então ser avaliada por outras técnicas anti-spam;
- A assinatura não é válida, a mensagem pode ser marcada como suspeita ou ser recusada;
- O domínio do remetente não possui um registro DKIM, não sendo possível usar a informação de DKIM como critério de decisão.
Configurar o Zimbra para utilizar assinatura DKIM
A documentação oficial está publicada neste artigo: Wiki Zimbra – DKIM Signing
Os passos descritos neste artigo são válidos para as versões 8.6, 8.7 e 8.8.
O utilitário zmdkimkeyutil (executado com o usuário zimbra) pode ser utilizado para gerenciar e configurar a assinatura DKIM do Zimbra, conforme os exemplos abaixo:
Criar a chave DKIM para o domínio
$ /opt/zimbra/libexec/zmdkimkeyutil -a -d example.com
Atualizar a chave DKIM para o domínio
$ /opt/zimbra/libexec/zmdkimkeyutil -u -d example.com
Consultar a chave DKIM do domínio
$ /opt/zimbra/libexec/zmdkimkeyutil -q -d example.com
Remover a chave DKIM do domínio
$ /opt/zimbra/libexec/zmdkimkeyutil -r -d example.com
Publicar no DNS
Após criar as chaves DKIM, é necessário publicar a chave pública no DNS público (internet). O utilitário zmdkimkeyutil irá exibir na tela o conteúdo, que dependendo do seu servidor DNS, basta copiar e colar na configuração do domínio ou editar para que todo o conteúdo fique em uma única linha.
Exemplo de saída:
Exemplo em um servidor DNS onde é necessário editar para que o conteúdo fique em uma única linha:
Para consultar se a entrada DNS foi publicada corretamente, eu recomendo utilizar o teste do MXtoolbox:
Olá Fábio.
Com o Zimbra “atrás” de um antispam como fica essa configuração de DKIM? É feita normalmente conforme orientou?
Abraço!
@Danúbio, depende. Seu gateway antispam transporta o DKIM sem mudar o Header? Se sim, você precisa fazer o DKIM no ZIMBRA, o ASSP, Xeams, Spamhero e alguns outros não modificam o Header e mantém o HEADER DKIM. Caso contrário (como feito no Promox Mail Gateway e no ScrollOut F1), onde eles refazem os HEADER removendo o DKIM, você precisará gerar o DKIM no gateway. Alguns gateways fornecem essa opção (de criar o DKIM e você publicar no DNS). Em outros, você terá que gerar a integração entre o OpenDKIM e o Gateway (Caso do Proxmox Mail Gateway).
Alguém já utilizou o Zimlet. OpenPGP? Ele é semelhante ao DKIM?
Fabio Boa tarde, tenho instalado a mais de um ano o zimbra 8.6 e hoje do nada o servido do DKIM parou de funicionar, sabe me dizer o que pode ser, ou o que faz com ele pare do nada.