Je pensais avoir réussi à sécuriser mon serveur de messagerie Postfix / Dovecot. J'ai un certificat signé de LetsEncrypt, valable pour mon domaine.
L'envoi et la réception fonctionnent correctement, mais depuis que Gmail a commencé à signaler les e-mails non sécurisés, tous les messages envoyés depuis mon serveur sont signalés comme non cryptés.
Les utilisateurs de Gmail voient "Ce message n'a pas été chiffré", comme ceci:
Dans Postfix main.cf
, entre autres, j'ai:
# 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
Dans Postfix master.cf
, entre autres, j'ai:
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
Chez Dovecot 10-ssl.conf
, entre autres, j'ai:
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 signale-t-il à tort les certificats LetsEncrypt parce qu'il ne leur fait pas confiance, ou mon e-mail est-il réellement envoyé non chiffré?
main.cf
. Vous n'avez pas inclus tout ce qui est pertinent dans vos extraits.smtpd_banner
,myhostname
, etc.Réponses:
J'ai résolu cela en ajoutant ces deux lignes à Postfix
main.cf
:(Je ne l'avais mis qu'à
smtpd_tls_security_level
cause d'un article trompeur qui disait que toutes lessmtp_
valeurs étaient dépréciées en faveur desmtpd_
.)la source
Votre e-mail est envoyé non crypté. Si vous voulez juste faire de votre mieux, ajoutez ce qui suit à votre main.cf
Pour appliquer le cryptage TLS pour les e-mails envoyés à Google, ajoutez ceci à votre main.cf
remplacez / etc / postfix / rootcas / par l'emplacement de vos autorités de certification racine de confiance et dans le fichier / etc / postfix / tls_policy ajoutez
cela fera en sorte que les e-mails envoyés à gmail.com., google.com et googlemail.com soient envoyés cryptés et authentifient le serveur SMTP
Si vous ne souhaitez pas vous authentifier et simplement crypter (cela est nécessaire pour les sites avec de faux certificats), utilisez
avant de redémarrer postfix exécuter
la source
smtp_tls_security_level = may
. C'était tout ce qui était nécessaire et les autres paramètres spécifiques à Google n'étaient pas nécessaires.Tenez compte de la relation client / serveur en ce qui concerne SMTP et les paramètres ont un sens:
2.1. Structure basique
La conception SMTP peut être représentée comme:
(Src: rfc5321.txt)
Donc:
"smtp_tls_security_level" est destiné au client SMTP de Postfix. Voir: http://www.postfix.org/postconf.5.html#smtp_tls_security_level
"smtp d _tls_security_level" est destiné au serveur SMTP de Postfix Voir: http://www.postfix.org/postconf.5.html#smtpd_tls_security_level
Lorsque postfix transfère du courrier vers gmail, le paramètre smtp_tls_security_level est le paramètre associé.
Lorsque postfix reçoit du courrier via smtp, le paramètre smtp d _tls_security_level est pertinent.
la source