Curitiba/PR Contato
Administração e Suporte em Ti

OpenDKIM –  ( Open DomainKeys Identified Mail )

Tecnologia de assinatura digital para verificação de e-mails, significa assinar todos os e-mails enviados pelo domínio para que no destino, o servidor de e-mail saiba que é de um domínio válido e não de Spam.

Para instalação no servidor, faça primeiro uma atualização e instale o epel-release se ainda não estiver instalado. procure a versão mais atualizada para a sua distro Linux.

yum update -y

Para 32 bits:

# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

Para 64 bits:

# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

Instalando o OpenDKIM…

yum install opendkim -y

Após a instalação vamos criar uma chave pública. Se você tiver mais de um domínio no servidor de e-mail, pode pular essa parte.

opendkim-default-keygen

Editar  /etc/opendkim.conf

vi /etc/opendkim.conf

# LogWhy                  Yes
Syslog                  Yes
SyslogSuccess           Yes
Mode                    sv
Canonicalization        relaxed/simple
ExternalIgnoreList      refile:/etc/opendkim/TrustedHosts
InternalHosts           refile:/etc/opendkim/TrustedHosts
KeyTable                refile:/etc/opendkim/KeyTable
SigningTable            refile:/etc/opendkim/SigningTable
SignatureAlgorithm      rsa-sha256
# Se você for usar o servidor com IPv6 altere localhost para 127.0.0.1
Socket                  inet:[email protected]
PidFile                 /var/run/opendkim/opendkim.pid
UMask                   022
UserID                  opendkim:opendkim
TemporaryDirectory      /var/tmp
# Coloque o seu domínio principal
Domain                  domain.com.br
Selector                default
# Descomente se você for usar um unico domínio
#KeyFile                 /etc/opendkim/keys/default.private

Editar KeyTable

vi /etc/opendkim/KeyTable

# To use this file, uncomment the #KeyTable option in /etc/opendkim.conf,
# then uncomment the following line and replace example.com with your domain
# name, then restart OpenDKIM. Additional keys may be added on separate lines.

#default._domainkey.example.com example.com:default:/etc/opendkim/keys/default.private
default._domainkey.dominio.com.br dominio.com.br:default:/etc/opendkim/keys/dominio.com.br/default
default._domainkey.domain.com domain.com:default:/etc/opendkim/keys/domain.com default

Agora vamos gerar as chaves…

# Crie um diretorio para cada domínio
mkdir /etc/opendkim/keys/mydomain.com
# Gerar uma chave para cada domínio
opendkim-genkey -D /etc/opendkim/keys/mydomain.com/ -d mydomain.com -s default
# Alter as permissões dos diretórios
chown opendkim.opendkim /etc/opendkim/keys -R
mv /etc/opendkim/keys/mydomain.com/default.private /etc/opendkim/keys/mydomain.com/default

Vamos editar /etc/opendkim/SigningTable

vi /etc/opendkim/SigningTable

 # Coloque o domínio padrão
 #example.com default._domainkey.example.com
 *@dominio.com.br default._domainkey.dominio.com.br
 #Pode-se adicionar também um subdominio apontando para um dominio,
 #outro dominio apontando para uma mesma chave  Exemplo:
 #*@mailx.dominio.com.br default._domainkey.dominio.com.br

Adicione o nome dos hosts de dominio no arquivo /etc/opendkim/TrustedHosts:

127.0.0.1
domínio.com.br
mail.domino.com.br
dominio2.com.br
mail.dominio2.com.br

Aqui finalizamos a configuração do OpenDKIM, agora temos que configurar o Bind e o Postfix

No diretório /etc/opendkim/keys/{dominios}, para cada domínio existe uma chave em modo texto que deve ser copiado para o arquivo de dns do seu respectivo domínio.

Ex:

[root@srv opendkim]# cat /etc/opendkim/keys/dominio.com.br/default.txt
default._domainkey IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCtg3G2ojohWdG8AmRWwTV6kFK1J3LTvixg50O6z5Oh0e0KSg267N+6nZ3CFVdkwzd98YXeT9YCETtIL+bv8LdaH8XFQAU3NtGQDKdoTD3djhp2EG6eUgMg5qSFCvzY18K/B37Q/2mnIiBj8qdKIh8vYxT1PAM/6M55gZYl3C6/xQIDAQAB" ; ----- DKIM key default for dominio.com.br

Insira essa chave no arquivo de dns do domínio
Ex:

[root@srv opendkim]# cat /var/named/dominio.com.br.db
@       IN      SOA     mail.dominio.com.br. postmaster.dominio.com.br. (
                        2015073103
                        3600
                        900
                        1209600
                        86400 )
        IN      TXT "v=spf1 mx ip4:200.155.155.224/29 -all"
default._domainkey IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCtg3G2ojohWdG8AmRWwTV6kFK1J3LTvixg50O6z5Oh0e0KSg267N+6nZ3CFVdkwzd98YXeT9YCETtIL+bv8LdaH8XFQAU3NtGQDKdoTD3djhp2EG6eUgMg5qSFCvzY18K/B37Q/2mnIiBj8qdKIh8vYxT1PAM/6M55gZYl3C6/xQIDAQAB" ; ----- DKIM key default for dominio.com.br

@       IN      MX      5       mail.dominio.com.br.
@       IN      MX      30      mail2.dominio.com.br.
--->

Reincie o bind para testarmos..

service named restart
dig +short default._domainkey.dominio.com.br TXT
"v=DKIM1\; k=rsa\; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCtg3G2ojohWdG8AmRWwTV6kFK1J3LTvixg50O6z5Oh0e0KSg267N+6nZ3CFVdkwzd98YXeT9YCETtIL+bv8LdaH8XFQAU3NtGQDKdoTD3djhp2EG6eUgMg5qSFCvzY18K/B37Q/2mnIiBj8qdKIh8vYxT1PAM/6M55gZYl3C6/xQIDAQAB"

Agora vamos ao Postfix
editar/acrescentar /etc/postfix/main.cf:
vi /etc/postfix/main.cf:

smtpd_milters           = inet:127.0.0.1:8891
non_smtpd_milters       = $smtpd_milters
milter_default_action   = accept
# milter_protocol         = 2

Iniciar/reiniciar serviços
chkconfig opendkim on
service opendkim restart
service postfix restart

Verifique os logs do servidor de e-mail para visualizar o funcionamento do opendkim