Cómo instalar y configurar DKIM con Postfix en Ubuntu 18.04 LTS

27 feb 2021 3 min di lettura
Cómo instalar y configurar DKIM con Postfix en Ubuntu 18.04 LTS
Indice dei contenuti

Introducción

En esta guía, veremos cómo instalar y configurar OpenDKIM, una implementación de código abierto del sistema de autenticación de remitente DomainKeys Identified Mail (DKIM).

DKIM es un estándar de Internet que permite a una persona u organización asociar un nombre de dominio con un mensaje de correo electrónico.

Prerrequisitos

Antes de continuar con la guía, Postfix y Dovecot deben estar instalados y configurados correctamente.

Tutorial de Postfix y Dovecot (incluye configuración FQDN) Tutorial de FQDN

Instalar OpenDKIM

OpenDKIM está disponible en los repositorios predeterminados de Ubuntu, por lo que se puede instalar fácilmente a través de apt:

sudo apt update
sudo apt install opendkim opendkim-tools

Configurar OpenDKIM

Abra el archivo de configuración principal de OpenDKIM:

sudo nano /etc/opendkim.conf

Cambie o agregue las siguientes líneas:


AutoRestart Yes
 AutoRestartRate 10/1h
 UMask 002
 Syslog yes
 SyslogSuccess Yes
 LogWhy Yes

 Canonicalization relaxed/simple

 ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
 InternalHosts refile:/etc/opendkim/TrustedHosts
 KeyTable refile:/etc/opendkim/KeyTable
 SigningTable refile:/etc/opendkim/SigningTable

 Mode sv
 PidFile /var/run/opendkim/opendkim.pid
 SignatureAlgorithm rsa-sha256

 UserID opendkim:opendkim

 Socket inet:12301@localhost

El Milter permite a los administradores agregar filtros de correo para filtrar spam o virus en la cadena de procesamiento de correo.

Conecte el milter con Postfix, abra el siguiente archivo:

sudo nano /etc/default/opendkim

Agregue esta línea, cambie el número de puerto solo si está usando un puerto personalizado:


SOCKET="inet:12301@localhost"

Para configurar Postfix para usar el milter, abra el siguiente archivo:

sudo nano /etc/postfix/main.cf

Agregue o descomente estas líneas:


milter_protocol = 2
 milter_default_action = accept

Si utiliza un filtro como SpamAssassin, es probable que los siguientes parámetros ya estén presentes, en esta casa solo agregue el milter OpenDKIM:


smtpd_milters = unix:/spamass/spamass.sock, inet:localhost:12301
 non_smtpd_milters = unix:/spamass/spamass.sock, inet:localhost:12301

Si faltan los parámetros, agregue lo siguiente:


smtpd_milters = inet:localhost:12301
 non_smtpd_milters = inet:localhost:12301

Cree las carpetas para TrustedHosts:

sudo mkdir /etc/opendkim
sudo mkdir /etc/opendkim/keys

Especifique TrustedHosts:

sudo nano /etc/opendkim/TrustedHosts

Usaremos este archivo para definir tanto ExternalIgnoreList como InternalHost, los mensajes de estos hosts, dominios y direcciones IP serán de confianza y estarán firmados.

Personalice y agregue las siguientes líneas al archivo recién creado. Puede especificar varios dominios, no cambie las tres primeras líneas:


127.0.0.1
 localhost
 192.168.0.1/24

 *.esempio.it

 #*.esempio.tech

Guarde y cierre el archivo.

Crea un nuevo archivo:

sudo nano /etc/opendkim/KeyTable

Usamos el correo electrónico, no es necesario modificarlo. Agrega estas líneas:


mail._domainkey.esempio.it esempio.it:mail:/etc/opendkim/keys/esempio.it/mail.private

 #mail._domainkey.esempio.tech esempio.tech:mail:/etc/opendkim/keys/esempio.tech/mail.private

Guarde y cierre el archivo.

Cree el siguiente archivo, que se utiliza para declarar dominios y direcciones de correo electrónico:

sudo nano /etc/opendkim/SigningTable

Agrega estas líneas:


*@esempio.it mail._domainkey.esempio.it

 #*@esempio.tech mail._domainkey.esempio.tech

Genere la clave privada y la clave pública

Cambiar carpeta:

cd /etc/opendkim/keys

Cree y acceda a una nueva carpeta para el dominio:

sudo mkdir esempio.it
cd esempio.it

Genera las claves:

sudo opendkim-genkey -s mail -d esempio.it

Haga que opendkim sea el propietario de la clave privada:

sudo chown opendkim:opendkim mail.private

Clave pública para los registros DNS del dominio

Abra el archivo mail.txt:

sudo nano -$ mail.txt

La clave pública se define en el parámetro p:


mail._domainkey IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA38K27694dPpB72IgyYh/d6bOaSTe4vXlaPOFjAn4Mef8VGA8Cnvb2VWx0wV2HvqAR62iHjBVZc6otsYI35MIwOh6cunL5ypwIQ0+ALUd5+qUz6ww2vAPkt0iPudIwg41Zmv+tR74zZGNHtV+691i6jCYKEJ6iJlfJqwM+HigDy5T62Qp5FaVSDom/y4eLinme"
 "0Vdg1AZQ4Vg5/fK1PtVNTrqwFqzGy6IdmVjImfcNtAZ/CXSzKLUmsPHxo/ST88XFK9jUUW8vYcT9Yw+Ma0mce9mCcxITpCG5jrX07K+Y+kNJPesZ9v/prwQ+4JVtoT2FrJE6nFqHGLGpTzUVGKkTQIDAQAB" ; ----- DKIM key mail for esempio.it

La parte que te interesa es la que está entre las comillas dobles ":


v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA38K27694dPpB72IgyYh/d6bOaSTe4vXlaPOFjAn4Mef8VGA8Cnvb2VWx0wV2HvqAR62iHjBVZc6otsYI35MIwOh6cunL5ypwIQ0+ALUd5+qUz6ww2vAPkt0iPudIwg41Zmv+tR74zZGNHtV+691i6jCYKEJ6iJlfJqwM+HigDy5T62Qp5FaVSDom/y4eLinme"
 "0Vdg1AZQ4Vg5/fK1PtVNTrqwFqzGy6IdmVjImfcNtAZ/CXSzKLUmsPHxo/ST88XFK9jUUW8vYcT9Yw+Ma0mce9mCcxITpCG5jrX07K+Y+kNJPesZ9v/prwQ+4JVtoT2FrJE6nFqHGLGpTzUVGKkTQIDAQAB"

Une las dos cadenas de código eliminando las comillas dobles ", luego:


v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA38K27694dPpB72IgyYh/d6bOaSTe4vXlaPOFjAn4Mef8VGA8Cnvb2VWx0wV2HvqAR62iHjBVZc6otsYI35MIwOh6cunL5ypwIQ0+ALUd5+qUz6ww2vAPkt0iPudIwg41Zmv+tR74zZGNHtV+691i6jCYKEJ6iJlfJqwM+HigDy5T62Qp5FaVSDom/y4eLinme0Vdg1AZQ4Vg5/fK1PtVNTrqwFqzGy6IdmVjImfcNtAZ/CXSzKLUmsPHxo/ST88XFK9jUUW8vYcT9Yw+Ma0mce9mCcxITpCG5jrX07K+Y+kNJPesZ9v/prwQ+4JVtoT2FrJE6nFqHGLGpTzUVGKkTQIDAQAB

Este es el valor para agregar en el campo TXT en los registros DNS de su dominio.

ATENCIÓN no copie esta clave pública, es solo ilustrativa, no funcionará en su servidor.

Reinicie Postfix y OpenDKIM:

sudo service postfix restart
sudo service opendkim restart

Configuración e instalación de DKIM en Ubuntu 18.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.