Предыстория такова: на Postfix версии 3.10.5, с некоторой периодичностью, 1-2 раза из 12, при соединении через Thunderbird, с использованием Tor proxy, в SMTP отваливается SSL/TLS и предлагается подключиться без шифрования. Если этого не заметить, авторизоваться и попытаться отправить сообщение, то получим ошибку: Must issue a STARTTLS command first, STARTTLS не предлагается никогда. Либо SSL/TLS либо plaintext. Сервер в связке Postfix+Dovecot.
В наличии есть сервер с Postfix 3.7.11, в нем предлагается либо SSL/TLS либо STARTTLS и никогда plaintext.
Стандартный конфиг Postfix main.cf, параметры отвечающие за TLS:
# TLS parameters
smtpd_tls_cert_file=/etc/letsencrypt/live/mail.YOURDOMAIN.COM/fullchain.pem
smtpd_tls_key_file=/etc/letsencrypt/live/mail.YOURDOMAIN.COM/privkey.pem
smtpd_tls_auth_only = yes
smtp_tls_security_level = may
smtpd_tls_security_level = may
smtpd_sasl_security_options = noanonymous, noplaintext
smtpd_sasl_tls_security_options = noanonymous
# Authentication
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
Очевидно не сработал. Что я пробовал и добавлял:
smtpd_tls_security_level = encrypt
smtp_tls_security_level = encrypt
smtp_tls_mandatory_protocols = TLSv1.2, TLSv1.3, !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtpd_tls_mandatory_protocols = TLSv1.2, TLSv1.3, !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtpd_use_tls = yes
smtpd_tls_mandatory_protocols = >=TLSv1.2
smtpd_tls_protocols = >=TLSv1.2
smtp_use_tls = yes
smtp_tls_security_level = may
smtpd_tls_security_level = encrypt
smtp_tls_note_starttls_offer = yes
tls_random_source = dev:/dev/urandom
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_protocols = !SSLv2, !SSLv3
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3
smtp_tls_protocols = !SSLv2, !SSLv3
smtp_tls_exclude_ciphers = EXP, MEDIUM, LOW, DES, 3DES, SSLv2
smtpd_tls_exclude_ciphers = EXP, MEDIUM, LOW, DES, 3DES, SSLv2
tls_high_cipherlist = kEECDH:+kEECDH+SHA:kEDH:+kEDH+SHA:+kEDH+CAMELLIA:kECDH:+kECDH+SHA:kRSA:+kRSA+SHA:+kRSA+CAMELLIA:!aNULL:!eNULL:!SSLv2:!RC4:!MD5:!DES:!EXP:!SEED:!IDEA:!3DES
tls_medium_cipherlist = kEECDH:+kEECDH+SHA:kEDH:+kEDH+SHA:+kEDH+CAMELLIA:kECDH:+kECDH+SHA:kRSA:+kRSA+SHA:+kRSA+CAMELLIA:!aNULL:!eNULL:!SSLv2:!MD5:!DES:!EXP:!SEED:!IDEA:!3DES
smtp_tls_ciphers = high
smtpd_tls_ciphers = high
smtp_tls_exclude_ciphers = EXP, MEDIUM, LOW, DES, 3DES, SSLv2
smtpd_tls_exclude_ciphers = EXP, MEDIUM, LOW, DES, 3DES, SSLv2
Параметры master.cf:
smtp inet n - y - - smtpd
#smtp inet n - y - 1 postscreen
#smtpd pass - - y - - smtpd
#dnsblog unix - - y - 0 dnsblog
#tlsproxy unix - - y - 0 tlsproxy
# Choose one: enable submission for loopback clients only, or for any client.
#127.0.0.1:submission inet n - y - - smtpd
submission inet n - y - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_sasl_type=dovecot
-o smtpd_sasl_path=private/auth
-o smtpd_reject_unlisted_recipient=no
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
smtps inet n - - - - smtpd
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_sasl_type=dovecot
-o smtpd_sasl_path=private/auth
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
Настраивал и Dovecot, стандартный конфиг 10-ssl.conf:
ssl = yes
ssl_server_cert_file = /etc/letsencrypt/live/mail.YOURDOMAIN.COM/fullchain.pem
ssl_server_key_file = /etc/letsencrypt/live/mail.YOURDOMAIN.COM/privkey.pem
ssl_server_dh_file = /etc/dovecot/dh.pem
ssl_cipher_list = EECDH+AES:EDH+AES+aRSA
ssl_server_prefer_ciphers = server
Менял на:
ssl_cipher_suites = TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
ssl_cipher_list = EECDH+AES:EDH+AES
Подскажите пожалуйста, что я делаю не правильно и как сделать правильно?