外部へのリクエストが TLS 証明書を検証するようになりました
- サイトが外部へ送る HTTPS リクエスト(スキン配信元、IP の所在地、SMS ゲートウェイ、メールサーバー、QQ ログイン、管理画面のテストボタン)は、これまで証明書の検証を切ったまま送られていました。経路上の誰でも自己署名証明書で相手になりすまし、リクエストを丸ごと横取りできたということです。現在はすべて適切に検証され、サイトに同梱したルート証明書バンドル(Mozilla のもの、121 個のルート証明書)と照合されます。
- 最も重要だったのはメール接続です。検証を切っていると、経路上の誰かがメールボックスのパスワードとすべてのメッセージ本文をまとめて手に入れられました。126 メールボックスの証明書は正常なので、送信は影響を受けません。
- 代償もあります。相手の証明書が本当に壊れている場合、リクエストは黙って接続するのではなく、エラーで失敗するようになりました。管理画面のテストボタンは、このケースを「証明書の検証に失敗」として個別に表示します。ルート証明書バンドルが万一見つからなくなっても、検証なしへ戻ることはなく、より明確に失敗するだけです。
- ついでに古い不具合も直しました。更新履歴の v1.9.6 と mod 1.6.0 の見出しがずっと「title」と表示されていました —— 本文しか用意しておらず、ページは見出しを無条件に描画するため、キーが無いとキー名の最後の部分にフォールバックしていたためです。見出しを追加しました