Błędy certyfikatu SSL w portalach typu captive

10

Sytuacja: Goście hotelowi próbujący uzyskać dostęp do Internetu za pośrednictwem naszego portalu dla niewoli. Problem: Google, Yahoo, a teraz coraz więcej witryn przekierowujących wszystkie strony główne do HTTPS, więc gość otrzymuje błąd certyfikatu, gdy przekierowujemy je na naszą stronę logowania. Docenionym celem protokołu SSL jest dokładnie to zrobić, ale zastanawiam się, czy istnieje inny sposób zarządzania procesem potwierdzania logowania gościa w celu potwierdzenia jego tożsamości, przed umożliwieniem dostępu przez zaporę ogniową. To przerażające gości, którzy nie rozumieją. Zasadniczo potrzebujesz innej architektury dla uwięzionego portalu / procesu uwierzytelniania i zastanawiam się, jakie myśli każdy. Dzięki.


źródło
Możliwe rozwiązanie: WPA2-Enterprise z serwerem uwierzytelniającym Radius.
Ajedi32,
To nie jest rozwiązanie, ale na razie serwery jako obejście. Zezwalaj użytkownikom na swobodny dostęp do https, a przy pierwszym trafieniu http będą przekierowywani, ponieważ przemysł coraz bardziej przechodzi na https, co stanie się przestarzałe.
cusco

Odpowiedzi:

6

Cała definicja „zmonopolizowanego portalu” dotyczy „przekierowywania użytkownika bez jego wiedzy”, co jest dokładnie jedną z rzeczy, których SSL został stworzony, aby uniknąć.

Jeśli pierwszy adres URL, który przeglądarka próbuje otworzyć, to HTTPS, nie ma możliwości przekierowania ruchu bez utworzenia błędu certyfikatu.

Massimo
źródło
4
Tak, myślę, że OP to rozumie. Pytanie brzmiało: jaka jest alternatywa? (Na przykład, jeśli każda istniejąca witryna korzystała z HTTPS, jak można „zarządzać procesem potwierdzania logowania gościa” bez
niewymiennego
5

Projekt Chromium ma dobrą stronę opisującą działanie ich logiki do wykrywania niewoli portali:

  1. Próba połączenia (zwykły HTTP) ze znanym hostem + URI
  2. Oczekiwać HTTP 204 No Content
  3. W przypadku otrzymania innej odpowiedzi załóżmy, że jest to portal typu captive.

W podanym linku znajdują się inne szczegóły dotyczące tego, jak radzą sobie z awariami DNS podczas próby rozwiązania dobrze znanego hosta itp. To tylko jeden przykład, ale (z mojego osobistego doświadczenia) nowoczesne projekty systemów operacyjnych używają podobnych procesów do wykrywania i monitować użytkownika nawet w niektórych przypadkach, zanim użytkownik otworzy przeglądarkę. (Zastanów się: ktoś, kto chce korzystać tylko z klienta IMAP lub innej usługi innej niż HTTP). W takim przypadku wykrycie nie odbywa się za pośrednictwem protokołu SSL / TLS, więc można uniknąć obaw.

RFC 6585 Sekcja 6 proponuje nowy kod statusu HTTP 511 Network Authentication Required, który nie pomaga w twojej sprawie SSL / TLS, ale jest kolejnym standardem, który możesz rozważyć, jeśli jeszcze go nie używasz.

William Price
źródło
Android obsługuje także wykrywanie niewoli portali. Po wykryciu niewoli portalu wyświetla komunikat na pasku stanu. Sformułowanie to przypomina „Zaloguj się do sieci bezprzewodowej”. Dzieje się tak, nawet jeśli żadna aplikacja nie próbowała jeszcze użyć połączenia. W pewnym momencie zauważyłem również portal przechwytujący wysyłający przekierowanie 30x z dodatkowym nagłówkiem HTTP, co wskazuje, że był to portal przechwytujący, a treść zawierała pewne dane XML. Nie wiem, czy to jakieś standardowe zachowanie.
kasperd
0

W każdym razie, jeśli użytkownicy otrzymają błąd certyfikatu, to dlatego, że certyfikat nie pasuje do nazwy hosta witryny .

W twoim przypadku oznacza to, że przekierowujesz użytkowników do swojego portalu bez zmiany adresu URL. Użytkownicy widzą „ http://www.google.com ” na pasku adresu, ale twój portal na ekranie. Te oczywiście nie pasują, a certyfikat też nie.

Musisz przekierować je w HTTP (przed skokiem HTTPS) na adres portalu (lub nazwę serwera), zalogować się tam, a następnie ponownie przekierować do docelowego miejsca docelowego, które będzie poprawnie dopasowane.

Zobacz https://en.wikipedia.org/wiki/URL_redirection#HTTP_status_codes_3xx, aby dowiedzieć się, jak to zrobić z kodami HTTP 3xx, zwłaszcza 303.

ZAPRASZAM
źródło
Większość użytkowników prawdopodobnie nie pisze https:// , ale wszelkie zapisane zakładki lub inne mechanizmy przypinania mogą spowodować, że pierwsze żądanie zostanie przesłane do usługi opartej na HTTPS, a zatem nie powiedzie się, ponieważ uzgadnianie TLS nie powiedzie się przed osiągnięciem warstwy protokołu HTTP w celu przekierowania. Inne niż zakładki, przykłady takiego „przypinania” obejmują pasek wyszukiwania przeglądarki, który wcześniej wiedział, że dostawca wyszukiwania woli zapytania przez HTTPS; lub aplikacja mobilna łącząca się z bezpiecznymi usługami sieciowymi.
William Price
-1

rozwiązanie tymczasowe prowadzi użytkowników do rozpoczynania adresu URL od „http” tylko po podłączeniu sygnałów Wi-Fi.

ale niestety użytkownikom się to nie podoba. mówią „jak skomplikowana była usługa Wi-Fi”

versi satu
źródło