OpenDKIM es un método para firmar y verificar digitalmente correos electrónicos en los servidores de correo utilizando claves públicas y privadas. En otras palabras, opendkim implementa el estándar DKIM (DomainKeys Identified Mail) para firmar y verificar mensajes de correo electrónico por dominio. DomainKeys se implementan para reducir las posibilidades de que los correos salientes se marquen como SPAM.
En esta publicación, demostraremos cómo instalar y configurar DomainKeys con postfix (MTA) en CentOS 7, asumo que Postfix ya está instalado con el siguiente dominio y nombre de host.
- Nombre de host = mail5.freshdaymall.com
- Dominio = freshdaymall.com
Leer también : Cómo instalar y configurar el servidor de correo Postfix en CentOS 8
Paso: 1 Configure el repositorio EPEL usando el siguiente comando rpm
El paquete OpenDKIM no está disponible en los repositorios yum predeterminados, pero está disponible en los repositorios EPEL de CentOS 7.
[[email protected] ~]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Paso: 2 Instale el paquete OpenDKIM usando yum
[[email protected] ~]# yum install -y opendkim
Paso: 3 Ejecute debajo del comando para crear claves
Ejecute el siguiente comando para crear claves públicas y privadas en la carpeta «/etc/opendkim/claves”
[[email protected] ~]# opendkim-default-keygen Generating default DKIM keys: Default DKIM keys for freshdaymall.com created in /etc/opendkim/keys. [[email protected] ~]# [[email protected] ~]# cd /etc/opendkim/keys/ [[email protected] keys]# ll total 8 -rw-r----- 1 root opendkim 891 Nov 29 08:42 default.private -rw-r--r-- 1 root opendkim 320 Nov 29 08:42 default.txt [[email protected] keys]#
predeterminado.privado es la clave privada para el dominio y predeterminado.txt es la clave pública que publicaremos en el registro DNS (TXT) del dominio. Se crea un Selector (predeterminado) al generar claves, un selector puede ser una palabra clave única que está asociada en claves e incluida en la firma DKIM.
Paso:4 Edite los siguientes archivos:
- /etc/opendkim.conf —- Archivo de configuración de opendkim
- /etc/opendkim/KeyTable —- Como sugiere el nombre, define la ruta de la clave privada para el dominio
- /etc/opendkim/SigningTable — Este archivo le dice a OpenDKIM cómo aplicar las claves.
- /etc/opendkim/TrustedHosts: este archivo define qué hosts pueden usar claves.
Edite el archivo “/etc/opendkim.conf” y establezca los siguientes parámetros.
Editar el KeyTable archivo y reemplace el ejemplo.com con su nombre de dominio.
[[email protected] ~]# cat /etc/opendkim/KeyTable # OPENDKIM KEY TABLE # 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.freshdaymall.com freshdaymall.com:default:/etc/opendkim/keys/default.private [[email protected] ~]#
Editar el Mesa de Firma archivar y definir quién firmará los correos salientes.
[[email protected] ~]# cat /etc/opendkim/SigningTable # WILDCARD EXAMPLE # Enables signing for any address on the listed domain(s), but will work only if # "refile:/etc/opendkim/SigningTable" is included in /etc/opendkim.conf. # Create additional lines for additional domains. *@freshdaymall.com default._domainkey.freshdaymall.com
como estoy usando * en el parámetro anterior, lo que significa que todos los usuarios del dominio pueden firmar los correos electrónicos.
Editar el Servidores de confianza archivo, agregue el FQDN del servidor y el nombre de dominio debajo de la ip localhost (127.0.0.1)
[[email protected] ~]# cat /etc/opendkim/TrustedHosts # OPENDKIM TRUSTED HOSTS # To use this file, uncomment the #ExternalIgnoreList and/or the #InternalHosts # option in /etc/opendkim.conf then restart OpenDKIM. Additional hosts # may be added on separate lines (IP addresses, hostnames, or CIDR ranges). # The localhost IP (127.0.0.1) should always be the first entry in this file. 127.0.0.1 mail5.freshdaymall.com freshdaymall.com [[email protected] ~]#
Paso:5 Edite el archivo de configuración de Postfix (/etc/postfix/main.cf)
Agregue las siguientes líneas al final del archivo /etc/postfix/main.cf.
[[email protected] ~]# vi /etc/postfix/main.cf smtpd_milters = inet:127.0.0.1:8891 non_smtpd_milters = $smtpd_milters milter_default_action = accept
Paso: 6 Inicie el servicio OpenDKIM y postfix
[[email protected] ~]# hash -r [[email protected] ~]# systemctl start opendkim ; systemctl enable opendkim ; systemctl restart postfix ln -s '/usr/lib/systemd/system/opendkim.service' '/etc/systemd/system/multi-user.target.wants/opendkim.service' [[email protected] ~]#
Paso:7 Actualice el registro DNS TXT de su dominio.
Utilice la salida de default.txt y actualice el registro DNS (TXT) del dominio.
Paso:8 Envíe un correo electrónico de prueba y vea los registros.
Compruebe si el correo electrónico está firmado o no.
Guau, nuestro correo electrónico está firmado y la tarea de configuración de las claves de dominio se ha completado ahora.
Excelente articulo. Felicitaciones