Postfix y TLS · 3 min read · Feb 06, 2026

El Servidor Perfecto - Gentoo 2007.0 - Página 5

12 Postfix con SMTP-AUTH y TLS

Primero queremos establecer las banderas USE adecuadamente.

echo "mail-mta/postfix sasl" >> /etc/portage/package.use   
echo "dev-libs/cyrus-sasl authdaemond urandom" >> /etc/portage/package.use   
echo "net-mail/courier-imap fam" >> /etc/portage/package.use

Luego, en realidad lo instalamos.

emerge --ask --verbose postfix courier-imap procmail

courier-imap en realidad sería traído como una dependencia de postfix con estas banderas USE, pero incluirlo en la línea de comandos lo añadirá al archivo world, la lista de esos paquetes que específicamente queríamos en lugar de dependencias.

Edita /etc/mail/aliases para proporcionar un alias para root a tu usuario administrador. En Gentoo hay una línea comentada para que la completes y descomentes.

root: administrator
newaliases

Ahora queremos configurar postfix en sí. Nota, bajo Gentoo no se ejecuta en un chroot por defecto, y hacer que lo haga actualmente está más allá del alcance de este HowTo.

Configuramos Postfix para la operación normal de Maildir. Nota que esto no configura nada específicamente para ISPConfig; los cambios que necesitamos hacer para ISPConfig se dan en el paso 18.

postconf -e "myhostname = $(hostname -f)"   
postconf -e 'mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain'   
postconf -e 'mynetworks = 127.0.0.0/8'   
postconf -e 'recipient_delimiter = +'   
postconf -e 'mailbox_size_limit = 0'   
postconf -e 'inet_interfaces = all'   
postconf -e 'inet_protocols = all'   
postconf -e 'home_mailbox = Maildir/'

Ahora configuramos sasl.

postconf -e 'smtpd_sasl_local_domain ='   
postconf -e 'smtpd_sasl_auth_enable = yes'   
postconf -e 'smtpd_sasl_security_options = noanonymous'   
postconf -e 'broken_sasl_auth_clients = yes'   
postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'   
echo 'pwcheck_method: saslauthd' >> /etc/sasl2/smtpd.conf   
echo 'mech_list: plain login' >> /etc/sasl2/smtpd.conf

Ahora queremos crear los certificados ssl para postfix.

cd /etc/ssl   
vi openssl.cnf

Cambia los siguientes valores predeterminados para tu dominio. Básicamente, estos son solo los valores predeterminados que aparecen cuando creas una nueva solicitud de certificado, así que puedes omitir este paso y simplemente enfrentarte a los valores predeterminados habituales. Tendrías que escribirlos al menos dos veces, así que probablemente valga la pena.

countryName_default
stateOrProvinceName_default
localityName_default
0.organizationName_default
emailAddress_default

Y crea los certificados.

cd misc   
./CA.pl -newreq-nodes   
./CA.pl -newca   
./CA.pl -sign   
cp newcert.pem newkey.pem demoCA/cacert.pem /etc/postfix/

Y configura postfix con ellos.

postconf -e 'smtpd_tls_auth_only = no'   
postconf -e 'smtp_use_tls = yes'   
postconf -e 'smtpd_use_tls = yes'   
postconf -e 'smtp_tls_note_starttls_offer = yes'   
postconf -e 'smtpd_tls_key_file = /etc/postfix/newkey.pem'   
postconf -e 'smtpd_tls_cert_file = /etc/postfix/newcert.pem'   
postconf -e 'smtpd_tls_CAfile = /etc/postfix/cacert.pem'   
postconf -e 'smtpd_tls_loglevel = 1'   
postconf -e 'smtpd_tls_received_header = yes'   
postconf -e 'smtpd_tls_session_cache_timeout = 3600s'   
postconf -e 'tls_random_source = dev:/dev/urandom'

Inicia postfix y saslauthd y configúralos para que se inicien al arrancar.

/etc/init.d/saslauthd start   
rc-update add saslauthd default   
/etc/init.d/postfix start   
rc-update add postfix default

Para ver si SMTP-AUTH y TLS funcionan correctamente, ejecuta el siguiente comando:

telnet localhost 25

Después de haber establecido la conexión con tu servidor de correo Postfix, escribe:

ehlo localhost

Si ves las líneas

250-STARTTLS

y

250-AUTH LOGIN PLAIN

todo está bien.

La salida en mi sistema se ve así:

server1 misc # telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
220 server1.example.com ESMTP Postfix
ehlo localhost
250-server1.example.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.

Escribe

quit

para volver a la shell del sistema.

13 Courier-IMAP/Courier-POP3

El software courier-imap que necesitamos se instaló todo como dependencias en la instalación de postfix. Así que ahora solo necesitamos terminar de configurarlo.

cd /etc/courier-imap   
vi pop3d.cnf   
vi imapd.cnf

Cambia los parámetros C, ST, L, CN y email para que coincidan con tu servidor. En particular, asegúrate de que el campo CN sea el nombre de host que los clientes de correo usarán para conectarse a tu servidor de correo. Luego,

mkpop3dcert   
mkimapdcert

Ahora puedes iniciar los varios servicios de courier-imap y configurarlos para que se inicien al arrancar.

/etc/init.d/courier-imapd start   
/etc/init.d/courier-imapd-ssl start   
/etc/init.d/courier-pop3d start   
/etc/init.d/courier-pop3d-ssl start   
rc-update add courier-imapd default   
rc-update add courier-imapd-ssl default   
rc-update add courier-pop3d default   
rc-update add courier-pop3d-ssl default
Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.