Skip to main content

Activar DKIM a todos los dominios de un servidor con Directadmin

Introducción

DKIM es pieza fundamental en el sistema actual de antispam, y sobre todo para garantizar que nuestro dominio y/o Ip no loleguen a ser considerados como SPAM.

Configuracion DKIM global

Indicada en el manual, directadmin.conf - #dkim nos indica que la variable es dkim

Valor Comentario
0 DKIM está deshabilitado por defecto para los nuevos dominios
1 DKIM está habilitado por defecto para los nuevos dominios
2 La funcionalidad de DKIM está habilitada, pero no es obligatoria para los nuevos dominios

Podemos editarlo manualmente o usar por ejemplo:

da config-set dkim 1
cd /usr/local/directadmin/custombuild
./build update
./build exim
./build eximconf

Esta configuración hará que todos los dominios futuros, se configuren con DKIM.

Para dominios existentes

Es probable que en una migración o situación especifica, el administrador deseé poner el valor a 2 para poder realizar la migración sin añadir una capa de complejidad.

Bien, una vez asentado todo, o bien porque había dominios anteriores sin DKIM, procedemos:

Atención: Si hay ya dominios que no quieren tener DKIM, ya sea porque no saben como usar servicios exteriores de correo sin configurarlo correctamente o porque no se lo explicarón, se puede producir problemas con ellos. Tener en cuenta.

Habilitar la creación automática de registros DKIM no afecta a los dominios existentes. Tienes algunas opciones para agregar DKIM a los dominios antiguos una vez que has habilitado DKIM en el archivo directadmin.conf. Puedes hacerlo para cada dominio uno por uno o para todos los dominios existentes a la vez.

Para habilitar DKIM para todos los dominios existentes después de configurar DKIM en 1 en el archivo directadmin.conf, puedes ejecutar el siguiente comando a través de SSH como el usuario root.

echo "action=rewrite&value=dkim" >> /usr/local/directadmin/data/task.queue; /usr/local/directadmin/dataskq

Para habilitar DKIM solo para dominios seleccionados uno por uno, utiliza ya sea la cola de tareas o el script dkim_create.sh proporcionado por DirectAdmin (reemplaza DOMAIN.COM con el dominio para el cual deseas habilitar DKIM).

cd /usr/local/directadmin/scripts/dkim_create.sh DOMAIN.TLD

o inmeditamente

echo "action=rewrite&value=dkim&domain=DOMAIN.COM&dns=yes" >> /usr/local/directadmin/data/task.queue; /usr/local/directadmin/dataskq

Ambos comandos funcionan de la misma manera, con la excepción de que puedes tener el DKIM escrito inmediatamente con dataskq en comparación con dentro de un minuto utilizando el script dkim_create.sh.

Deshabilitar DKIM por Usuario Cuando Está Habilitado o Permitido Globalmente

Esta función está diseñada para que DKIM esté habilitado o permitido globalmente, pero puedes deshabilitarlo a nivel de usuario.

Esto requiere que se establezca dkim=1 o dkim=2 en el archivo directadmin.conf.

La configuración de 1 habilitará DKIM automáticamente para todos los dominios bajo cada usuario, a menos que especifiques lo contrario en sus archivos user.conf.

La configuración de 2 les permitirá a los usuarios, habilitar DKIM por sí mismos, a menos que se especifique lo contrario en su archivo user.conf.

Ten en cuenta, que establecer dkim=0 en el archivo directadmin.conf deshabilita completamente DKIM para todo el servidor y los archivos user.conf no se verificarán. Por lo tanto, si deseas que DKIM esté deshabilitado globalmente por defecto con la opción de habilitarlo solo para ciertos usuarios/dominios, configurar dkim=2 en el archivo directadmin.conf es una mejor opción.

Cuando creas un usuario, se crea con un dominio predeterminado. Este dominio tendrá DKIM creado para el dominio por defecto debido a la configuración habilitada globalmente y la no existencia de un user.conf hasta que se cree la cuenta (no hay un user.conf para editar y deshabilitar DKIM).

Por lo tanto, se deberá eliminar manualmente DKIM para el dominio predeterminado si prefieres que no tenga un registro DKIM.

Aquí están los pasos para, primero eliminar el registro del dominio predeterminado y luego deshabilitar la creación automática de registros DKIM para los dominios subsiguientes bajo ese usuario.

Para eliminar los registros del dominio predeterminado, elimina el registro TXT x._domainkey de /var/named/DOMAIN.TLD.db y luego elimina las claves.

rm -f /etc/virtual/DOMAIN.COM/dkim.public.key
rm -f /etc/virtual/DOMAIN.COM/dkim.private.key

Ahora, edita el user.conf para que no se habiliten registros *DKIM para los dominios que se creen posteriormente bajo el usuario. El user.conf se puede editar a través de SSH como el usuario root y el archivo se encuentra aquí (donde USERNAME representa el nombre de usuario del usuario que estás editando),

/usr/local/directadmin/data/users/USERNAME/user.conf

Esto permite que la configuración de DKIM de ese usuario particular anule la configuración de DKIM habilitada globalmente establecida en el archivo directadmin.conf, evitando así que se creen registros DKIM para los dominios de ese usuario en adelante.

Reinicia DirectAdmin después de hacer los cambios.

systemctl restart directadmin

Deshabilitar DKIM a Nivel de Dominio

Esta es esencialmente la misma función que la característica a nivel de usuario, con la excepción de que editarías el archivo de configuración del dominio ubicado en /usr/local/directadmin/data/users/USERNAME/domains/DOMAIN.TLD.conf, en su lugar.

No es necesario editar el archivo user.conf del usuario para controlar DKIM a nivel de dominio.

Si un determinado dominio utiliza tanto un DNS remoto como un servidor de correo remoto, es posible que desees deshabilitar DKIM para este dominio en particular en lugar de para todos los dominios del usuario. Aquí es donde esta función es útil.

En realidad no es necesaria esta dudosa práctica usada, cuando el usuario final o la otra empresa que le ofrece servicios de correo, no le da las putas adecuadas) La gran mayoría de los sevricios de correo externo, si dan la información necesaria para crear y mantener un registro DKIM para cada servicios de correo, basandonos en el registro selector pero su complejidad y la falta de conocimientos llevan a un salida incorrecta. Pero este es otro tema del que hablaremos en otro post, en fechas próximas.

Reinicia DirectAdmin después de hacer cambios en el archivo DOMAIN.TLD.conf:

systemctl restart directadmin

Cambiar el Selector Predeterminado

DirectAdmin utiliza x como el selector predeterminado. Para cambiar el selector, necesitarás actualizar el archivo directadmin.conf con el selector deseado. Los siguientes ejemplos cambian el selector a default:

/usr/local/directadmin/directadmin set dkim_selector default restart

Necesitarás reconstruir la configuración de Exim de la siguiente manera:

/usr/local/directadmin/custombuild/build exim_conf

Confirma que el selector fue cambiado en el archivo /etc/exim.dkim.conf:

❯ grep -i selector /etc/exim.dkim.conf
  dkim_selector = x

Ahora, cualquier registro DKIM creado nuevo utilizará tu selector especificado. Ten en cuenta que necesitarás eliminar y recrear los registros DKIM antiguos que utilicen el selector antiguo si deseas que usen el nuevo selector.

Conclusión

Ya hemos revisado el procedimiento paso a paso para habilitar DKIM con el panel de control DirectAdmin. Podemos decir, qu el registro DNS DKIM es esencial para un servicio de correo electrónico más fluido y para la autenticación de correos electrónicos.

Aviso

Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad. El contenido el contenido se entrega, tal y como está, sin que ello implique ningún obligación ni responsabilidad por parte de Castris

Si necesitas soporte profesional puedes contratar con Castris soporte profesional.