Primero debemos instalar los paquetes postfix, dovecot, cyrus-sasl y cyrus-sasl-plain:
yum -y install postfix dovecot cyrus-sasl cyrus-sasl-plain
Generando firma digital y certificado.
Acceda al directorio /etc/pki/tls/
cd /etc/pki/tls/
Los servidores de correo electrónico, como Sendmail y Postfix, pueden utilizar una firma digital creada con algoritmo DSA de 1024 octetos. Para tal fin, se crea primero un archivo de parámetros DSA:
openssl dsaparam 1024 -out dsa1024.pem
A continuación, se utiliza este archivo de parámetros DSA para crear una llave con algoritmo DSA y estructura x509, así como también el correspondiente certificado. En el ejemplo a continuación, se establece una validez por 1095 días (tres años) para el certificado creado.
openssl req -x509 -nodes -newkey dsa:dsa1024.pem -days 1095 -out certs/smtp.crt -keyout private/smtp.key
Al terminar, ya no será necesario conservar el archivo dsa1024.pem, mismo que puede eliminarse con plena seguridad.
rm -f dsa1024.pem
Es indispensable que todos los archivos de claves y certificados tengan permisos de acceso de solo lectura para el usuario root:
chmod 400 certs/smtp.crt private/smtp.key
Cambie al directorio /etc/pki/dovecot/.cd /etc/pki/dovecot/
Elimine los certificados de prueba creados durante la instalación.rm -f private/dovecot.pem certs/dovecot.pem
La creación de la firma digital y certificado para Dovecot es más simple, pero requiere utilizar una clave con algoritmo RSA de 1024 octetos, con estructura X.509. En el ejemplo a continuación, se establece una validez por 1095 días (tres años) para el certificado creado.
openssl req -x509 -nodes -newkey rsa:1024 -days 1095 -out certs/dovecot.pem -keyout private/dovecot.pem
openssl x509 -subject -fingerprint -noout -in certs/dovecot.pem
De forma similar a como ocurrió con el certificado para el servidor correo electrónico, lo anterior solicitará se ingresen varios datos.
Es indispensable que todos los archivos de claves y certificados tengan permisos de acceso de solo lectura para el usuario root:
chmod 400 private/dovecot.pem certs/dovecot.pem
Regrese al directorio de inicio del usuario root.
cd
Configuración de Postfix.
Editar el archivo /etc/postfix/master.cf:
Se debe descomentar las siguientes líneas resaltadas en negrita:
smtp inet n - n - - smtpd submission inet n - n - - smtpd -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING
Archivo de configuración /etc/postfix/main.cf.
A continuación, se debe editar el archivo /etc/postfix/main.cf:vim /etc/postfix/main.cf
Respetando el resto del contenido original de este archivo y asumiendo que el nombre de anfitrión del servidor es mail.dominio.com y que se va a utilizar para gestionar el correo electrónico de dominio.com, solo se deben localizar y configurar los siguientes parámetros:
# Todo lo siguiente solo requiere descomentarse o bien modificar la línea # correspondiente que esté descomentada. # Definir el nombre de anfitrión del sistema (hostname). myhostname = mail.dominio.com # Definir el dominio principal a gestionar. mydomain = dominio.com myorigin = $mydomain # Definir se trabaje por todas las interfaces. # De modo predeterminado solo trabaja por la interfaz de retorno del sistema # (loopback), es decir, solo escucha peticiones a través de sobre 127.0.0.1 #inet_interfaces = localhost inet_interfaces = all # Si se van a manejar más dominios de correo electrónico, añadirlos también. mydestination = $myhostname, $mydomain, localhost.localdomain, localhost # Definir tus redes locales, ejemplo asume que tu LAN es 192.168.1.0/24 mynetworks = 192.168.1.0/24, 127.0.0.0/8 # Si se van a manejar más dominios de correo electrónico, añadirlos también. relay_domains = $mydestination # Importante para poder utilizar procmail para filtrar correo. mailbox_command = /usr/bin/procmail # Todo lo siguiente está ausente en la configuración. # Añadir todo al final del archivo main.cf # smtpd_tls_security_level = may smtpd_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt # Las rutas deben corresponder a las del certificado y firma digital creados. smtpd_tls_key_file = /etc/pki/tls/private/smtp.key smtpd_tls_cert_file = /etc/pki/tls/certs/smtp.crt smtpd_tls_auth_only = no smtp_use_tls = yes smtpd_use_tls = yes smtp_tls_note_starttls_offer = yes smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom # Soporte para autenticar a través de SASL. # smtpd_sasl_local_domain = # Solo como referencia. smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes smtpd_sasl_authenticated_header = yes smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
Configuración de Dovecot
Parámetros del archivo /etc/dovecot/conf.d/10-mail.conf.
Alrededor de la línea 30 del archivo /etc/dovecot/conf.d/10-mail.conf, establezca mbox:~/mail:INBOX=/var/mail/%u como valor del parámetro mail_location.mail_location = mbox:~/mail:INBOX=/var/mail/%u
Parámetros del archivo /etc/dovecot/conf.d/10-ssl.conf.
En el archivo /etc/dovecot/conf.d/10-ssl.conf, descomente las siguientes líneas resaltadas en negrita:
# SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt> ssl = yes # PEM encoded X.509 SSL/TLS certificate and private key. They're opened before # dropping root privileges, so keep the key file unreadable by anyone but # root. Included doc/mkcert.sh can be used to easily generate self-signed # certificate, just make sure to update the domains in dovecot-openssl.cnf ssl_cert = </etc/pki/dovecot/certs/dovecot.pem ssl_key = </etc/pki/dovecot/private/dovecot.pem
Iniciar servicios y añadir éstos al arranque del sistema.
chkconfig dovecot on
chkconfig postfix on
service saslauthd start
service dovecot start
service postfix restart