Administración servidor de correo
Objetivo
En esta página se muestra cómo administrar el correo genérico instalado en la página [Servidor de Correo].
Añadir un nuevo dominio
Consiste en configurar el servidor de correo para que sirva correos de un nuevo dominio (en este ejemplo culturetas.net).
Añadir nuevo dominio en BD
En mi configuración los dominios, usuarios y aliases se encuentran en una base de datos MariaDB.
mariadb
use mailserver;
INSERT INTO virtual_domains (domain) VALUES ('culturetas.net');
COMMIT;
Configuración OpenDKIM
- Generamos una clave criptográficas:
cd /etc/dkimkeys
opendkim-genkey -s mail -d culturetas.net
mv mail.private /etc/dkimkeys/culturetas.net-dkim.key
mv mail.txt /etc/dkimkeys/culturetas.net-dkim.txt
chown opendkim:opendkim /etc/dkimkeys/culturetas.net-dkim.*
- Habilitar dominios en OpenDKIM:
vi /etc/dkimkeys/key_table
#KEYID DOMAIN:SELECTOR:KEY
[...]
mail._domainkey.culturetas.net culturetas.net:mail:/etc/dkimkeys/culturetas.net-dkim.key
vi /etc/dkimkeys/signing_table
#DOMAIN KEYID
[...]
culturetas.net mail._domainkey.culturetas.net
- Anotar clavé pública de OpenDKIM:
cat /etc/dkimkeys/culturetas.net-dkim.txt
mail._domainkey IN TXT ( "v=DKIM1; h=sha256; k=rsa; "
"p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvRG1MMcJ0XbHKCgwLrr8zO1AVXxNYE+ut/3SQD0VxdHvexIvlIovyKFMagAQlzIJ0Tr+9l7FUNlCdeUoCqIxi4R4mOgOcrqgXRNXAwQoa7ns1j2pFeYnKHCODIiDRsszU0gKmgUX82ps55Feo/Fx5v1xtZNy855G+h8LnGy6lEoXx87TcCIsdXkslWPdGBJZPwNlvO+SCtttSM"
"f//sdjGuc5zQnnnqdSLgNa6vSidM/71MvF0L5rPpeaQ0bAAicb2Iv047lDT2G1LnJ+y1wpugDdJGQoEa6D8SV2Q8ffzaPyRJ340wP9d1m2BZT2EvLTJA60wFc22GfkM0ha6N2QtwIDAQAB" ) ; ----- DKIM key mail for culturetas.net
- Reiniciar OpenDKIM:
systemctl restart opendkim
Configuración OpenDMARC
- Configurar dominios en OpenDMARC:
vi /etc/opendmarc.conf
[...]
TrustedAuthservIDs HOSTNAME,culturetas.net
[...]
IgnoreMailFrom smtp.castanedo.es,culturetas.net
[...]
- Reiniciar OpenDMARC:
systemctl restart opendmarc
Configurar registros DNS
Es necesario acceder a la zona DNS para añadir nuevos dominios para el dominio (culturetas.net en este ejemplo).
- Registro DKIM
Hay que añadir un registro DNS con la información de la clave pública de DKIM.
mail._domainkey IN TXT "v=DKIM1;g=*;h=sha256;k=rsa;s=email;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvRG1MMcJ0XbHKCgwLrr8zO1AVXxNYE+ut/3SQD0VxdHvexIvlIovyKFMagAQlzIJ0Tr+9l7FUNlCdeUoCqIxi4R4mOgOcrqgXRNXAwQoa7ns1j2pFeYnKHCODIiDRsszU0gKmgUX82ps55Feo/Fx5v1xtZNy855G+h8LnGy6lEoXx87TcCIsdXkslWPdGBJZPwNlvO+SCtttSMf//sdjGuc5zQnnnqdSLgNa6vSidM/71MvF0L5rPpeaQ0bAAicb2Iv047lDT2G1LnJ+y1wpugDdJGQoEa6D8SV2Q8ffzaPyRJ340wP9d1m2BZT2EvLTJA60wFc22GfkM0ha6N2QtwIDAQAB;"
- Registro SPF:
Hay que añadir un registro DNS con la información de SPF.
culturetas.net. IN TXT "v=spf1 mx include:smtp.castanedo.es ~all"
- a: permite que el servidor en A envien correo.
- mx: permite que el servidor en MX envie correo.
- -all: la información describe a todos los hosts estrictamente.
- Registro ADSP:
Hay que añadir un registro DNS con la información de ADSP (Author Domain Signing Practices).
_adsp._domainkey IN TXT "dkim=all"
- unknown: válidos tanto firmados como sin firmar.
- all: todos los emails firmados.
- discardable: todos los emails firmados y los que no lo estén pueden eliminarse.
- Registro DMARC:
Hay que añadir un registro DNS con la información DMAR (Domain bases Message Authentication, Reporting and Conformance).
_dmarc IN TXT "v=DMARC1; p=none; rua=mailto:admin@culturetas.net; fo=0; adkim=r; aspf=r"
- p puede ser:
- none: no hace nada si falla DMARC.
- quarantine: si falla que sean tratado como sospechoso.
- reject: si falla que sea eliminado.
- rua: dirección a donde los fallos deben ser reportados.
- fo puede ser:
- 0: generar reporte si falla SPF y DKIM.
- 1: generar reporte si falla SPF o DKIM.
- s: generar reporte si falla SPF.
- d: generar reporte si falla DKIM.
- p puede ser:
Añadir un nuevo buzón
Generar contraseña
doveadm pw -s SHA512-CRYPT
Añadir a base de datos
mariadb
use mailserver;
INSERT INTO virtual_users (domain_id, email, password, access) VALUES ('6', 'admin@culturetas.net', '$6$XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'OK');
COMMIT;
Añadir un nuevo alias
mariadb
use mailserver;
INSERT INTO virtual_aliases (domain_id, source, destination) VALUES ('6', 'postmaster@culturetas.net', 'admin@culturetas.net');
INSERT INTO virtual_aliases (domain_id, source, destination) VALUES ('6', 'webmaster@culturetas.net', 'admin@culturetas.net');
COMMIT;