TLS (SSL)
TLS to protokół szyfrowania, na którym działa HTTPS: chroni dane przesyłane między programem a stroną.
Zaktualizowano · Redakcja Prokso
Gdy adres strony zaczyna się od https://, program i strona uzgadniają klucze według protokołu TLS, a potem wymieniają zaszyfrowane dane. Starej nazwy SSL nadal używa się z przyzwyczajenia.
Przy pracy przez proxy szyfrowanie zostaje zachowane. Zwykły proxy HTTP otwiera do takich stron tunel metodą CONNECT i widzi tylko nazwę strony oraz ilość danych, ale nie treść stron.
Nazwa strony na początku połączenia jest przekazywana w polu SNI. To właśnie z niego proxy i sieć dowiadują się, do jakiej strony idzie żądanie.
Błąd certyfikatu przy pracy przez proxy to powód, by się zatrzymać i sprawdzić ustawienia: sprawny proxy nie podmienia certyfikatów stron.
Uzgadnianie TLS krok po kroku
Program otwiera połączenie i wysyła komunikat ClientHello: obsługiwane wersje protokołu, zestawy szyfrów, nazwę strony i inne rozszerzenia. Serwer odpowiada komunikatem ServerHello i swoim certyfikatem, obie strony wyliczają wspólne klucze i dopiero wtedy zaczynają się zaszyfrowane dane. W TLS 1.3 zajmuje to jedną wymianę „tam i z powrotem”, w TLS 1.2 dwie.
Przez proxy HTTP uzgadnianie zaczyna się po otwarciu tunelu CONNECT, a każda wymiana przechodzi całą drogę przez adres wyjściowy. To jeden z powodów, dla których pierwsze żądanie przez proxy trwa dłużej niż kolejne w tym samym połączeniu.
Proxy nie zmienia Twojego odcisku TLS
Zestaw wersji, szyfrów i rozszerzeń w ClientHello tworzy odcisk TLS, po którym strona może odróżnić przeglądarkę od skryptu. Tunel przekazuje ClientHello bez zmian, więc strona widzi odcisk Twojego programu, a nie proxy. Zmiana IP go nie zmienia.
Jak sprawdzić połączenie i typowe błędy
Uruchom curl -v https://example.com: w wyniku zobaczysz wersję TLS, szyfr i dane certyfikatu, w tym kto go wydał i kiedy wygasa. Polecenie openssl s_client -connect example.com:443 -servername example.com pokazuje cały łańcuch certyfikatów.
- Flaga
-klub--insecurew curl wyłącza sprawdzanie i ukrywa problem zamiast go rozwiązać. - Jeśli wystawcą certyfikatu jest Twój antywirus, to on sam sprawdza HTTPS, a proxy nie ma z tym nic wspólnego.
- Wygasły certyfikat na samej stronie da ten sam błąd z proxy i bez niego.
Inne przyczyny zebrano na stronie błędów certyfikatu.
Pytania i odpowiedzi (FAQ)
Czy proxy widzi moje hasła na stronach?
Nie, jeśli strona działa przez HTTPS: dane idą wewnątrz zaszyfrowanego tunelu między Twoim programem a stroną.
Dlaczego przeglądarka zgłasza błąd certyfikatu?
Najczęściej przez zły czas na urządzeniu, antywirus lub ustawienia sieci. Sprawny proxy nie podmienia certyfikatów.
Powiązane pojęcia
Rezydencjalne $1.59, mobilne $2.50, serwerowe $0.65 za 1 GB
Rejestracja w minutę, dostęp od razu po płatności.