Leí el tutorial publicado por MountainX ( Setup DKIM (DomainKeys) para Ubuntu, Postfix y Mailman ), pero no puedo entender cómo aplicar estos pasos si quiero alojar y enviar correos electrónicos para varios dominios. ¿Alguien tiene una pista?
Leí el tutorial publicado por MountainX ( Setup DKIM (DomainKeys) para Ubuntu, Postfix y Mailman ), pero no puedo entender cómo aplicar estos pasos si quiero alojar y enviar correos electrónicos para varios dominios. ¿Alguien tiene una pista?
¡Bueno! Me di cuenta de esto en el post mencionado en la pregunta. Hice una especie de mezcla entre la respuesta en sí y los enlaces proporcionados en ella. Especialmente el cuarto enlace es el que usé.
Entonces la cosa es así. Supongamos que tiene un servidor o VPS y hace que uno de sus dominios sea el dominio principal y se use como el nombre del servidor (en mi ejemplo: midominio.com).
Entonces, en primer lugar, cambiaremos a root para facilitar las cosas, pero puede omitir este paso y usarlo sudo
antes de cada comando.
sudo su
Ahora instalamos OpenDKIM:
apt-get install opendkim opendkim-tools
Arreglemos el archivo de configuración. Estamos abriendo /etc/opendkim.conf
para la edición. Yo uso nano, pero es lo mismo con otro editor.
nano /etc/opendkim.conf
Una vez abierto, haz que se vea así. Si se siente cómodo, puede cambiar algunas opciones, pero el Domain
, KeyFile
y Selector
debe permanecer comentado.
# This is a basic configuration that can easily be adapted to suit a standard
# installation. For more advanced options, see opendkim.conf(5) and/or
# /usr/share/doc/opendkim/examples/opendkim.conf.sample.
#
#Domain example.com
#KeyFile /etc/opendkim/201205.private
#Selector 201205
#
# Commonly-used options
Canonicalization relaxed/simple
Mode sv
SubDomains yes
# Log to syslog
Syslog yes
LogWhy yes
# Required to use local socket with MTAs that access the socket as a non-
# privileged user (e.g. Postfix)
UMask 022
UserID opendkim:opendkim
#
KeyTable /etc/opendkim/KeyTable
SigningTable /etc/opendkim/SigningTable
ExternalIgnoreList /etc/opendkim/TrustedHosts
InternalHosts /etc/opendkim/TrustedHosts
#
Socket inet:8891@localhost
#EOF
A continuación, creamos algunas de las carpetas y archivos que contendrán información sobre lo que debe usar y procesar OpenDKIM. Por ahora, el TrustedHosts
archivo. Lo creamos y editamos:
mkdir /etc/opendkim
nano /etc/opendkim/TrustedHosts
Debemos poner en este archivo una lista de direcciones confiables: localhost y 127.0.0.1, y su nombre de servidor e IP:
127.0.0.1
localhost
192.99.34.121
mydomain.com
Ahora editamos el archivo de configuración de OpenDKIM.
nano /etc/default/opendkim
Y agregue estas líneas al final del archivo. Le dirán a OpenDKIM en qué puerto debe esperar solicitudes de firma:
SOCKET="inet:8891@localhost"
Abrimos el archivo de configuración de Postfix.
nano /etc/postfix/main.cf
Y agregue estas líneas al final del archivo. Le dirán a Postfix que debe enviar correos electrónicos para firmar y dónde.
milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891
Si no está agregando dominios en este momento, puede reiniciar todo, para que la configuración surta efecto.
/etc/init.d/opendkim restart
/etc/init.d/postfix reload
/etc/init.d/postfix restart
¡Hecho! El servidor está listo para trabajar con DKIM. Ahora, debe agregar sus dominios a este sistema. El siguiente proceso es el mismo para todos los dominios que desea agregar. Usaré otherdomain.com para el ejemplo, reemplácelo con el tuyo.
Recuerde que era root desde antes, pero si no lo es, ejecute sudo su
o preceda sus comandos con la palabra clave sudo
.
sudo su
Primero, creamos un directorio para nuestro dominio y vamos dentro de él:
mkdir -p /etc/opendkim/keys/otherdomain.com
cd /etc/opendkim/keys/otherdomain.com
Ahora generamos una clave para el dominio:
opendkim-genkey -r -d otherdomain.com
Le damos al usuario OpenDKIM la propiedad del archivo recién creado:
chown opendkim:opendkim default.private
Y abrimos el KeyTable
archivo para agregar nuestra nueva clave para nuestro nuevo dominio:
nano /etc/opendkim/KeyTable
Lo agregamos al final del archivo (después de todos los demás dominios que podamos tener aquí):
default._domainkey.otherdomain.com otherdomain.com:default:/etc/opendkim/keys/otherdomain.com/default.private
Abrimos el SigningTable
archivo.
nano /etc/opendkim/SigningTable
Y agregue al final del archivo (nuevamente, tendremos una línea para cada dominio):
otherdomain.com default._domainkey.otherdomain.com
Esta tabla de firma enumera todos los correos que se firman. Simplemente agregando un nombre de dominio, se firmarán todos los correos de ese dominio.
No estoy seguro de la necesidad de hacer el siguiente paso, pero lo acabo de hacer, por si acaso ... Abrimos el TrustedHosts
archivo.
nano /etc/opendkim/TrustedHosts
Y agregue al final del archivo:
otherdomain.com
Una última cosa: mostramos el contenido del archivo /etc/opendkim/keys/otherdomain.com/default.txt
.
cat /etc/opendkim/keys/otherdomain.com/default.txt
Y agregue la información entre las comillas a un TXT
registro en la Zona DNS del dominio, y también debemos usarlo default._domainkey
como el nombre del registro. NOTA: "entre comillas" es el texto que comienza con " v=DKIM1;k=rsa; p=WIGfM...
".
Si hemos terminado de agregar dominios (por ahora), reiniciamos todo para aplicar los cambios.
/etc/init.d/opendkim restart
/etc/init.d/postfix reload
/etc/init.d/postfix restart
¡Hecho!
/etc/opendkim/TrustedHosts
archivo la IP del host solo debe estar allí una vez, independientemente de cuántos dominios se ejecuten a través de este host. Si desea utilizar algún otro selector, ¡default
asegúrese de cambiarlo en todos los archivos!*@
parte anterior al nombre de dominio en SigningTable; no se firmó nada hasta que corrigí esto. cc: @the_nuts# touch /etc/opendkim/KeyTable
# touch /etc/opendkim/SigningTable
Este script automatiza la parte después de "¡Listo! El servidor está listo para trabajar con DKIM"
Para ayudar a automatizar un poco este proceso, creé este script bash. Simplemente agregue un 'dominio.com' por línea dentro de la matriz domains = ().
Primero cree los archivos y directorios si aún no existen
El archivo spfs.txt contendrá todos los registros spf que necesita agregar a sus registros DNS para cada dominio.
NOTA: no se ejecute más de una vez, no verifica si ya existe un dominio. El script también debe ejecutarse como root.
fuente
Este script automatiza la parte después de "¡Listo! El servidor está listo para trabajar con DKIM"
Para ayudar a automatizar un poco este proceso, creé este script bash. Simplemente agregue un dominio como 'example.com' por línea dentro de la matriz domains = ().
Este script crea los archivos por usted y verifica si ya hay una línea en el archivo
Spfs.txt se elimina y se vuelve a crear cada vez que se ejecuta y comprueba la segunda línea de default.txt con spfs.txt antes de agregar
Debe colocar sus servidores ipv4 e ipv6 (si los tiene) en las variables proporcionadas. Comprueba si no están vacías
Puede ejecutar este archivo varias veces gracias a las comprobaciones agregadas.
fuente