Wie kann ich HSTS in einer Intranet-Subdomain umgehen?

589
Akiiino

So habe ich die Kontrolle über einen kleinen Webserver, der eine Subdomain einer Intranet-Domain steuert. In der Domäne ist HSTS aktiviert, sodass ich mich über HTTP nicht mit meiner Subdomäne verbinden kann. Ich kann auch keine selbstsignierten Zertifikate und HTTPS verwenden. Ich habe über die Verwendung von Let's Encrypt nachgedacht, um ein ordnungsgemäßes Zertifikat zu erhalten. Da die Domäne jedoch nicht über das Internet erreichbar ist, kann ich dies auch nicht tun.

Gibt es eine Möglichkeit, HSTS zu umgehen, um über einen Browser eine Verbindung zu meinem Server herzustellen? (Ich versuche, eine Jupyter-Instanz einzurichten, wenn das wichtig ist.)

1
HSTS wirkt sich nicht auf Subdomains aus, es sei denn, Sie fügen `includeSubdomains` explizit hinzu Bob vor 5 Jahren 1
Nun, anscheinend ist es enthalten; Ich habe nur Kontrolle über die Subdomain, also habe ich HSTS nicht konfiguriert Akiiino vor 5 Jahren 0
Leider müssen Sie entweder gültiges HTTPS einrichten oder den Administrator der übergeordneten Domäne dazu bringen, `includeSubdomains` zu entfernen (und warten, bis der vorherige HSTS-Eintrag abläuft, wenn Sie nicht der einzige Benutzer sind). Bob vor 5 Jahren 0

1 Antwort auf die Frage

1
sleske

Eigentlich ist dies die Adresse in der Spezifikation für HSTS, RFC 6797 (Hervorhebungsmine):

11.3. Verwendung von HSTS in Verbindung mit selbstsignierten Public-Key-Zertifikaten

Wenn alle vier der folgenden Bedingungen zutreffen ...

o Eine Website / Organisation / Unternehmen generiert eigene Public-Key-Zertifikate für den sicheren Transport von Websites

[...]

... dann schlagen sichere Verbindungen zu dieser Site gemäß dem HSTS-Design fehl. Dies dient zum Schutz vor verschiedenen aktiven Angriffen, wie oben erläutert.

[...]

Wenn diese Organisation jedoch zusammen mit dem HSTS eine eigene Zertifizierungsstelle und selbstsignierte Zertifikate einsetzen möchte, kann sie dies tun, indem sie ihr Stammzertifizierungsstellenzertifikat für die Browser der Benutzer oder die Stammzertifikatsspeicher der Betriebssystemzertifizierungsstelle bereitstellt . Sie kann zusätzlich oder stattdessen die End-Entity-Zertifikate für bestimmte Hosts an die Browser der Benutzer verteilen .

Sie müssen also eine der folgenden Aktionen ausführen:

  • signieren Sie Ihr selbst erstelltes Zertifikat mit einem CA-Zertifikat (das Sie ebenfalls generiert haben), und installieren Sie das CA-Zertifikat im Browser (oder dem Betriebssystemspeicher, falls der Browser dies verwendet)
  • Installieren Sie das selbstsignierte Zertifikat im Browser oder im Betriebssystemspeicher

Wie das Zertifikat installiert wird, hängt vom Browser ab. Hier gibt es mehrere Antworten, wie das geht.

Eigentlich sollten Sie dies auch ohne HSTS tun, da es die üblichen Zertifikatwarnungen verhindert. Mit HSTS ist es jedoch tatsächlich der einzige Weg.