Configurando DKIM sobre Proxmox Mail Gateway

Proxmox Mail Gateway (PMG) es una plataforma integral de seguridad de correo electrónico de fuente abierta que lo ayuda a proteger su servidor de correo de las amenazas de correo electrónico y a garantizar la integridad de los datos con su conjunto de funciones de clase empresarial. Pero carece del mecanismo de autenticación de correo electrónico DKIM, que aún no han implementado y que de seguro pondrán mas adelante. DKIM utiliza criptografía de clave pública para permitir al origen firmar electrónicamente correos electrónicos legítimos de manera que puedan ser verificados por los destinatarios. Entre los proveedores de servicio de correo que implementan ese sistema se encuentran Yahoo, Gmail, y FastMail. Cualquier correo originado desde estas organizaciones deben llevar una firma DKIM.

DKIM también protege contra la manipulación de correo electrónico, proporcionando integridad de extremo a extremo, desde un módulo firmante a un módulo validador. En la mayoría de los casos el módulo firmante actúa en nombre de la organización originaria insertando una firma DKIM en las cabeceras del mensaje, y el módulo de comprobación en nombre de la organización del receptor, validando la firma obteniendo la clave pública del firmante a través del DNS.

Cómo funciona

DKIM añade una cabecera llamada “DKIM-Signature” que contiene una firma digital del contenido (cabeceras y cuerpo) del mensaje. Los parámetros por defecto del mecanismo de autenticación son la utilización de SHA-256 como la firma criptográfica y RSA como el esquema de criptografía asimétrica. Finalmente se codifica la firma resultante con Base64.

El servidor SMTP utiliza el nombre de dominio perteneciente al emisor, la cadena “_domainkey”, y un selector del campo de la firma DKIM para realizar una consulta al DNS. La respuesta debe incluir la clave pública del dominio. El receptor puede utilizar esta información para descifrar el valor de la firma del campo de la cabecera, y al mismo tiempo, recalcular el valor de la firma para el mensaje (cabeceras y cuerpo) que ha recibido. Si los dos resultados coinciden, esto prueba criptográficamente que el mensaje fue firmado por el dominio indicado y que no ha sido alterado en tránsito.

Un fallo en la verificación de la firma no fuerza el rechazo del mensaje. Por contra, las razones precisas por las cuales la autenticidad del mensaje no ha podido ser verificada deberían comunicarse tanto al proceso de envío como el de recepción.

Instalamos paquetes necesarios, es muy recomendable actualizar el sistema antes de continuar.

Editamos el fichero de configuración /etc/opendkim.conf en nuestro caso como manejamos varios subdominios de correo, es decir un dominio principal y varios subdominios de este, vamos a necesitar un juego de llaves privada/pública para cada uno. Comentamos todas las líneas que aparecen en el fichero y al final añadimos todas estas que es en realidad como debe quedarnos el fichero.

>>Salvamos y continuamos <<

Ahora conectamos OpenDKIM con Postfix.

Editamos el default de opendkim, nos debe quedar de la siguiente forma:

>>Salvamos y continuamos <<

Ahora crearemos la estructura de directorios que contendrán los host de confianza, firmas y claves criptográficas.

Especificamos los hosts de confianza en el archivo /etc/opendkim/TrustedHosts

Vamos a utilizar este archivo para definir tanto ExternalIgnoreList y InternalHosts, los mensajes procedentes de estos hosts, dominios y direcciones IP son de confianza y pueden ser firmados.

Personalice y añada las siguientes líneas al archivo recién creado. Dominios múltiples pueden especificarse, no edite las tres primeras líneas:

>> Salvamos y continuamos <<

Ahora creamos la tabla de llaves en el fichero /etc/opendkim/KeyTable

Una tabla de claves contiene cada selector por cada dominio y la ruta de acceso a su clave privada. Cualquier cadena alfanumérica puede ser utilizado como un selector, se utiliza en este ejemplo electrónico y no es necesario cambiarlo.

>> Salvamos y continuamos <<

Creamos una tabla de firmas. Este fichero se utiliza para declarar cada dominio de correo y su selector

>> Salvamos y continuamos <<

Ahora vamos a generar las llaves privadas y públicas.

Cambiamos el propietario y el grupo para los ficheros de las claves privadas

En este punto es el mas critico para los que no poseen delegada su zona DNS.

Añadiendo las claves públicas a los registros DNS para cada dominio. Abra el fichero mail.txt

Modifica la linea default._domainkey debe de quedarle asi:

Debemos saber que Proxmox Mail Gateway no permite la modificacion directa de sus ficheros de configuracion, asi que necesitamos llegar a sus plantillas para que el reescriba el main.cf.

>> Salvamos y continuamos <<

Ahora para que aplique los cambios sin tener que reiniciar el contenedor, corremos este comando:

Ahora comprobamos los mismos si estan corriendo correctamente

Hasta aquí toda la configuración de nuestro DKIM sobre PMG, ahora solo nos queda comprobar que el mismo está firmando y comprobando correctamente los correos, para eso les dejo varios sitios muy interesantes:

http://dkimvalidator.com/

http://www.appmaildev.com/es/dkim

https://www.mail-tester.com/

Ahora en la consola ejecute el siguiente comando para que vea lo lindo que nuestro PMG utiliza el DKIM.

En un proximo articulo como configurar Dmarc

(Visited 627 times, 1 visits today)

Sé el primero en comentar

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.


*