En el siguiente tutorial vamos a explicar como configurar correctamente los registros para el correo DKIM y DMARC.
El registro DKIM o DomainKeys Identified Mail es un registro que nos permite firmar el correo con el dominio a través de claves públicas indicadas en las zonas DNS de tu dominio.
El registro DMARC o Domain-based Message Authentication, Reporting and Conformance -tela con el nombre-, es un registro que complementa al SPF y al DKIM. Este registro indica qué hacer cuando dan error los registros anteriores, para así poder tomar medidas necesarias lo antes posible.
Configurar DKIM en Postfix
Empezaremos instalando los paquetes necesarios para configurar DKIM:
apt install opendkim opendkim-tools
Añadimos el usuario postfix
al grupo opendkim
:
gpasswd -a postfix opendkim
Editamos el fichero de configuración /etc/opendkim.conf
para comentar o descomentar las siguientes líneas.
## Descomentamos:
Logwhy yes
## Más abajo, descomentamos:
Canonicalization relaxed/simple
Mode sv
SubDomains no
## Justo debajo de SubDomains añadimos lo siguiente:
AutoRestart yes
AutoRestartRate 10/1M
Background yes
DNSTimeout 5
SignatureAlgorithm rsa-sha256
## Debajo de UserID añadimos:
KeyTable refile:/etc/opendkim/key.table
SigningTable refile:/etc/opendkim/signing.table
ExternalIgnoreList /etc/opendkim/trusted.hosts
InternalHosts /etc/opendkim/trusted.hosts
Guardamos el fichero de configuración y seguimos.
Creamos estructura de ficheros necesarios
Creamos directorios:
mkdir /etc/opendkim
mkdir /etc/opendkim/keys
Modificamos permisos:
chown -R opendkim:opendkim /etc/opendkim
chmod go-rw /etc/opendkim/keys
Creamos el siguiente fichero de configuración /etc/opendkim/signing.table
y añadimos lo siguiente:
*@[tu_dominio] default._domainkey.[tu_dominio]
*@*.[tu_dominio] default._domainkey.[tu_dominio]
Creamos otro fichero de configuración /etc/opendkim/key.table y añadimos lo siguiente:
default._domainkey.[tu_dominio] [tu_dominio]:default:/etc/opendkim/keys/[tu_dominio]/default.private
Último fichero que creamos, ahora /etc/opendkim/trusted.hosts y añadimos lo siguiente:
127.0.0.1
localhost
.[tu_dominio]
Generamos las llaves para DKIM
Si queremos crear diferentes llaves para diferentes dominios, lo que haremos será crear un directorio por cada domino, por lo tanto:
mkdir /etc/opendkim/keys/[tu_dominio]
Y generamos las llaves en el directorio anterior con:
opendkim-genkey -b 2048 -d [tu_dominio] -D /etc/opendkim/keys/[tu_dominio] -s default -v
Cambiamos permisos de los ficheros creados:
chown opendkim:opendkim /etc/opendkim/keys/[tu_dominio]/default.private
chmod 600 /etc/opendkim/keys/[tu_dominio]/default.private
Creamos el registro en nuestra zona DNS
Ahora deberemos de crear el registro tipo TXT en nuestra zona DNS, para ello podremos ver el registro que tenemos que poner con este comando:
cat /etc/opendkim/keys/[tu_dominio]/default.txt
Este comando debería de mostrar la siguiente salida:
default._domainkey IN TXT ( "v=DKIM1; h=sha256; k=rsa; "
"p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmYnS7t6LBjrqMFjzOqxCNmR0hah6XoQqsOb+2UyuWuwHXplmzDcaeFvbEQ+c6dHQisIuluNxtUhxIBuKVSdbH1kgTTLrWfvIQgOv9ALpEwcb/6dHKoUvsuPGCOd2YU6ckv2DHuwEvmJSYOWZ8hX2zZvQmpy/Rfd7twKNkokPqZgbbHSm/1GqYjRbuo2I9C2r4bB35LLxv6a3uv"
"0sklAYME1ioL/Pz9Z9fopWjbaXOfwN+KL/0vzARVam3ttFgdwM3nWMSaysx6PHeaYuVVo/EvhoonOmeygl1W9ouCm/WvxsknB2qAiPOFzBcgnPI34++3IWQTt8R6R0z94iNDE3LwIDAQAB" ) ;
default._domainkey
y con el valor que hay entre comillas que se trata de la llave.Comprobamos nuestra llave
Podemos hacerlo usando el siguiente comando:
opendkim-testkey -d [tu_dominio] -s default -vvv
Esto nos devolverá la siguiente salida:
opendkim-testkey: using default configfile /etc/opendkim.conf
opendkim-testkey: checking key 'default._domainkey.[tu_dominio]'
opendkim-testkey: key secure
opendkim-testkey: key OK
key not secure
" en la salida del comando, no te asustes. Esto se debe a que DNSSEC no está habilitado en tu nombre de dominio. DNSSEC es un estándar de seguridad para consultas DNS seguras. La mayoría de los nombres de dominio no lo tienen habilitado por defecto. Puedes continuar siguiendo este tutorial.Conectamos OpenDKIM a Postfix
Creamos directorios necesarios y sus permisos:
mkdir /var/spool/postfix/opendkim
chown opendkim:postfix /var/spool/postfix/opendkim
Editamos el fichero de configuración de OpenDKIM /etc/opendkim.conf y revisamos o añadimos lo siguiente:
## Busca esta línea y comentala.
Socket local:/run/opendkim/opendkim.sock
## Descomenta la siguiente línea de más abajo:
Socket local:/var/spool/postfix/opendkim/opendkim.sock
Guardamos y editamos /etc/postfix/main.cf y añadimos lo siguiente:
milter_default_action = accept
milter_protocol = 6
smtpd_milters = local:opendkim/opendkim.sock
non_smtpd_milters = $smtpd_milters
Finalmente, reiniciamos ambos servicios:
systemctl restart opendkim postfix
Configurar registro DMARC
En nuestra zona DNS deberemos de configurar un registro Tipo TXT con el siguiente contenido:
v=DMARC1; p=none; pct=100; rua=mailto:dmarc-reports@[tu_dominio]
Explicación de los parámetros:
=DMARC1
: La versión del protocolo es DMARC1.p=none
: Elegimos none como política para nuestro dominio.pct=100
: El porcentaje de correos de tu dominio a los que se aplica DMARC.rua
: Son las siglas de reporting URI para informe agregado. La dirección de correo electrónico se utiliza para indicar a los servidores de correo electrónico receptores dónde debe enviarse el informe.
Existen 3 políticas entre las que puedes escoger:
none
: Indica a los servidores de correo electrónico receptores que no hagan nada especial si falla la comprobación DMARC.quarantine
: Indica al servidor de correo electrónico receptor que ponga el correo en cuarentena si falla la comprobación DMARC. Debe ser aprobado por un administrador antes de que pueda llegar a la bandeja de entrada del destinatario.reject
: Indica a los servidores de correo electrónico receptores que rechacen el correo electrónico si falla la comprobación DMARC. Ten en cuenta que no todos los servidores de correo electrónico receptores cumplen la política de rechazo. Gmail y Yahoo Mail rechazarán el correo electrónico, pero Microsoft Mail (Outlook, Hotmail, Live) no lo rechaza.
Comprobación y revisión
Ahora podremos mirar si los registros están creados correctamente. Podemos usar MXToolBOX para comprobar nuestro DKIM. O nuestro DMARC.
Además podemos usar Mail-Tester para ver que tenemos una puntuación sobre 10.
Comentarios