it-swarm.com.de

Was passiert mit dem Browser eines Benutzers, wenn ein SSL-Zertifikat während der Sitzung ersetzt wird?

Angesichts der modernen Browser Auslaufen Sicherheitszertifikate, die mit dem SHA1-Hash-Algorithmus signiert wurden, ersetzen wir derzeit alle unsere SHA1-Zertifikate durch SHA2. Generell könnten wir die Zertifikate für diese hauptsächlich für den internen Gebrauch bestimmten Web-Apps abends oder am Wochenende ersetzen, wenn nur wenig bis gar kein Verkehr vorhanden war.

Was würde passieren, wenn ich mich unwissentlich mitten in einer verschlüsselten Sitzung befände und das Zertifikat für die Domain ersetzt wurde?

Um auf der sicheren Seite zu sein, haben wir unsere Kunden darauf hingewiesen, dass sie davon ausgehen können, dass Benutzer während dieser Änderung mitten in der Sitzung eine Unterbrechung ihrer Sitzung sehen und möglicherweise Daten verlieren, die noch nicht in der Datenbank gespeichert sind. Wenn ich mich während eines Zertifikatsaustauschs in der Mitte der Sitzung befand, könnte ich davon ausgehen, dass mein Browser beim Laden der nächsten Seite nach dem Austauschen des Zertifikats ein anderes signiertes Zertifikat als das sieht, mit dem meine Sitzung eingerichtet wurde, und veranlasst die Sitzung zu " ausrasten". Ich würde erwarten, dass alle Browser auf ähnliche Weise mit dieser Situation umgehen, aber bitte klären Sie mich auf, wenn ich mich irre.

Ich habe ziemlich viel Zeit damit verbracht, nach weiteren Details zu suchen, wie Browser mit diesem Szenario umgehen würden, aber ich hatte nicht viel Glück, allgemeine oder technische Informationen zu finden. Ich bin wirklich neugierig und habe beschlossen, diese Frage in der Hoffnung zu stellen, eine Antwort zu erhalten, die das Q unter Bezugnahme auf einige glaubwürdige Quellen, die validiert werden müssen, präzise beantwortet.

8
Dallas

... mein Browser würde ein anders signiertes Zertifikat sehen, als meine Sitzung eingerichtet wurde, und die Sitzung "ausflippen" lassen.

Aus der Sicht eines Webmasters und ohne näher auf " wie SSL funktioniert " einzugehen (was besser unter Information besprochen werden sollte Sicherheit )...

Der Sitzungsschlüssel würde nicht mehr übereinstimmen, sodass entweder der Server- oder der Client-Browser die Verbindung abbrechen würde. Der Client-Browser fordert dann auf der nächsten nicht empfangenen Seite erneut Ressourcen an, wodurch eine neue Verbindung hergestellt und der SSL-Handshake, das Zertifikat, der Schlüsselaustausch und der Sitzungsschlüssel erneut hergestellt werden (wie im Folgenden kurz erläutert) hier ).

Da das neue SSL-Zertifikat für dieselbe Domain ausgestellt würde, würden Benutzer wahrscheinlich nichts bemerken, da sich nur das Zertifikat ändern würde (dh die grüne Sperre wird weiterhin angezeigt), was Benutzer normalerweise ohnehin nicht anzeigen, insbesondere zwischen Seiten auf die gleiche Seite.


Was Sie jedoch möglicherweise nicht in Betracht ziehen, ist, dass Sie bei der Installation des neuen SSL-Zertifikats Ihren Server sowieso konfigurieren und neu starten müssen, damit die Sitzungen unabhängig davon geschlossen werden und die Browser nicht empfangen irgendetwas ...

Daher würde ich vorschlagen, den gesamten Datenverkehr vorübergehend mit einer 302-Weiterleitung auf eine "Wartungs" -Seite umzuleiten, wobei vorab auf Ihrer Website eine Benachrichtigung mit dem Zeitpunkt der Wartung angezeigt wird. und wie lange die Seite nicht erreichbar sein wird.

Eine Alternative zur Umleitung wäre das Senden eines 503 Service Unavailable HTTP-Server-Antwortcodes mit einem Retry-After HTTP-Header-Antwortfeld um anzuzeigen, wann der Server wieder verfügbar sein würde.

Wenn Sie mehr als einen Server für das Front-End der Site haben, können Sie das Zertifikat auf einem anderen Server installieren und neue Verbindungen zu diesem Server umleiten, während Sie die anderen Server aktualisieren. Sie können in Apache hier und IIS hier nach vorhandenen Verbindungen suchen, um dies zu erleichtern, wenn Sie nicht möchten Verwenden Sie noch kein Fail-Safe- oder Load-Balancing-Setup.

7
dan