web-dev-qa-db-ja.com

postfixはTLS / SSL経由でターゲットサーバーと通信できません

mypostfixサーバーをTLSで接続できます。すべてが設定されています。しかし、この安全な接続でメッセージを送信すると、ターゲットサーバー(Gmailなど)はTLS/SSLの安全な接続なしでメッセージを受信します。

Cpanelを備えた別のサーバーを使用している場合、GmailはESMTP[〜#〜] s [〜#〜]でそのメッセージを受信します。しかし、Gmailアカウントにメッセージを送信すると、ESMTPで受信されました(TLS接続ではありません)。

心から、私は私のPostfixサーバーがSSL/TLS暗号化接続を介してターゲットとネゴシエートしないことを発見しました。

http://www.checktls.com レポートメールは送信されましたが、TLSを使用して安全に送信されませんでした

しかし、なぜTLS経由でサーバーに接続できるのに、サーバーが安全な接続経由でサーバーを送信できないのですか?

設定ファイルは次のとおりです。

main.cf

myhostname =  **hidden**
myorigin = /etc/mailname
mynetworks_style = Host
mydestination = domains here...
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
mailbox_size_limit = 0
message_size_limit = 104857600


mailbox_transport = lmtp:unix:private/dovecot-lmtp
virtual_transport = lmtp:unix:private/dovecot-lmtp

smtpd_tls_cert_file = /etc/ssl/certs/postfix.pem
smtpd_tls_key_file = /etc/ssl/private/postfix.pem

smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_security_level=encrypt
smtpd_tls_protocols = !SSLv2, !SSLv3
smtp_dns_support_level = enabled
smtp_tls_loglevel = 1

smtpd_sasl_type = dovecot

smtpd_sasl_path = private/auth

# and the common settings to enable SASL:
smtpd_sasl_auth_enable = yes
# With Postfix version before 2.10, use smtpd_recipient_restrictions
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_recipient_restrictions = permit_mynetworks permit_inet_interfaces

append_dot_mydomain = no
readme_directory = no



smtpd_milters           = inet:127.0.0.1:8891
non_smtpd_milters       = $smtpd_milters
milter_default_action   = accept
milter_protocol     = 2

canonical_classes = header_recipient

master.cf

smtp      inet  n       -       -       -       -       smtpd
#submission inet n       -       -       -       -       smtpd
#  -o cleanup_service_name=subcleanup
#  -o smtpd_tls_security_level=encrypt
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
submission inet n      -       n       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_wrappermode=yes
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING
  -o smtpd_sasl_type=dovecot
  -o smtpd_sasl_path=private/auth
smtps     inet  n       -       -       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_wrappermode=yes
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING
  -o smtpd_sasl_type=dovecot
  -o smtpd_sasl_path=private/auth
1
xangr

有効にする 便宜的なTLSサポート つまり、リモートサーバーがTLSをサポートしていると識別した場合はTLSを使用してメッセージを送信しますが、リモートサーバーがサポートしていない場合は平文でメッセージを送信します。

# main.cf
smtp_tls_security_level = may

設定でsmtpd_tls_security_level=encryptを有効にしました(1文字の違いのみ)。これは、SMTPを介した受信メールトラフィックのみを対象とし、送信メールは対象としません。

6
HBruijn