私は、Ubuntuで実行するPostfixサーバーの設定を任されています。メールは私のリレーを介して送信されており、TLSをGmailや他のメールクライアントで動作させることができないようだという事実を除いて、すべて順調に見えます。たとえば、main.cfファイルのTLS出力を参照してください。
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/company.com.crt
smtpd_tls_key_file=/etc/ssl/private/company.com.key
smtpd_tls_CAfile=/etc/ssl/certs/Gd_bundle.crt
smtp_tls_CApath=/etc/ssl/certs
smtpd_use_tls=yes
smtpd_tls_auth_only=yes
smtpd_tls_security_level=may
smtp_tls_security_level=may
smtp_tls_loglevel=1
smtpd_tls_loglevel=1
smtp_tls_note_starttls_offer=yes
smtpd_tls_session_cache_database=btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database=btree:${data_directory}/smtp_scache
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
STARTTLSを確認するために、Telnetを介して以下を実行しました。
Connected to localhost.
Escape character is '^]'.
220 prod-email.company.local ESMTP Postfix (Ubuntu)
EHLO localhost
250-prod-email.company.local
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250 SMTPUTF8
STARTTLS
220 2.0.0 Ready to start TLS
ログに他の多くのリレー/交換サーバーへの接続を確立するTLSも表示されます(これらの例以外にも多数あります)。
Nov 2 11:08:58 prod-email postfix/smtp[7864]: Trusted TLS connection established to mx2-us1.ppe-hosted.com[67.231.154.163]:25: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)
Nov 2 11:22:23 prod-email postfix/smtp[8672]: Trusted TLS connection established to mail.relaissanmaurizio.it[194.209.228.112]:25: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)
Nov 2 11:22:25 prod-email postfix/smtp[8689]: Trusted TLS connection established to mail.relaissanmaurizio.it[194.209.228.112]:25: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)
Nov 2 11:31:06 prod-email postfix/smtp[8676]: Trusted TLS connection established to mx1-us1.ppe-hosted.com[148.163.129.50]:25: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)
Nov 2 11:51:13 prod-email postfix/smtp[9165]: Trusted TLS connection established to mail.relaissanmaurizio.it[194.209.228.112]:25: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)
Nov 2 11:51:15 prod-email postfix/smtp[9229]: Trusted TLS connection established to mail.relaissanmaurizio.it[194.209.228.112]:25: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)
特定の顧客の/var/log/mail.logにこれらの奇妙なログも表示されます。
454 4.7.0 Connection is not TLS encrypted. Recipient organization requires TLS.
送信メールで使用するTLSを提供しているように見える場合、これはどのようにして可能ですか?少なくとも、上記のログ(TLS接続の確立)によると、このように見えます。
私の質問は、Gmailのサーバーまたは上記の例のサーバーでこれらのTLS接続が確立されていないのはなぜですか?この中継サーバーを介して送信された受信したGmailに、暗号化されていないことを示す小さな赤い南京錠が引き続き表示されます。また、接続がTLS暗号化されていないというメッセージが表示されているため、一部のメールが遅延しています。
TLSが正しく機能していること、およびすべての送信メールがTLSで暗号化されており、TLSプロトコルを受け入れるメールに送信されていることを確認するにはどうすればよいですか?
だれの助けも大歓迎です。
宜しくお願いします
編集:
openssl s_client -connect localhost:25 -starttls smtp
STARTTLS
554 5.5.1 Error: TLS already active
証明書に関するエラーは発生しません。
GmailとOutlookのメールヘッダーにもTLS暗号化は表示されません。
私は途方に暮れています...
更新:使用中の証明書を更新してこれを機能させようとしたところ(ワイルドカード証明書は12月に期限切れになります)、TLSはまだ適切に機能していません。助けてください。
更新:GmailにTLSを強制しようとしたところ、次のエラーが発生しました:
TLS is required, but was not offered by Host alt1.gmail-smtp-in.l.google.com[74.125.192.27]
GoogleがTLSを提供しないのはなぜですか?私は混乱しています...
ファイアウォールの後ろに座っていますか?
その場合は、ESMTP検査ルールを使用しているかどうかを確認してください。このルールをglobal_policyから削除すると役立つ場合があります。
私はあなたのPostfix構成を動作中の構成と比較しましたが、あなたの構成にsmtp_use_tls = yes
がないことに気付きました。
this postfix mailing list post によると、smtp_ *エントリはsenderとしてSMTPサーバーに適用され、エントリはsmtpd_ *recipientとしてSMTPサーバーに適用されます。あなたの問題は、senderとしてのSMTPサーバーに限定されているようです。
私は このPostfixドキュメント も見つけました。これは、smtp_use_tls
がデフォルトで「いいえ」に設定されていることを示しています。
だから私はsmtp_use_tls = yes
を設定することをお勧めし、それが何かを行うかどうかを確認します。そうでない場合は、おそらく他のsmtp_ *設定が問題である可能性があります。
編集:Postfixの新しいバージョンでは、smtp_use_tls
をsmtp_tls_security_level
でオーバーライドする必要があります。 Postfixのバージョンについて言及しなかったようですが、これはおそらくそれが2.3より古い場合にのみ役立つでしょう。
CiscoファイアウォールのグローバルポリシーからESMTPを削除すると、修正されました。 ESMTPは、シスコのファイアウォールでデフォルトで有効になっています。