sendmailがハンドシェイクの失敗で一部の接続を拒否:SSLアラート番号40


8

CentOS 5上の私のsendmailサーバーは、次のメッセージがログに記録され、一部の接続を拒否し始めました。

error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1092:SSL alert number 40

CentOS 6サーバーからopensslを使用して接続しようとすると、次のエラーが発生します。

$ openssl s_client -starttls smtp -crlf -connect hostname.example.net:smtp
(...)
error:14082174:SSL routines:SSL3_CHECK_CERT_AND_ALGORITHM:dh key too small:s3_clnt.c:3331
(...)
Server Temp Key: DH, 512 bits
(...)

CentOS 6サーバー上のメールは、で一時的に拒否されDeferred: 403 4.7.0 TLS handshake failedます。

CentOS 6 / RHEL 6からCentOS6 / RHEL5サーバーにメールを送信できるようにするにはどうすればよいですか?

回答:


10

これは、CentOS 6でopensslを最近更新した後、openssl-1.0.1e-30.el6.11.x86_64このライブラリを使用するプログラムがLogjam TLS脆弱性に対して脆弱なサーバーへの接続を拒否し始めたためです。

より強力な一時Diffie–Hellmanキー(少なくとも1024ビット)を使用するようにsendmailを構成する必要があります。これはTLS証明書で使用するのと同じキーではないため、証明書が2048ビットのキーを使用している場合でも、脆弱な可能性があります。

サーバーにDHパラメータファイルを生成します。

openssl dhparam -out /etc/pki/tls/certs/dhparams.pem 1024

このパラメーターファイルを使用し、強力な暗号のみを使用するようにsendmailを構成します。追加/etc/mail/sendmail.mc

LOCAL_CONFIG
O CipherList=HIGH:!ADH
O DHParameters=/etc/pki/tls/certs/dhparams.pem
O ServerSSLOptions=+SSL_OP_NO_SSLv2 +SSL_OP_NO_SSLv3 +SSL_OP_CIPHER_SERVER_PREFERENCE
O ClientSSLOptions=+SSL_OP_NO_SSLv2 +SSL_OP_NO_SSLv3

次にとを使用make -C /etc/mail/service sendmail restartます。


+1 from me-素晴らしい作品であり、命の恩人です。ありがとう!
MadHatter、2015年

説明のために、この変更が必要なのは送信サーバーか受信サーバーですか?または両方?
Joe

1
@ジョー受信側。RHEL5 / CentOS5用の新しいopensslパッケージがリリースされている(openssl-0.9.8e-36.el5_11)ため、この問題が修正された可能性があるため、それがまだ厳密に必要かどうかはわかりません。それでもなおお勧めです。
トメツキー2015

1024ビットのDHパラメータがずっと安全であるとは思いません。今すぐ2048ビットパラメータの使用を開始してください。
マイケルハンプトン

サーバーを修正できますが、s_clientをSTFUにして接続するにはどうすればよいですか?
リッキービーム

0

はい、動作します:-)

私のエラーは少し異なっていましたが、解決策は同じです:

SSL routines:SSL3_READ_BYTES:sslv3 alert illegal parameter:s3_pkt.c:1060:SSL alert number 47

サーバーの一時キーを生成します:DHファイル(構成に何もありません。デフォルトは512ビットです)

openssl dhparam -out /etc/mail/certs/dhparams.pem 2048

(非常に長い時間がかかります;-)

そして、私はsendmail.cfに行を入れました

O DHParameters=/etc/mail/certs/dhparams.pem

再起動後、sendmailはメールの送信を再開します:-)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.