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.
10
Odpowiedzi:
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.
źródło
Projekt Chromium ma dobrą stronę opisującą działanie ich logiki do wykrywania niewoli portali:
HTTP 204 No Content
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.źródło
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.
źródło
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.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”
źródło