Помещен из postconf smtpd_tls_auth_only
smtpd_tls_auth_only = yes
?
Если так, потребность использовать starttls перед аутентификацией.
Мог отключить установку для обеспечения незашифрованной аутентификации (не рекомендуемый).
Может отладить с использованием starttls:
openssl s_client -connect $YOUR_SMTP_SERVER:25 -starttls smtp -CApath $PATH_TO_CA_DIR
Если для smtpd_tls_auth_only
установлено значение yes
:
# postconf smtpd_tls_auth_only
smtpd_tls_auth_only = yes
Тогда для smtpd_tls_security_level
установлено значение ]шифровать
.
# postconf smtpd_tls_security_level
smtpd_tls_security_level = encrypt
Это привело к тому, что ваш порт 25 никогда не предлагал STARTTLS, и прекрасно объясняет, почему следующее тестовое упражнение TLS показывает, что шифрование не предлагается:
# openssl s_client -connect $YOUR_SMTP_SERVER:25 -starttls smtp -CApath /etc/ssl/certs
CONNECTED(00000003)
write:errno=104
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 230 bytes and written 334 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
Вы все еще можете использовать свой порт 25, который предлагает только эту опцию шифрования
. (из которых вы его установили), но тогда вы радикально изменили бы характер порта 25, с которым могла бы взаимодействовать остальная часть Интернета.
Это означает, что ваш сервер никогда не сможет использоваться в глуши Интернета.
Чтобы исправить это, вы должны установить следующее в /etc/postfix/main.cf
:
# smtpd_tls_security_level (empty)
# The SMTP TLS security level for the Postfix SMTP server; when a
# non-empty value is specified, this overrides the obsolete param-
# eters smtpd_use_tls and smtpd_enforce_tls.
# Specify one of the following security levels:
#
# none
# TLS will not be used.
# may
# Opportunistic TLS: announce STARTTLS support
# to remote SMTP clients, but do not require that
# clients use TLS encryption.
# encrypt
# Mandatory TLS encryption: announce STARTTLS
# support to remote SMTP clients, and require
# that clients use TLS encryption. According to
# RFC 2487 this MUST NOT be applied in case of
# a publicly-referenced SMTP server. Instead,
# this option should be used only on dedicated
# servers.
#
# Note 1: the "fingerprint", "verify" and "secure" levels
# are not supported here. The Postfix SMTP server logs a
# warning and uses "encrypt" instead. To verify remote
# SMTP client certificates, see TLS_README for a
# discussion of the smtpd_tls_ask_ccert,
# smtpd_tls_req_ccert, and permit_tls_clientcerts
# features.
#
# Note 2: The parameter setting
# "smtpd_tls_security_level = encrypt" implies
# "smtpd_tls_auth_only = yes".
#
# Note 3: when invoked via "sendmail -bs", Postfix will
# never offer STARTTLS due to insufficient privileges to
# access the server private key. This is intended behavior.
smtpd_tls_security_level = may
Короче говоря, настройка шифровать
используется практически только для определенных почтовых ретрансляторов. и хост почтового бастиона в вашей частной сети. Измените его на май
.