![Verwenden von HTTPS in Client-Browsern in einem lokalen Netzwerk ohne Internetverbindung](https://rvso.com/image/1606699/Verwenden%20von%20HTTPS%20in%20Client-Browsern%20in%20einem%20lokalen%20Netzwerk%20ohne%20Internetverbindung.png)
Ich arbeite an einer Webanwendung, die auf einem Server läuft. Es wird Clients (Smartphone-Browser) geben, die sich über HTTPS über ein WLAN mit dem Server verbinden, das nicht mit dem Internet verbunden wäre. Die Anwendung würde hauptsächlich für eintägige Veranstaltungen verwendet werden.
Das Problem:Ist HTTPS ohne Internet möglich?
- Wir können keine Zertifikate zu den Truststores der Clients hinzufügen. Wir können die Clients auch nicht auf andere Weise konfigurieren. Clients sind zufällig ausgewählte Personen, die die Veranstaltung besuchen.
- Die Clients können nicht auf das Internet zugreifen, um CRL/OCSP zu überprüfen. Möglicherweise besteht einfach keine Internetverbindung
ich habe eine IdeeVerwendung eines lokalen DNS:
- Ich besitze einen Schlüssel und ein vertrauenswürdiges SSL-Zertifikat (LetsEncrypt) für
offline.mydomain.com
- Es gibt einen DNS-Server im Offline-WLAN-Netzwerk, der alle DNS-Adressen auf meinen Anwendungsserver verweist
- Alle Zertifikate und CRLs aus der
offline.mydomain.com
Vertrauenskette des SSL-Zertifikats werden auf den Anwendungsserver heruntergeladen und können über die im CDP und AIA der Zertifikate definierten Pfade abgerufen werden. - Der Anwendungsserver behauptet, auf diesem Server ausgeführt zu werden
https://offline.mydomain.com
(und der DNS-Server verweistoffline.mydomain.com
auf den Anwendungsserver).
Der gesamte Ablauf wäre:
- Klient:
GET https://offline.mydomain.com/app
- DNS:
offline.mydomain.com
befindet sich auf der IP des Anwendungsservers - Mein Anwendungsserver:hier ist das HTML
- ...
- Klient:
GET http://crl.ca.com/crls/ca.crl
- DNS:
crl.ca.com
befindet sich auf der IP des Anwendungsservers - Mein Anwendungsserver:hier ist die CRL
- ...
- Klient:
GET http://certificate.ca.com/certs/ca.cer
- DNS:
certificate.ca.com
befindet sich auf der IP des Anwendungsservers - Mein Anwendungsserver:hier ist das Zertifikat
- ...
Ich verstehe jedoch nicht so viel von Netzwerken. Wäre der DNS-Teil möglich?
- Kann ich die Clients dazu bringen, meinen lokalen DNS zu verwenden, ohne sie manuell zu konfigurieren?
- Wie sehr würden die Clients verwirrt sein, wenn sie sich wieder mit dem echten Internet verbinden würden?
- Können Smartphones eine Verbindung zu einem WLAN herstellen, das nicht mit dem Internet verbunden ist?
Antwort1
Ich glaube nicht, dass ein Client die Verbindung zu einem TLS-Host abbrechen würde, nur weil er den CRL- oder OCSP-Server nicht erreichen konnte. Ich bin mir also zu 99 % sicher, dass Sie nur Folgendes brauchen:
- Ein von einer allgemein vertrauenswürdigen Zertifizierungsstelle (z. B. Let’s Encrypt) signiertes Serverzertifikat zusammen mit dem passenden privaten Schlüssel, das auf Ihrer lokalen Webserver-Box installiert ist.
- Ein lokaler DNS-Server, der den entsprechenden Hostnamen auf die IP-Adresse Ihres lokalen Servers verweist.
- Ein DHCP-Server, um Client-Geräten IP-Adressen zuzuweisen und ihnen mitzuteilen, dass sie Ihren DNS-Server verwenden sollen.
DNS und DHCP sind sehr einfache Vorgänge, sodass sie bei Bedarf problemlos auf derselben Box wie der HTTPS-Server ausgeführt werden können.
Bei mobilen WLAN-Geräten ist DHCP höchstwahrscheinlich aktiviert und sie können höchstwahrscheinlich jeden DNS-Server verwenden, den der DHCP-Server ihnen vorgibt. Sie müssen sich also keine Gedanken darüber machen, „8.8.8.8“/„8.8.4.4“/„1.1.1.1“ auf Ihren lokalen DNS-Server zu verweisen. Ich empfehle Ihnen jedoch dringend, lange vor der Veranstaltung einen Prototyp Ihres Offline-Netzwerks einzurichten und ihn mit einer Vielzahl von iOS-, Android-, Mac- und Windows-Geräten (mindestens einem von jedem) zu testen.
Bei der Wiederverbindung mit dem realen Internet sollten die Geräte nicht verwirrt werden.