Wygasający certyfikat SSL: jak go wykryć przed katastrofą
Wygasły certyfikat SSL jest zaskakująco częstą przyczyną niedostępności stron. Sprawdź, czemu tak się dzieje, jak ustawić monitoring i co zrobić, żeby nigdy nie zapomnieć o odnowieniu.
Spis treści
Wygasły certyfikat SSL to jedna z tych awarii, które zdarzają się nawet doświadczonym developerom. Certyfikat jest ważny przez rok lub dwa lata, potem zwyczajnie wylatuje z głowy. W efekcie użytkownicy trafiają na stronę z przeglądarką krzyczącą “To połączenie nie jest prywatne”.
Co się dzieje, gdy certyfikat wygaśnie?
Przeglądarka weryfikuje certyfikat SSL przy każdym połączeniu z witryną przez HTTPS. Jeśli certyfikat jest wygasły, przeglądarka wyświetla pełnoekranowe ostrzeżenie i blokuje dostęp do strony, chyba że użytkownik świadomie kliknie “Kontynuuj mimo to”, co robi bardzo mała część odwiedzających.
Wynik: strona technicznie działa, serwer odpowiada, ale nikt jej nie widzi.
Co ciekawe, Google crawler może wciąż indeksować stronę przez jakiś czas po wygaśnięciu certyfikatu, ale zacznie obniżać jej ranking. W Search Console pojawi się błąd w raporcie indeksowania.
Dlaczego certyfikaty wygasają pomimo przypomnień?
Hosty i wystawcy certyfikatów wysyłają e-maile z przypomnieniami. Problem polega na tym, że e-maile trafiają na adres, który nikt już nie czyta (np. stary adres właściciela projektu), lub giną między dziesiątkami innych powiadomień.
Drugi scenariusz: certyfikat był odnawiany automatycznie przez Let’s Encrypt, ale po zmianie serwera lub konfiguracji nginx’a automatyczne odnawianie przestało działać po cichu.
Gdzie sprawdzić stan certyfikatu?
Ręczne sprawdzanie
W każdej popularnej przeglądarce możesz kliknąć ikonkę kłódki w pasku adresu. Zobaczysz informacje o certyfikacie, w tym datę wygaśnięcia.
Możesz też użyć darmowego narzędzia Weryfikacja SSL w RankVoyager, które pokazuje datę ważności, wystawcę, poprawność przekierowania HTTP na HTTPS i czas odpowiedzi serwera, bez żadnej rejestracji.
Monitoring 24/7
Ręczne sprawdzanie raz na jakiś czas nie wystarczy. Potrzebujesz systemu, który sam sprawdza certyfikat regularnie i alarmuje z wyprzedzeniem.
W RankVoyager monitoring SSL jest częścią weryfikacji dostępności. Serwis sprawdza datę wygaśnięcia certyfikatu co kilka minut i wysyła ostrzeżenia na 30, 14 i 7 dni przed końcem ważności, dając realny czas na działanie.
Jak działa Let’s Encrypt i dlaczego automatyczne odnawianie bywa zawodne?
Let’s Encrypt wydaje darmowe certyfikaty z 90-dniową ważnością. Projekt Certbot umożliwia automatyczne odnawianie: certyfikat jest odnawiany gdy zostają mniej niż 30 dni do wygaśnięcia.
Automatyczne odnawianie działa, gdy:
- serwer jest dostępny (port 80 lub 443 otwarty)
- ścieżka challenge jest dostępna publicznie
- Certbot ma uprawnienia do zapisu w odpowiednim katalogu
- cron job lub systemd timer jest aktywny
Każdy z tych warunków może przestać być spełniony po migracji serwera, zmianie konfiguracji reverse proxy, aktualizacji systemu lub zwykłym błędzie w czasie konfiguracji.
Dobrą praktyką jest testowanie odnowienia co kilka miesięcy: certbot renew --dry-run. Jeśli pojawi się błąd, lepiej wiedzieć wcześniej.
Weryfikacja łańcucha certyfikatów
Samo posiadanie ważnego certyfikatu to nie wszystko. Przeglądarka musi też być w stanie zweryfikować cały łańcuch zaufania: certyfikat serwera musi być podpisany przez pośredni urząd certyfikacji (CA), który z kolei jest podpisany przez zaufany root CA.
Problemy z łańcuchem certyfikatów objawiają się błędami w przeglądarkach (szczególnie starszych lub na systemach bez aktualnej listy CA) i często są trudne do debugowania bez narzędzi.
Przy weryfikacji SSL warto sprawdzić:
- czy certyfikat jest wydany dla właściwej domeny (w tym subdomeny www jeśli używasz)
- czy łańcuch certyfikatów jest kompletny
- czy algorytm podpisu jest aktualny (SHA-256 lub nowszy)
Mixed content: HTTPS z HTTP-ową zawartością
Nawet z ważnym certyfikatem SSL strona może wywoływać ostrzeżenia w przeglądarce, jeśli ładuje zasoby przez HTTP. To zjawisko określa się jako mixed content.
Typowe przyczyny: obrazy w treści artykułów linkowane po HTTP, zewnętrzne skrypty lub arkusze CSS wczytywane bez HTTPS, iframes z niezabezpieczonych źródeł.
Przeglądarka blokuje aktywne zasoby (skrypty, stylizacje) ładowane przez HTTP na stronie HTTPS i wyświetla ostrzeżenie dla pasywnych (obrazów). Obie sytuacje są złe z perspektywy bezpieczeństwa i zaufania użytkownika.
Szybka checklista SSL
Zanim uznasz konfigurację SSL za skończoną, sprawdź:
- certyfikat jest ważny i ma co najmniej 30 dni do wygaśnięcia
- HTTP automatycznie przekierowuje na HTTPS (301)
- certyfikat obejmuje zarówno
example.comjak iwww.example.com - łańcuch certyfikatów jest kompletny
- brak mixed content (sprawdź konsolę przeglądarki)
- automatyczne odnawianie jest skonfigurowane i przetestowane
- masz monitoring z alertami na co najmniej 14 dni przed wygaśnięciem
Zespół RankVoyager
Monitoring SEO i dostępności stron internetowych
Przetestuj RankVoyager za darmo
Dodaj swoją stronę i w kilka minut sprawdź, co działa, a co wymaga poprawy.