¿Cómo habilitar TLS con el puerto 587 con autenticación segura en Postfix?

¿Cómo habilitar TLS con el puerto 587 con autenticación segura en Postfix?

¿Cómo hacer que mi servidor Postfix envíe correo solo en el puerto 587 y también habilite TLS con el puerto 587 con autenticación segura (que utiliza usuarios del sistema Linux)?

En primer lugar, esta pregunta puede parecer demasiado amplia, pero no pude encontrar una solución única en Internet. Muchos artículos dan una solución, pero omiten algunas partes.

Quiero forzar la autenticación y forzar conexiones TLS.

Puedo publicar la configuración si alguien me pregunta.

Gracias de antemano. Soy nuevo en postfix. También podría echarle un vistazohttp://www.postfix.org/documentation.html, pero antes de que me lo cuentes, no puedo entenderlo correctamente, por lo tanto, estoy seguro de que estropearía una configuración y dejaría mi servidor inutilizable. Además, postfix aquí se instaló usando el administrador de paquetes apt. Pero estoy seguro de que esto no está particularmente relacionado con Ubuntu. Estaba usando Exim4 antes de usar postfix, pero hay muy poco soporte para Exim, porque la gente lo tiene principalmente en cPanel, por lo que no obtengo soporte estándar para Exim.

Esto necesita ayuda urgente porque la seguridad de nuestro servidor está en peligro.

Respuesta1

Para habilitar el puerto 587, edite el archivo/etc/postfix/master.cf

vi /etc/postfix/master.cf

y elimine el # delante de la línea (descomenta la línea):

#submission inet n - n - - smtpd

para que quede así:

submission inet n - n - - smtpd

Es posible que desees descomentar líneas adicionales que permitan la autenticación SASL justo después de esta línea. ¡Cada nueva línea debe comenzar con un espacio!

 -o syslog_name=postfix/submission
 -o smtpd_tls_security_level=encrypt
 -o smtpd_sasl_auth_enable=yes
 -o smtpd_client_restrictions=permit_sasl_authenticated,reject

Todos los demás ajustes que se configurarán en/etc/postfix/main.cfen función de su entorno.

Además, es posible que deba configurar los ajustes de TLS:

# TLS parameters
# you need to specify a real certificate location
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert.key
smtpd_use_tls=yes
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
smtp_tls_session_cache_database = btree:$data_directory/smtp_tls_session_cache
smtpd_sasl_tls_security_options=noanonymous
smtpd_tls_auth_only=yes

Dependiendo de si usas dovecot para recibir correos electrónicos, es posible que tengas que agregar:

smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/dovecot-auth
broken_sasl_auth_clients=yes

Restricciones de seguridad adicionales:

smtpd_relay_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_non_fqdn_helo_hostname,reject_non_fqdn_sender,reject_unknown_sender_domain,reject_non_fqdn_recipient,reject_unknown_recipient_domain

verifique y reinicie postfix:

postfix check
systemctl restart postfix

Puede asegurarse de que postfix ahora esté escuchando en ambos puertos 25 y 587:

netstat -na | grep LISTEN | grep 25
netstat -na | grep LISTEN | grep 587

No olvide permitir el puerto 587 en su firewall.

La creación de usuarios de Postfix es otra historia. Como se mencionó en los comentarios, debe usar SQL para almacenar buzones de correo (usuarios de correo). Si no desea hacerlo, puede utilizar los usuarios de Linux que se describen en detalle.aquí.

PD: No creo que sea factible proporcionar la configuración completa aquí porque siempre depende mucho de los requisitos específicos del caso y de su entorno.

Respuesta2

Esto sólo permitirá conexiones seguras:

smtpd_tls_auth_only = yes

Luego tienes las otras opciones necesarias:

smtpd_tls_security_level = may

smtp_sasl_auth_enable = yes

smtp_use_tls = yes

Para usar 587, edite master.cf y descomente la línea:

submission inet n - n - - smtpd

El sufijo de reinicio.

información relacionada