postfix - メール受信時の TLS/SSL エラー

postfix - メール受信時の TLS/SSL エラー

Gmailからのメールは受信できますが、他のサーバーから私のサーバーにメールを送信しようとすると拒否されます。

以下は認証を取得しようとしたときのログですスタートコムまた、前日には他のサーバーが私に何かを送信しようとしていました。

Oct 11 05:26:54 snw postfix/smtpd[2342]: connect from 118-161-77-187.dynamic.hinet.net[118.161.77.187]
Oct 11 05:26:55 snw postfix/smtpd[2342]: NOQUEUE: reject: RCPT from 118-161-77-187.dynamic.hinet.net[118.161.77.187]: 454 4.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=SMTP helo=<159.8.48.206>
Oct 11 05:26:56 snw postfix/smtpd[2342]: lost connection after RCPT from 118-161-77-187.dynamic.hinet.net[118.161.77.187]
Oct 11 05:26:56 snw postfix/smtpd[2342]: disconnect from 118-161-77-187.dynamic.hinet.net[118.161.77.187]
Oct 11 05:30:16 snw postfix/anvil[2344]: statistics: max connection rate 1/60s for (smtp:118.161.77.187) at Oct 11 05:26:54
Oct 11 05:30:16 snw postfix/anvil[2344]: statistics: max connection count 1 for (smtp:118.161.77.187) at Oct 11 05:26:54
Oct 11 05:30:16 snw postfix/anvil[2344]: statistics: max cache size 1 at Oct 11 05:26:54
Oct 11 12:31:05 snw postfix/smtpd[2613]: connect from 118-161-77-187.dynamic.hinet.net[118.161.77.187]
Oct 11 12:31:06 snw postfix/smtpd[2613]: NOQUEUE: reject: RCPT from 118-161-77-187.dynamic.hinet.net[118.161.77.187]: 454 4.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=SMTP helo=<159.8.48.206>
Oct 11 12:31:07 snw postfix/smtpd[2613]: lost connection after RCPT from 118-161-77-187.dynamic.hinet.net[118.161.77.187]
Oct 11 12:31:07 snw postfix/smtpd[2613]: disconnect from 118-161-77-187.dynamic.hinet.net[118.161.77.187]
Oct 11 12:34:27 snw postfix/anvil[2615]: statistics: max connection rate 1/60s for (smtp:118.161.77.187) at Oct 11 12:31:05
Oct 11 12:34:27 snw postfix/anvil[2615]: statistics: max connection count 1 for (smtp:118.161.77.187) at Oct 11 12:31:05
Oct 11 12:34:27 snw postfix/anvil[2615]: statistics: max cache size 1 at Oct 11 12:31:05
Oct 11 13:45:07 snw dovecot: imap-login: Disconnected (no auth attempts in 1 secs): user=<>, rip=141.212.122.112, lip=159.8.48.206, TLS: Disconnected, session=<pGIDxtch6QCN1Hpw>
Oct 11 23:42:31 snw postfix/smtpd[3020]: connect from 118-161-77-187.dynamic.hinet.net[118.161.77.187]
Oct 11 23:42:32 snw postfix/smtpd[3020]: NOQUEUE: reject: RCPT from 118-161-77-187.dynamic.hinet.net[118.161.77.187]: 454 4.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=SMTP helo=<159.8.48.206>
Oct 11 23:42:33 snw postfix/smtpd[3020]: lost connection after RCPT from 118-161-77-187.dynamic.hinet.net[118.161.77.187]
Oct 11 23:42:33 snw postfix/smtpd[3020]: disconnect from 118-161-77-187.dynamic.hinet.net[118.161.77.187]
Oct 11 23:45:53 snw postfix/anvil[3022]: statistics: max connection rate 1/60s for (smtp:118.161.77.187) at Oct 11 23:42:31
Oct 11 23:45:53 snw postfix/anvil[3022]: statistics: max connection count 1 for (smtp:118.161.77.187) at Oct 11 23:42:31
Oct 11 23:45:53 snw postfix/anvil[3022]: statistics: max cache size 1 at Oct 11 23:42:31
Oct 12 17:28:53 snw postfix/smtpd[3682]: connect from gateway.startcom.org[212.117.158.94]
Oct 12 17:28:55 snw postfix/smtpd[3682]: 12EE9DA2954: client=gateway.startcom.org[212.117.158.94]
Oct 12 17:28:55 snw postfix/smtpd[3682]: lost connection after RCPT from gateway.startcom.org[212.117.158.94]
Oct 12 17:28:55 snw postfix/smtpd[3682]: disconnect from gateway.startcom.org[212.117.158.94]
Oct 12 17:29:01 snw postfix/smtpd[3682]: connect from apache-7.startcom.org[192.116.242.7]
Oct 12 17:29:01 snw postfix/smtpd[3682]: SSL_accept error from apache-7.startcom.org[192.116.242.7]: -1
Oct 12 17:29:01 snw postfix/smtpd[3682]: warning: TLS library problem: 3682:error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol:s23_srvr.c:647:
Oct 12 17:29:01 snw postfix/smtpd[3682]: lost connection after STARTTLS from apache-7.startcom.org[192.116.242.7]
Oct 12 17:29:01 snw postfix/smtpd[3682]: disconnect from apache-7.startcom.org[192.116.242.7]

Gmailを使ってサーバーに送信したときのログは次のとおりです。

Oct 12 17:58:05 snw postfix/smtpd[3968]: connect from mail-io0-f174.google.com[209.85.223.174]
Oct 12 17:58:05 snw postfix/smtpd[3968]: E3E54DA0A51: client=mail-io0-f174.google.com[209.85.223.174]
Oct 12 17:58:06 snw postfix/cleanup[3977]: E3E54DA0A51: message-id=<CADZik+Vnys--dh_dhOqTSE2ZePWZiBKVp9-EqnYAyJRfk+hQGA@mail.gmail.com>
Oct 12 17:58:06 snw postfix/qmgr[5644]: E3E54DA0A51: from=<[email protected]>, size=1931, nrcpt=1 (queue active)
Oct 12 17:58:06 snw postfix/smtpd[3968]: disconnect from mail-io0-f174.google.com[209.85.223.174]
Oct 12 17:58:06 snw postfix/pipe[3980]: E3E54DA0A51: to=<[email protected]>, relay=dovecot, delay=0.77, delays=0.38/0.1/0/0.29, dsn=2.0.0, status=sent (delivered via dovecot service)
Oct 12 17:58:06 snw postfix/qmgr[5644]: E3E54DA0A51: removed

私が使う:

  • IMAP クライアントとしての Roundcube (おそらく無関係)
  • MySQL 上の仮想ユーザーによる認証のための Dovecot
  • メールソフトウェアとしてのPostfix(postconf出力ここ

これは私のサーバーがSSL/TLS認証を制限していることと関係があるのではないかと思うのですが、ほとんど何でも受け入れるようにサーバーを構成するにはどうすればいいでしょうか。

答え1

問題は次のログ行に明らかです:

Oct 12 17:29:01 snw postfix/smtpd[3682]: SSL_accept error from apache-7.startcom.org[192.116.242.7]: -1
Oct 12 17:29:01 snw postfix/smtpd[3682]: warning: TLS library problem: 3682:error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol:s23_srvr.c:647:

apache7-startcom.org は SSL/TLS 接続をセットアップしようとしましたが、サーバーが受け入れない SSL/TLS プロトコルを話そうとしたために失敗しました。

postconf -nデフォルトと異なる構成パラメータのみが表示されるように、出力を投稿する必要があります。postconf出力にはノイズが多すぎて、あまり役に立ちません。

そうは言っても713行目あなたのpostconfgist では、TLSv1.2 を除くすべての TLS プロトコルを禁止しているようです。これは非常に制限的であり、受信メールを受け入れる必要があるメール サーバーにとってはおそらく厳しすぎます。関連する TLS 構成パラメータを次のように設定します。

smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3
smtp_tls_mandatory_protocols=!SSLv2,!SSLv3

この方法では、壊れていて安全でない SSLv2 と SSLv3 を無効にし、TLSv1、TLSv1.1、TLSv1.2 を利用できるようにしておきます。 でこれらのパラメータを追加または変更した後は、Postfix を再起動してください/etc/postfix/main.cf

答え2

Gmail を postfix サーバーに接続したときにもまったく同じ状況が発生し、同じエラー メッセージが表示されました。証明書とキーの権限と SELinux コンテキストが正しくないことが判明しました。

私の場合は、証明書をサーバーに取得するために sftp put を実行し、証明書を含むディレクトリ全体を最終的な場所にコピーしました。

restorecon -rv [directory]

ディレクトリを別の場所から移動した場合 (または -Z フラグを使用した場合)、正しい SELinux コンテキストを復元します。

権限と所有権 (root:root & 640) を修正するときは、ディレクトリ内のファイルだけでなく、ディレクトリ全体に対して再帰的に修正するようにしてください。

/etc/postfix/main.cfg (関連部分のみ)

smtp_tls_security_level = may
smtpd_tls_security_level = may
smtp_tls_note_starttls_offer = yes

#Do not forget that the directory and contents have to be owned by root
smtpd_tls_cert_file = /etc/letsencrypt/live/mydomain.com-0001/fullchain7.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mydomain.com-0001/privkey7.pem

関連情報