OJO: por algún motivo con esto no alcanza: rspamd no está firmando con dkim… ¡¡REVISAR!!
Rspamd: módulos dkim y dkim_signing
Este módulo puede usarse tanto para firmar digitalmente los correos que salen como para verificar las firmas de los correos entrantes.
El módulo ARC hace uso de éste módulo también, así que si se desea filtrar y firmar con ARC, hay que habilitar DKIM.
DKIM signing
Creando la llave para DKIM
cd /var/lib/rspamd/dkim rspamadm dkim_keygen -s uaiq15_dkim -d uaiq15.fq.edu.uy -k uaiq15.dkim.key >uaiq15.dkim.key.pub
donde:
-s
es elselector
de la llave, puede ser cualquier texto, pero es lo que lo identifica en los registros del DNS-d
define el dominio-k
define el nombre del archivo donde se almacena la llave privada>
redirigestdout
al archivo con la llave pública
La llave pública no es requisito guardarla, pero es la que va en el DNS, por eso conviene guardarla también, y tiene el siguiente contenido:
uaiq15_dkim._domainkey IN TXT ( "v=DKIM1; k=rsa; " "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDX9G4t/yClPdlLbIXjwEZ9nMzOXn26HoepT+rlQDFLdam80agBrz6UIKUUbHkHuD1yDCdlMsasGq1RT4P1bXSvfuFtlLPb28URvfbLACIG0mTCd+6BWxO+Yc2Bnp9TZQxMJoAs+icsprMYmPKUQk2a4GrbiVQvxNnkJS5vb8pxfwIDAQAB" ) ;
fq.edu.uy
para usar como si fuese un dominio de email, conviene agregar el dominio completo (no olvidarse del punto al final) en el registro del DNS. También hay que unir las dos líneas en una, eliminando las comillas del medio.
Al transferir la llave pública para incluirlo como un registro TXT
en el header del DNS (fq.hosts
), teniendo en cuenta lo anterior, ésta queda así:
uaiq15_dkim._domainkey.uaiq15.fq.edu.uy. IN TXT ( "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDX9G4t/yClPdlLbIXjwEZ9nMzOXn26HoepT+rlQDFLdam80agBrz6UIKUUbHkHuD1yDCdlMsasGq1RT4P1bXSvfuFtlLPb28URvfbLACIG0mTCd+6BWxO+Yc2Bnp9TZQxMJoAs+icsprMYmPKUQk2a4GrbiVQvxNnkJS5vb8pxfwIDAQAB" ) ;
Configuración de dkim_signing en rspamd
Ahora que tenemos las llaves pública y privada generadas y actualizamos el header del DNS, tenemos que configurar rspamd para que empiece a usar esa llave privada.
Para eso vamos a /etc/rspamd/local.d
y creamos el archivo dkim_signing.conf
. Acá ponemos un ejemplo de lo que puede contener ese archivo. Prestar atención al domain
, selector
y path
que le indican a rspamd qué dominio van a firmar, qué llave usar y cuál es el selector en el DNS.
use_domain = "auth"; allow_hdrfrom_mismatch = true; allow_hdrfrom_mismatch_sign_networks = true; domain { uaiq15.fq.edu.uy { selector = "uaiq15_dkim"; path = "/var/lib/rspamd/dkim/uaiq15.dkim.key"; } } sign_authenticated = true; use_esld = true; allow_username_mismatch = true;