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と合ってないと拒否されることはないだろう。