HTTPS i TLS zrobione porządnie — praktyczny przewodnik po konfiguracji | Scanthra
Maj 2026Dlaczego „mamy HTTPS" zazwyczaj nie wystarczy
Strona, która ładuje się po HTTPS, ale odpowiada też na zwykłe HTTP — lub używa TLS / SSL (szyfrowania połączenia) 1.0, wygasłego certyfikatu albo słabych szyfrów — jest odpowiednikiem zasuwki na drzwiach, które stoją otworem. Każdy nowoczesny kwestionariusz bezpieczeństwa, ostrzeżenie przeglądarki i wymóg zgodności (RODO Art. 32, NIS2 Art. 21(2)(h), PCI DSS 4.0) traktuje higienę TLS jako linię bazową, a nie dodatek.
Pięć rzeczy do doprowadzenia do porządku
1. Ważny, nowoczesny certyfikat
Darmowy, automatyczny, zaufany przez każdą przeglądarkę: Let's Encrypt. Większość
paneli hostingowych (cPanel, Plesk, DirectAdmin, ISPmanager) ma instalator
jednym kliknięciem. Dla użytkowników VPS certbot lub
acme.sh odnawiają certyfikat automatycznie co 60 dni. Wybierz RSA-2048
lub ECDSA P-256 — oba są odpowiednie.
2. Tylko HTTPS — żadnego HTTP, żadnej mieszanej zawartości
Każde żądanie przez HTTP powinno być przekierowane na HTTPS kodem 301 (nie 302 — wyszukiwarki traktują je inaczej). Mieszana zawartość (strona HTTPS ładująca obraz lub skrypt przez HTTP) cicho psuje gwarancję bezpieczeństwa — większość przeglądarek to blokuje, ale niektóre starsze osadzone elementy przechodzą. Sprawdź zakładką „Bezpieczeństwo" w narzędziach deweloperskich.
3. HSTS — powiedz przeglądarce, żeby zapamiętała HTTPS
Bez HSTS (wymuszania HTTPS) każda pierwsza wizyta nadal zawiera żądanie przez HTTP, które można przechwycić. Rozwiązaniem jest jeden nagłówek HTTP odpowiedzi:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
max-age=31536000— jeden rok. Zacznij od jednego miesiąca (2592000) podczas testowania, potem podnieś.includeSubDomains— stosuj do każdej subdomeny też. Dodawaj to dopiero gdy masz pewność, że każda subdomena obsługuje HTTPS.preload— kwalifikuje się do wpisania na wbudowane listy HSTS przeglądarek na stronie hstspreload.org. Zgłoś się dopiero gdy wszystko inne jest stabilne; usunięcie się z listy zajmuje tygodnie.
4. Nowoczesne protokoły i szyfry
Wyłącz SSLv3, TLS 1.0 i TLS 1.1 — mają znane słabości i żaden nowoczesny klient ich nie potrzebuje. Włącz TLS 1.2 i TLS 1.3.
Dla nginx (poziom bazowy „intermediate" Mozilli, wygenerowany przez ssl-config.mozilla.org):
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
Dla Apache:
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305
SSLHonorCipherOrder off
5. OCSP stapling i HTTP/2
OCSP stapling pozwala serwerowi dołączyć do handshake'u TLS informację o statusie unieważnienia certyfikatu — co eliminuje osobne (wolne, czasem niedziałające) zapytanie przeglądarki do urzędu certyfikacji.
ssl_stapling on;
ssl_stapling_verify on;
HTTP/2 nie jest funkcją bezpieczeństwa jako taką, ale większość nowoczesnych narzędzi sprawdzających odnotowuje jego brak jako sygnał przestarzałego stosu:
listen 443 ssl http2;
Skrót dla użytkowników Cloudflare
Jeśli twoje serwery stoją za Cloudflare, większość powyższego to jeden przełącznik:
- SSL/TLS → Przegląd: ustaw na Full (strict).
- SSL/TLS → Certyfikaty brzegowe: włącz „Always Use HTTPS", „Automatic HTTPS Rewrites", „Minimum TLS Version: TLS 1.2" i włącz HSTS przez panel.
- To pokrywa ~80% wykryć związanych z TLS bez dotykania serwera źródłowego.
Odnawianie — nudna rzecz, która boli
Najczęstszy incydent TLS to „certyfikat wygasł w niedzielę rano, nikt nie zauważył, klienci nie mogli dotrzeć do strony przez sześć godzin". Dwie linie obrony:
- Automatyczne odnawianie na poziomie certyfikatu (Let's Encrypt robi to
domyślnie; sprawdź przez
certbot renew --dry-run). - Monitor zewnętrzny — UptimeRobot, Better Uptime, BetterStack lub darmowy alert w stylu crona od Cloudflare — który powiadomi cię 14 dni przed wygaśnięciem.
Jak zweryfikować konfigurację
- Mozilla Observatory — darmowe, daje ocenę literową i wyjaśnia każde odjęcie punktów.
- SSL Labs SSL Test (Qualys) — kanoniczny głęboki przegląd TLS, wciąż aktualny w 2026 roku.
- Scanthra — nasze moduły SSL/TLS, HSTS i Security Headers podsumowują te same wykrycia prostym językiem i dostarczają je jako PDF, który możesz przekazać klientowi lub audytorowi.
Typowe pułapki
- Zamieszanie z SNI. Niektórzy starsi klienci na tym samym IP mogą otrzymać zły certyfikat. Używaj jednego VirtualHost na certyfikat, dbaj o ważność certyfikatu domyślnego serwera.
- Zapomniane subdomeny.
www.icdn.często potrzebują własnych certyfikatów lub wpisu SAN w głównym. - Blokady wywołane przez HSTS. Jeśli ustawisz HSTS z
includeSubDomainszanim każda subdomena ma TLS, te subdomeny staną się nieosiągalne przez okresmax-age. Zacznij bezincludeSubDomains. - Paranoja na temat zestawów szyfrów. Zakazanie każdego szyfru, który kiedykolwiek miał słabość, zablokuje użytkowników na starszych telefonach. Preset „intermediate" Mozilli to rozsądny kompromis.
Jak Scanthra wykrywa problemy z TLS
Nasz moduł SSL/TLS sprawdza: ważność i datę wygaśnięcia certyfikatu, obsługiwane wersje protokołów, obecność HSTS i jego politykę, zaufanie łańcucha certyfikatów oraz kilka typowych błędów konfiguracji. Wykrycia pojawiają się w raporcie z poziomem zagrożenia, przystępnym wyjaśnieniem i gotowym do skopiowania rozwiązaniem — w tej samej formie co w tym artykule.
Chcesz wiedzieć, czy twoja strona ma ten problem?
Scanthra przeprowadza przyjazną, pasywną kontrolę i wysyła ci zrozumiały raport PDF na e-mail.
Sprawdź swoją stronę za darmo