Debian オレオレ証明書の更新

Niftyを使ってる知人からのメーリングリストへの投稿が半日以上も遅れて配信されるという不可解な事象が発生。調べてみると、知人がNiftyからメールを送信した時刻から、実際にmailmanがメールを受け取った時刻までの間、NiftyのメールサーバーがSMTP接続時にSTARTTLSを試みて断念するというエラーがずっと記録されていた。

postfixの設定を見ると、知らないうちにTLSが有効化されて謎の/etc/ssl/certs/ssl-cert-snakeoil.pemなる公開鍵なんかを使うように設定されている。調べてみると、これはSSL関連のパッケージをインストールした時にデフォルトで作成されるオレオレ証明書らしい。なので、サーバー間通信の暗号化だけならデフォルトからpostfixは対応してるわけだ。ところがよくよく調べてみると、このオレオレ証明書は最初のインストール時に作成されてしまうのでFQDNが設定される前に作られることになる。結果、FQDNと照合して合ってないと文句を言って拒否する厳格な相手とは逆に通信できないのだとか。Niftyが鍵照合でハンドシェイクに失敗してるのももしかしたらこれかもしれない。

というわけで、FQDNが設定された状態でオレオレ証明書を作り直しておくことにする。まずはFQDNが設定されてるかを確認。

hostname -f

問題なければsnakeoil証明書を強制的に再作成させる。

sudo make-ssl-cert generate-default-snakeoil –force-overwrite

これでデフォルトの証明書が強制的に上書きされる。これで少なくともFQDNと合ってないと拒否されることはないだろう。

「Debian オレオレ証明書の更新」への1件のフィードバック

  1. やっとNiftyからSMTP接続される機会があって、状況が改善されて何度もエラーを吐かずにちゃんと一回の接続でSMTP接続されていることを確認。ただ、Niftyからの最初のハンドシェイクでSSLがno shared cipherのwarningを出しているのをログに発見。これ自体は、オレオレ証明書にはNiftyが信用するルート証明局の署名が存在しないから共通の暗号鍵がないと言われるのはしょうがないんだが、このwarningの後、実際にNiftyからメールの内容が送られてくるまで5分間故意に遅延させているように見える。Niftyはとことん野良サーバーが嫌いらしい。とはいえ、正規の証明書を取るつもりもないので、Niftyにぶら下がってるユーザーは5光分先の宇宙に住んでいるんだと思うことにする。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください