最新のブラウザに照らして 段階的廃止 SHA1ハッシュアルゴリズムを使用して署名されたセキュリティ証明書は、すべてのSHA1証明書をSHA2に置き換えるのに忙しくしています。一般的に、これらの主に社内で使用するWebアプリの証明書は、トラフィックがほとんどまたはまったくない夕方または週末に簡単に置き換えることができます。
知らないうちに暗号化されたセッションの途中でドメインの証明書が置き換えられた場合、どうなりますか?
安全のために、この変更中にセッション中のユーザーがセッションを中断し、データベースにまだ保存されていないデータが失われる可能性があると想定できることをクライアントにアドバイスしました。証明書の交換中にセッション中だった場合、次のページをロードしたときに、証明書の交換後、ブラウザでセッションが確立されたものとは異なる署名済み証明書が表示され、セッションが「 」すべてのブラウザが同様の方法でこの状況に対処することを期待しますが、間違っている場合は教えてください。
ブラウザーがこのシナリオをどのように処理するかについて、より詳細な情報を検索するのにかなりの時間を費やしましたが、一般的な情報や技術情報を見つけることはあまりできませんでした。私は本当に興味があり、検証するための信頼できる情報源を参照して、Qに簡潔に答える答えを得ることを期待してこの質問を投稿することにしました。
...私のブラウザは私のセッションが確立されたものとは異なる署名された証明書を見て、セッションを「フリークアウト」させます。
ウェブマスターの観点から、「SSLの仕組み」の詳細に入らずに(これは Information Security =)...
セッションキーが一致しなくなるため、サーバーまたはクライアントのブラウザーが接続を中止します。クライアントブラウザーは、受信されていない次のページのリソースに対して別の要求を行い、新しい接続を開き、SSLハンドシェイク、証明書、キー交換、およびセッションキーを再確立します(簡単に説明します) ここ )。
新しいSSL証明書は同じドメインに発行されるため、証明書のみが変更される(つまり、緑色のロックが引き続き表示される)ため、ユーザーは特に気付かないでしょう。同じサイト。
ただし、新しいSSL証明書をインストールするときは、サーバーを構成して再起動する必要があるため、セッションは閉じられますが、ブラウザーは受信されませんanything...
したがって、 2リダイレクト を使用してすべてのトラフィックを一時的に「メンテナンス」ページにリダイレクトし、サイトに事前に通知を送信して、メンテナンスが発生する時間とその期間を示すことをお勧めしますサイトは利用できなくなります。
リダイレクトの代替手段は、サーバーが再び利用可能になるタイミングを示す 503 Service Unavailable HTTPサーバー応答コードとa - Retry-After HTTPヘッダー応答フィールドを送信することです。
最後になりますが、サイトのフロントエンドに複数のサーバーがある場合、証明書を別のサーバーにインストールし、他のサーバーを更新するときに新しい接続をリダイレクトできます。 Apache here およびIIS here で既存の接続を確認して、フェイルセーフまたはロードをまだ使用していない場合にそれを支援できます。 -バランシング設定。