Servidor de correo · 1 min read · Oct 06, 2025
Solución Completa de Servidor de Correo con Dominios Virtuales y Usuarios (Debian Etch, Postfix, Mysql, Dovecot, DSpam, ClamAV, Postgrey, RBL) - Página 13
C. Certificados de cliente y servidor firmados por CA
Si deseas utilizar certificados de cliente firmados por CA, necesitarás tomar pasos adicionales, tanto en Postfix como en Dovecot para que esto funcione. Si deseas que los nombres de usuario se tomen del certificado mismo, actualmente debes establecer el nombre común como el nombre de usuario, por ejemplo [email protected], que se ha utilizado en este documento.
1. Informando a Postfix sobre los Certificados
En Postfix, puedes usar un directorio de certificados CA, o un archivo compuesto con todos los certificados concatenados. Vamos a usar la forma concatenada, ya que eso es lo que Dovecot espera.
# postconf -e 'smtpd_tls_CAfile = /etc/ssl/example.com/ca/all.pem'2. Informando a Dovecot sobre los Certificados
En Dovecot, debes tener la CRL junto con el certificado para que la autenticación funcione. Las directivas son las siguientes.
/etc/dovecot/dovecot.conf[...]
ssl_ca_file = /etc/ssl/example.com/ca/all.pem
ssl_verify_client_cert = yes
ssl_require_client_cert = yes
ssl_username_from_cert = yes
[...] NOTA: También necesitarás cambiar el password_query al comentado en /etc/dovecot/dovecot-sql.conf
Advertencia: Si estás ejecutando Dovecot release candidate 28 o anterior, el servidor no enviará la lista de nombres de CA aceptados, lo que podría hacer que los clientes con múltiples certificados de cliente no puedan conectarse. Por favor, actualiza o instala este parche.
3. Concatenando archivos
Si tienes varias CAs y CRLs, podría ser difícil concatenarlas cada vez, así que se creó un pequeño script que hará eso por ti. Simplemente colócalo en tu directorio /etc/ssl/example.com/ca/ y ejecútalo. Creará un all.pem con todos los certificados y todas las CRLs.
make.sh:#!/bin/bash
rm all.pem 2> /dev/null
cat *.pem *.crl > all.pem4. Configuraciones TLS de Postfix
Como mencioné antes, hay algunas configuraciones en Postfix que también necesitan ser cambiadas, así que modifiquemos main.cf:
# postconf -e 'smtpd_tls_ask_ccert = yes'
# postconf -e 'smtpd_tls_req_ccert = no'
# postconf -e 'smtpd_recipient_restrictions = permit_tls_all_clientcerts, reject'Ahora deberías tener un servidor de correo listo para empresas con certificados de cliente.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.