Pensé que había asegurado con éxito mi servidor de correo electrónico Postfix / Dovecot. Tengo un certificado firmado de LetsEncrypt, que es válido para mi dominio.
Enviar y recibir funciona bien, pero desde que Gmail comenzó a marcar correos electrónicos no seguros, todos los correos enviados desde mi servidor se marcan como no cifrados.
Los usuarios de Gmail ven "Este mensaje no fue encriptado", así:
En Postfix main.cf
, entre otras configuraciones, tengo:
# SASL, for SMTP authentication
smtpd_sasl_type = dovecot
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_path = private/auth
# TLS, for encryption
smtpd_tls_security_level = may
smtpd_tls_auth_only = no
smtpd_tls_CAfile = /etc/letsencrypt/live/mydomain.com/chain.pem
smtpd_tls_cert_file = /etc/letsencrypt/live/mydomain.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mydomain.com/privkey.pem
tls_random_source = dev:/dev/urandom
smtpd_client_new_tls_session_rate_limit = 10
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_exclude_ciphers =
EXP
EDH-RSA-DES-CBC-SHA
ADH-DES-CBC-SHA
DES-CBC-SHA
SEED-SHA
smtpd_tls_dh512_param_file = ${config_directory}/certs/dh_512.pem
smtpd_tls_dh1024_param_file = ${config_directory}/certs/dh_1024.pem
disable_vrfy_command = yes
smtpd_helo_required = yes
smtpd_delay_reject = yes
En Postfix master.cf
, entre otras configuraciones, tengo:
smtp inet n - - - - smtpd
-o smtpd_enforce_tls=yes
-o smtpd_use_tls=yes
-o smtpd_tls_security_level=encrypt
submission inet n - - - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o broken_sasl_auth_clients=yes
En Dovecot's 10-ssl.conf
, entre otros entornos, tengo:
ssl = required
ssl_ca = </etc/letsencrypt/live/mydomain.com/chain.pem
ssl_cert = </etc/letsencrypt/live/mydomain.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mydomain.com/privkey.pem
¿Gmail está marcando falsamente los certificados LetsEncrypt porque no confía en ellos, o realmente mi correo electrónico se envía sin cifrar?
main.cf
. No ha incluido todo lo relevante en sus fragmentos.smtpd_banner
,myhostname
, etc.Respuestas:
Resolví esto agregando ambas líneas a Postfix
main.cf
:(Solo lo había establecido
smtpd_tls_security_level
debido a un artículo engañoso que decía que todos lossmtp_
valores se depreciaron a favorsmtpd_
).fuente
Su correo electrónico se envía sin cifrar. Si solo quieres intentarlo lo mejor posible, agrega lo siguiente a tu main.cf
Para aplicar el cifrado TLS para el correo electrónico enviado a Google, agréguelo a su main.cf
reemplace / etc / postfix / rootcas / con la ubicación de sus CA raíz confiables y en el archivo / etc / postfix / tls_policy add
esto hará que los correos electrónicos enviados a gmail.com., google.com y googlemail.com se envíen encriptados y autentiquen el servidor SMTP
Si no desea autenticarse y simplemente encriptar (esto es necesario para sitios con certificados falsos) use
antes de reiniciar postfix ejecutar
fuente
smtp_tls_security_level = may
. Eso era todo lo que se requería, y el resto de las configuraciones específicas de Google no eran necesarias.Considere la relación cliente / servidor con respecto a SMTP y la configuración tiene sentido:
2.1. Estructura basica
El diseño SMTP se puede representar como:
(Src: rfc5321.txt)
Así:
"smtp_tls_security_level" es para el cliente SMTP Postfix. Ver: http://www.postfix.org/postconf.5.html#smtp_tls_security_level
"smtp d _tls_security_level" es para el servidor SMTP Postfix Consulte: http://www.postfix.org/postconf.5.html#smtpd_tls_security_level
Cuando postfix está transfiriendo correo a gmail, la configuración smtp_tls_security_level es la configuración asociada.
Cuando postfix recibe correo a través de smtp, la configuración smtp d _tls_security_level es relevante.
fuente