- blogs:
- cles::blog

qmail-tlsでhandshake failureになるときは


サーバで"yum update"を実行したら、(たぶん)opensslがアップデートされた副作用でqmailのSSL/TLS接続ができなくなってしまったのでトラブルシュートしてみました。
手始めにopensslを使ってsmtpサーバに接続するとhandshake failureで接続できず。普通のSSLを使っていない場合には普通に接続できるのでSSL関連の障害であることは間違いがないようです。
とりあえず、SSLのエラーが起きていることは分かりましたがこれだけでは何の手がかりにもならないので、プロトコルを変更してて色々試してみたところ、SSLv2に固定したときにエラーがno cipher listに変化することがわかりました。
Cipherに関する設定項目はqmail-smtpd.cとqmail-remote.cのソースを眺める限り、control/tlsserverciphers、control/tlsclientciphersしかありません。これまではファイルがなくてもうまく動いていたので気にしていませんでしたが、ひとまずこのファイルを作成してみることに。
ファイルの中身をどうしたらよいのか分からなかったので、OpenSSLのAPIをいろいろと調べてみると、httpd.confの設定と同じようにCipherを列挙すれば良いようなので、設定ファイルを以下のように作ってみました。
この状態で、再度opensslで接続をしてみると、こんな感じでうまく接続できてしまいました。
プログラムを見る限り、ファイルが存在しないときはDEFAULTが設定されるはずなので本来はこのような作業は必要ないはずのなのですが・・・・・・なぜうまく行くようになったのかはちょっと腑に落ないところは残りますが、復旧したのでひとまず完了です。
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/2997
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(112060)
3 . 年次の人間ドックへ(111563)
4 . 2023 年分の確定申告完了!(1つめ)(111152)
5 . 三菱鉛筆がラミーを買収(111039)