it-swarm.com.de

Wie sollten Captive-Portale umleiten?

Ich habe kürzlich diese Frage gelesen, was mich zu einer Folgefrage wundert: Wie versucht dieses Captive-Portal wahrscheinlich, den Benutzer umzuleiten? Ein hoch bewerteter Kommentar sagt doch, dass es falsch ist.

Wenn man also ein legitimes und gut gemeintes Captive-Portal hätte, wie sollte es Benutzer auf das Portal umleiten, wobei die Sicherheit und der Komfort der Benutzer zu berücksichtigen sind? Es ist offensichtlich sowohl für die Sicherheit als auch für die Bequemlichkeit schlecht, wenn Benutzer eine Zertifikatsinkongruenz wie in der verknüpften Frage erhalten.

7
Kat

Technisch gesehen ist ein Captive-Portal immer ein Man-in-the-Middle-Angriff. Daher werden und sollten alle Techniken gegen MitM vor ihnen warnen, sodass der Benutzer entscheiden kann, ob er vertraut oder nicht. Einige Browser haben Captive Portal Detection , was im Allgemeinen vorübergehend die Umleitung zulässt, ohne dass eine Seite mit der ursprünglichen Domain angezeigt wird.

Zeitgemäße Sicherheitsanforderungen machen die transparente Implementierung von Captive-Portalen zu einer Herausforderung. Zum Glück erkennen Webbrowser- und Betriebssystementwickler, wie wichtig es ist, das Vorhandensein dieses Zwischenstatus zwischen der Verbindung mit dem Internet oder nicht zu melden, um Fehlerfälle auf ein Minimum zu reduzieren.

Aus dieser Perspektive wäre es weniger schlimm, auf eine separate Anmeldeseite des Captive-Portals mit einem ordnungsgemäß signierten und übereinstimmenden Zertifikat umzuleiten, als die Anmeldeseite direkt mit einer Domain anzuzeigen.

Haben wir andere Möglichkeiten?

  • Wir konnten die Umleitung nur über einfaches HTTP durchführen, um den Fehler bei der Nichtübereinstimmung des Zertifikats zu vermeiden. Es wäre immer noch ein MitM, aber auf einem Protokoll, das nicht dafür ausgelegt war, es zu erkennen. Dies hätte vor HTTP Strict Transport Security (HSTS) gegen unseren Protokoll-Downgrade-Angriff, der diese Art von Captive-Portal wäre, einwandfrei funktioniert.

  • Überhaupt keine Umleitung. Blockieren Sie einfach den gesamten Datenverkehr, bevor der Benutzer die URL der Anmeldeseite manuell geöffnet und angemeldet hat. Die Sicherheit wird auf Kosten der Benutzerfreundlichkeit maximiert. Jetzt müssen Sie Ihre Benutzer über diese Anordnung informieren, was normalerweise bedeutet, dass zusätzliche Unterstützung erforderlich ist. Selbst wenn Sie Ihren Nutzern mit Bildern mitteilen, dass sie diese Adresse in Adressleiste eingeben müssen, versuchen einige von ihnen dennoch, die Adresse von Google zu suchen.

  • Brechen Sie das Öffnen von WLAN ab und verwenden Sie andere Authentifizierungsmethoden. Kein Captive-Portal oder Anmeldeseite erforderlich. Starker Bedarf an Unterstützung. WPA2 Enterprise ist technisch ideal, da Sie keinen einzigen vorinstallierten Schlüssel benötigen, der Zielgruppe jedoch weniger bekannt ist (Personen, die Open Access WiFi verwenden).

Gleichzeitig sind dies genau die Gründe, warum es noch Captive-Portale gibt. Meine Idee eines geeigneten Ersatzes für Captive-Portale wäre eine standardisierte einfache HTTP-URL, auf die Browser zugreifen würden, wenn jemals etwas entdeckt wird, das die Verbindung blockiert. Diese Seite führt dann die Umleitung zur Anmeldeseite mit HTTPS und einem geeigneten Zertifikat durch, und der Browser sollte alles andere als Angriff erkennen. Aber das ist nur mein Traum, weit weg von der Realität. Captive-Portale existieren, solange sie in der Praxis funktionieren.

7
Esa Jokinen

Leider gibt es hier keine perfekte Lösung, da der eigentliche Zweck von TLS darin besteht, sich vor solchen Angriffen zu schützen. Aber ich denke, der bestmögliche Weg ist folgender:

  • Blockieren Sie HTTPS-Verbindungen einfach. Versuchen Sie nicht, umzuleiten. Dies gibt dem Benutzer eine Fehlermeldung, dass kein Internetzugang statt einer Sicherheitswarnung angezeigt wird. Das ist besser.
  • Für HTTP-Verbindungen sollten Sie mit 511 Network Authentication Required antworten:

    Der 511-Statuscode gibt an, dass sich der Client authentifizieren muss, um Netzwerkzugriff zu erhalten.

    [...]

    Der 511-Status DARF NICHT von Origin-Servern generiert werden. Es ist zum Abfangen von Proxys vorgesehen, die als Mittel zur Steuerung des Zugriffs auf das Netzwerk eingesetzt werden.

2
Anders