web-dev-qa-db-ja.com

Postfix:SSLv2 / v3でのSSL_accept:error読み取りクライアントhello A

数週間前、最新のソフトウェアを使用して新しいサーバーに移動した後、ログに次の行があることに気付きました(これにより、非推奨のSSL/TLSバージョンを最終的に無効にすることができました)。

Apr 18 13:31:24 myhostname postfix/smtpd[1641]: connect from relay2.uni-heidelberg.de[129.206.119.212]
Apr 18 13:31:25 myhostname postfix/smtpd[1641]: setting up TLS connection from relay2.uni-heidelberg.de[129.206.119.212]
Apr 18 13:31:25 myhostname postfix/smtpd[1641]: relay2.uni-heidelberg.de[129.206.119.212]: TLS cipher list "AES128+EECDH:AES128+EDH"
Apr 18 13:31:25 myhostname postfix/smtpd[1641]: SSL_accept:before/accept initialization
Apr 18 13:31:25 myhostname postfix/smtpd[1641]: SSL_accept:error in SSLv2/v3 read client hello A
Apr 18 13:31:25 myhostname postfix/smtpd[1641]: SSL_accept error from relay2.uni-heidelberg.de[129.206.119.212]: -1
Apr 18 13:31:25 myhostname postfix/smtpd[1641]: warning: TLS library problem: error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol:s23_srvr.c:650:
Apr 18 13:31:25 myhostname postfix/smtpd[1641]: lost connection after STARTTLS from relay2.uni-heidelberg.de[129.206.119.212]
Apr 18 13:31:25 myhostname postfix/smtpd[1641]: disconnect from relay2.uni-heidelberg.de[129.206.119.212]

それ以来、これらの行は繰り返され続けています。ただし、他のメールサーバー(Gmailなど)からのメールが届いているため、この問題はこの特定のクライアントに限定されているようです。しかし、今日、AmazonとFacebookのメールサーバーが接続したときに、同様のログメッセージに気づきました。 (ただし、興味深いことに、それらはすぐに再接続し、場合によっては別のホストから再接続しますが、その後は正常に機能します。)

これらの問題を修正したり、メールを配信したりするために何かできることはありますか?

Postfix2.11.3を実行しています。

$ postconf -nの出力:

append_dot_mydomain = no
biff = no
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
default_process_limit = 5
dovecot_destination_recipient_limit = 1
enable_original_recipient = yes
header_checks = regexp:/etc/postfix/header_checks
home_mailbox = Maildir/
inet_interfaces = all
mailbox_command = /usr/lib/dovecot/deliver -m "${EXTENSION}"
mailbox_size_limit = 0
message_size_limit = 52428800
mydestination = *****, localhost
myhostname = *****
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
queue_minfree = 0
readme_directory = no
recipient_delimiter = +
relayhost =
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_tls_loglevel = 2
smtp_tls_policy_maps = hash:/etc/postfix/tls_policy
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name
smtpd_client_restrictions = reject_unknown_client_hostname
smtpd_recipient_restrictions = reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_policy_service inet:localhost:10023
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sender_restrictions = reject_unknown_sender_domain
smtpd_tls_auth_only = yes
smtpd_tls_cert_file = ******
smtpd_tls_ciphers = medium
smtpd_tls_eecdh_grade = strong
smtpd_tls_key_file = ******
smtpd_tls_loglevel = 2
smtpd_tls_mandatory_ciphers = medium
smtpd_tls_mandatory_protocols = !SSLv2,!SSLv3,!TLSv1,!TLSv1.1
smtpd_tls_protocols = !SSLv2,!SSLv3,!TLSv1,!TLSv1.1
smtpd_tls_received_header = yes
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
tls_medium_cipherlist = AES128+EECDH:AES128+EDH
tls_preempt_cipherlist = yes
tls_random_source = dev:/dev/urandom
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf, mysql:/etc/postfix/mysql_virtual_alias_domainaliases_maps.cf
virtual_gid_maps = static:994
virtual_mailbox_base = /var/vmail
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_limit = 1073741824
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf, mysql:/etc/postfix/mysql_virtual_mailbox_domainaliases_maps.cf
virtual_transport = dovecot
virtual_uid_maps = static:994
3
balu
smtpd_tls_mandatory_protocols = !SSLv2,!SSLv3,!TLSv1,!TLSv1.1
smtpd_tls_protocols = !SSLv2,!SSLv3,!TLSv1,!TLSv1.1
...
tls_medium_cipherlist = AES128+EECDH:AES128+EDH

プロトコルをTLS 1.2のみに制限することにより、過度に制限された設定があります。メールサーバーの大部分は、TLSライブラリとしてOpenSSLを使用する何らかのUNIXを使用しています。 TLS 1.2のサポートは、約4年前にリリースされたバージョン1.0.1でのみ追加されました。これは、古いバージョンのOpenSSLを使用しているサーバーが多数あり、TLSを使用したサーバーへの接続に失敗しないことを意味します。ピアサーバーのセットアップとソフトウェアに応じて、これは、システムへのメール配信が永続的に失敗するか、TLSなしで再試行されることを意味します。

したがって、メール転送の場合は、制限を緩和し、少なくともTLS 1.0、場合によってはSSL 3.0を受け入れる必要があります。これは、ほとんどの場合、暗号化が不十分な場合は暗号化がない場合や配信がない場合よりも優れているためです。同じことが暗号セットにも当てはまります。より強力な暗号を優先することは問題ありませんが、DH以外の暗号と、DES-CBC3-SHAのような十分に強力な暗号を暗号セットに含める必要があります。

3
Steffen Ullrich

https://cipherli.st/ にあるような推奨TLSセキュリティ設定で強力な暗号を使用するようにPostfixを構成しました

セキュリティ設定で2つの強力な暗号のみを受け入れることによってsmtpd_tls_mandatory_ciphers = mediumおよびtls_medium_cipherlist = AES128+EECDH:AES128+EDHそして、互換性よりもセキュリティをトレードオフしたTLS1.2のみを許可します。

relay2.uni-heidelberg.deは、暗号化された接続をネゴシエートして切り替えますが、適切な暗号をネゴシエートできません。そして、設定は smtpd_tls_security_level = may 暗号化されていないクリアテキスト接続へのフォールバックをサーバーに許可します。relay2はフォールバックする意思がないようです。

いくつかの弱い暗号もサポートする必要があるか、relay2をアップグレードして最新の強い暗号をサポートする必要があります。

1
HBruijn

メールクライアントアプリケーションが原因の場合もあります。たとえば、Outlookでは、送信SMTPサーバーの設定で、暗号化をAutoからSSLに明示的に設定する必要があります。それが役に立てば幸い

0
Padiamon