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-toolsAñadimos el usuario postfix al grupo opendkim:
gpasswd -a postfix opendkimEditamos 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.hostsGuardamos el fichero de configuración y seguimos.
Creamos estructura de ficheros necesarios
Creamos directorios:
mkdir /etc/opendkim
mkdir /etc/opendkim/keysModificamos permisos:
chown -R opendkim:opendkim /etc/opendkim
chmod go-rw /etc/opendkim/keysCreamos 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 -vCambiamos permisos de los ficheros creados:
chown opendkim:opendkim /etc/opendkim/keys/[tu_dominio]/default.private
chmod 600 /etc/opendkim/keys/[tu_dominio]/default.privateCreamos 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.txtEste 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 -vvvEsto 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 OKkey 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/opendkimEditamos 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.sockGuardamos 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_miltersFinalmente, reiniciamos ambos servicios:
systemctl restart opendkim postfixConfigurar 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