Sprawdzanie konfiguracji HTTPS
Połów zdeprecjonowane wersje protokołu, brakuje HSTS i złamane HTTP przekierowuje przed skanem zgodności lub klienta robi.
Jak mierzy
- Jeden niezatwierdzony uścisk dłoni w wersji protokołu (TLS 1.0, 1.1, 1.2, 1.3) rejestruje, co akceptuje serwer; te uściski dłoni diagnostycznych nigdy nie wpływają na monitor.
- Oddzielny zatwierdzony uścisk dłoni decyduje, czy certyfikat jest zaufany przez publiczny sklep root.
- GET do HTTPS URL odczytuje Strict-Transport-Security; GET do tej samej ścieżki na porcie 80 rejestruje, czy przekierowuje się na HTTPS.
- Wsparcie HTTP / 2 jest odczytywane z negocjacji ALPN, a nie z pełnego wniosku HTTP / 2.
Granice
- Wytrzymałość pakietu Cipher, zszywanie OCSP, przejrzystość certyfikatu i rozmiary kluczy nie są sortowane.
- Kontrole przeprowadzane są tylko w odniesieniu do pierwszego rozwiązanego adresu; pule obciążeniowe mogą się różnić w zależności od węzła.
- Test przekierowania HTTP działa tylko dla standardowego portu 443.
- Gdy certyfikat nie jest zaufany, wniosek HTTPS jest odrzucany przez projekt, więc HSTS jest zgłaszana jako nieczytelny, a nie odgadnąć.
Rozwiązywanie problemów
- TLS 1.0 lub 1.1 przyjęte
- Wyłącz je w konfiguracji web serwera lub balancer obciążenia (na przykład ssl_protocols TLSv1.2 TLSv1.3 w nginx). Obie są zdeprecjonowane przez RFC 8996.
- Brak HSTS
- Dodać Strict-Transport-Security: max-age = 31536000; includeSubDomains raz każda subdomena służy HTTPS. Zacznij od krótkiego max-age.
- Plain HTTP serwuje zawartość
- Zwróć 301 do HTTPS URL na każde żądanie w porcie 80; w przeciwnym razie użytkownicy, którzy wpisują nazwę hosta pobytu na HTTP.