Certyfikat SSL (technicznie certyfikat TLS, ponieważ SSL został zastąpiony przez TLS lata temu) to mały plik danych, który znajduje się na Twoim serwerze WWW i ustanawia szyfrowane połączenie między serwerem a przeglądarkami Twoich odwiedzających. Gdy certyfikat jest poprawnie zainstalowany, Twoja strona ładuje się przez HTTPS zamiast HTTP, a przeglądarki pokazują ikonę kłódki w pasku adresu, wskazując, że połączenie jest bezpieczne.
Jak faktycznie działa szyfrowanie TLS/SSL
Gdy ktoś wpisuje Twój URL i naciska enter, jego przeglądarka i Twój serwer przechodzą przez proces zwany TLS handshake. Dzieje się to w milisekundach, ale za kulisami sporo się dzieje:
- Hello: przeglądarka wysyła wiadomość "Client Hello" do serwera z metodami szyfrowania, które obsługuje.
- Certyfikat: serwer odpowiada swoim certyfikatem TLS, który zawiera klucz publiczny serwera plus informacje o urzędzie certyfikacji (CA), który go wystawił.
- Weryfikacja: przeglądarka sprawdza certyfikat względem swojej wbudowanej listy zaufanych CA. Weryfikuje, że certyfikat nie wygasł, pasuje do nazwy domeny i nie został odwołany.
- Wymiana kluczy: przeglądarka i serwer uzgadniają wspólny klucz sesji poprzez szyfrowanie asymetryczne (pary kluczy publiczny/prywatny). Ten klucz sesji jest używany do szyfrowania właściwych danych.
- Zaszyfrowana komunikacja: od tego momentu wszystkie dane między przeglądarką a serwerem są szyfrowane kluczem sesji za pomocą szyfrowania symetrycznego, które jest znacznie szybsze niż asymetryczne.
Sedno: para kluczy publiczny/prywatny jest używana tylko do bezpiecznego nawiązania połączenia. Faktyczna zawartość strony, dane formularzy i ciasteczka są szyfrowane tymczasowym kluczem sesji unikalnym dla każdego połączenia.
Typy certyfikatów SSL/TLS
Certyfikaty występują w trzech poziomach walidacji, a różnice dotyczą zaufania i weryfikacji, a nie siły szyfrowania. Samo szyfrowanie jest równie silne dla wszystkich typów.
- Domain Validation (DV): CA weryfikuje tylko, że kontrolujesz domenę, zwykle przez poproszenie Cię o ustawienie rekordu DNS lub odpowiedź na email do domeny. Trwa to kilka minut i jest często bezpłatne (Let's Encrypt na przykład). Certyfikaty DV są w porządku dla większości witryn WordPress, blogów i małych stron biznesowych.
- Organization Validation (OV): CA weryfikuje prawne istnienie Twojej organizacji. Obejmuje to sprawdzenie dokumentów rejestracyjnych firmy i trwa zwykle kilka dni. Certyfikaty OV pokazują nazwę organizacji w szczegółach certyfikatu (choć nie są widoczne w pasku przeglądarki). Są częściej spotykane na stronach korporacyjnych i platformach SaaS.
- Extended Validation (EV): najbardziej rygorystyczny proces weryfikacji. CA przeprowadza dokładne badanie organizacji, w tym status prawny, fizyczny adres i upoważnione osoby kontaktowe. Certyfikaty EV pokazywały kiedyś nazwę firmy w zielonym pasku w przeglądarce, ale większość przeglądarek usunęła to wizualne rozróżnienie w ostatnich latach. Są nadal używane przez banki, instytucje finansowe i duże strony e-commerce, choć ich praktyczna wartość zmalała.
Let's Encrypt i bezpłatne certyfikaty
Let's Encrypt zmieniło krajobraz SSL, gdy uruchomiło się w 2015 roku. Wcześniej nawet podstawowe certyfikaty DV kosztowały pieniądze i wymagały ręcznej instalacji. Let's Encrypt oferuje bezpłatne, zautomatyzowane certyfikaty DV ważne przez 90 dni, które mogą być automatycznie odnawiane.
Dziś praktycznie każdy dostawca hostingu wspiera Let's Encrypt. Wielu włącza go jako część swoich pakietów hostingowych i obsługuje instalację i odnawianie automatycznie. Jeśli Twój host nie oferuje automatycznego SSL, narzędzia takie jak Certbot mogą zarządzać cyklem życia certyfikatu na Twoim serwerze.
W 2025 roku naprawdę nie ma już powodu, by prowadzić witrynę WordPress bez HTTPS. Certyfikat jest bezpłatny, instalacja jest zautomatyzowana, a korzyści (bezpieczeństwo, SEO, zaufanie użytkowników) są znaczące.
Certyfikaty wildcard
Standardowy certyfikat pokrywa jedną domenę (np. example.com) i czasem także www.example.com. Jeśli masz wiele subdomen (shop.example.com, blog.example.com, app.example.com), normalnie potrzebowałbyś osobnego certyfikatu dla każdej.
Certyfikat wildcard pokrywa wszystkie subdomeny pod jedną domeną. Używa wzorca *.example.com i zabezpiecza każdą subdomenę na tym poziomie. Let's Encrypt wspiera certyfikaty wildcard, ale wymagają one walidacji opartej na DNS zamiast prostszej metody walidacji HTTP. Większość zarządzanych dostawców hostingu automatycznie obsługuje to w razie potrzeby.
Wygaśnięcie i odnawianie certyfikatu
Każdy certyfikat TLS ma datę wygaśnięcia. Certyfikaty Let's Encrypt wygasają po 90 dniach, podczas gdy certyfikaty kupione komercyjnie są zwykle ważne przez jeden rok (maksimum dozwolone od 2020 roku). Gdy certyfikat wygasa, przeglądarki pokazują pełnoekranowe ostrzeżenie, które uniemożliwia większości odwiedzających dostęp do Twojej strony. To poważny problem, który może całkowicie wstrzymać Twój ruch.
Automatyczne odnawianie jest niezbędne. Jeśli używasz Let's Encrypt przez dostawcę hostingu, odnawianie zwykle dzieje się w tle bez konieczności robienia czegokolwiek. Jeśli sam zarządzasz serwerem, upewnij się, że Certbot lub Twój klient ACME jest skonfigurowany do automatycznego odnawiania certyfikatów, i przetestuj, że to faktycznie działa. Typowym problemem jest zadanie cron skonfigurowane do odnawiania, ale po cichu zawodzące z powodu problemu z uprawnieniami lub zmienionej konfiguracji serwera.
Jak sprawdzić swój certyfikat SSL
Jest kilka sposobów, by zweryfikować, że Twój certyfikat działa poprawnie:
- Kłódka w przeglądarce: kliknij ikonę kłódki w pasku adresu przeglądarki. Zobaczysz wystawcę certyfikatu, datę wygaśnięcia i domenę, którą pokrywa.
- SSL Labs (ssllabs.com/ssltest): standardowe narzędzie online branży do testowania konfiguracji SSL. Sprawdza nie tylko certyfikat, ale także wersje protokołu TLS, cipher suites i znane podatności. Dąż do oceny A lub A+.
- Narzędzia linii poleceń:
openssl s_client -connect example.com:443pokazuje szczegółowe informacje o certyfikacie do technicznej analizy problemów.
WordPress i HTTPS
Zainstalowanie certyfikatu na serwerze to tylko połowa pracy. Musisz też zapewnić, że WordPress konsekwentnie używa HTTPS:
- Ustawienia URL witryny: w WordPress Ustawienia > Ogólne zarówno "Adres WordPressa", jak i "Adres witryny" powinny używać
https://. Nieprawidłowe ustawienie tego powoduje pętle przekierowań i problemy z logowaniem. - Wymuszanie SSL: dodaj
define('FORCE_SSL_ADMIN', true);do swojegowp-config.php, by zapewnić, że obszar administracyjny zawsze używa HTTPS. - Przekierowania 301: skonfiguruj przekierowania na poziomie serwera (przez .htaccess na Apache lub blok serwera na Nginx), by przekierowywać wszystkie żądania HTTP na HTTPS. W ten sposób odwiedzający i wyszukiwarki zawsze trafiają na bezpieczną wersję.
- Mixed content: po przejściu na HTTPS możesz mieć obrazy, skrypty lub arkusze stylów, które nadal są ładowane przez HTTP. Przeglądarki blokują lub ostrzegają przed tymi niebezpiecznymi zasobami. Użyj wtyczki takiej jak "Better Search Replace", by zaktualizować stare URL-e HTTP w bazie danych, i sprawdź motyw pod kątem zakodowanych na sztywno odniesień HTTP.
- Nagłówek HSTS: nagłówek
Strict-Transport-Securitymówi przeglądarkom, by zawsze używały HTTPS dla Twojej strony, nawet jeśli ktoś wpiszehttp://w pasku adresu. Eliminuje to krótki moment, gdy odwiedzający mógłby się połączyć przez HTTP, zanim zostanie przekierowany.
Dlaczego "SSL" to właściwie TLS
Termin "certyfikat SSL" się przyjął, mimo że sam protokół SSL został wycofany w 2015 roku. SSL 3.0 był ostatnią wersją i miał znane podatności bezpieczeństwa (między innymi atak POODLE). Zastępcą jest TLS (Transport Layer Security), który obecnie jest w wersji 1.3. Nowoczesne przeglądarki w ogóle już nie wspierają SSL; używają tylko TLS 1.2 i TLS 1.3.
Gdy dostawcy hostingu, urzędy certyfikacji lub wtyczki WordPress mówią o "SSL", właściwie mają na myśli TLS. Terminy są w praktyce używane zamiennie, mimo że technicznie są to różne protokoły. Jeśli Twój serwer nadal wspiera TLS 1.0 lub 1.1, powinieneś je również wyłączyć, ponieważ są również uważane za niebezpieczne.
Co sprawdza InspectWP
InspectWP weryfikuje, czy Twoja witryna WordPress ma ważny certyfikat TLS, sprawdza datę wygaśnięcia certyfikatu i wykrywa problemy mixed content, gdzie zasoby HTTP są ładowane na stronach HTTPS. Analizuje też Twoje nagłówki bezpieczeństwa, w tym HSTS, by potwierdzić, że konfiguracja HTTPS jest kompletna i prawidłowo skonfigurowana.