Czym jest SSL i HTTPS - bezpieczeństwo strony internetowej w pigułce
SSL to certyfikat, który pozwala stronie używać protokołu HTTPS - szyfrowanego połączenia chroniącego dane użytkowników. Bez niego przeglądarki oznaczają witrynę jako niebezpieczną, a Google traktuje to jako sygnał rankingowy.
Zakładasz stronę firmową albo sklep i ktoś mówi ci, że „musisz mieć SSL”. Albo widzisz w przeglądarce klódkę przy adresie i zastanawiasz się, co ona właściwie oznacza. To jeden z tych tematów, które brzmią technicznie, ale zasada działania jest prosta - i warto ją znać, bo brak certyfikatu SSL ma konkretne, wymierne konsekwencje.
W tym artykule wyjaśnię czym jest SSL i HTTPS, jak działa szyfrowanie połączenia, skąd wziąć certyfikat (i czy trzeba za niego płacić), a także co się dzieje, gdy go nie masz. Bez technicznego żargonu, za to z praktyki - bo przez latę wdrażałem to u dziesiątek klientów i wiem, jakie pytania pojawiają się najczęściej.
HTTP kontra HTTPS - co się zmienia
Kiedy przeglądarka wczytuje stronę, musi się porozumieć z serwerem, na którym ta strona jest zainstalowana. Robi to za pomocą protokołu - zestawu reguł, które mówią, jak wysyłać i odbierać dane. Protokół HTTP był pierwszą wersją tych reguł, ale ma poważną wadę: dane płyną jawnym tekstem. Każdy, kto znajdzie się po drodze między tobą a serwerem, może je odczytać i zmodyfikować.
HTTPS (Hypertext Transfer Protocol Secure) to ta sama zasada komunikacji, ale z dodaną warstwą szyfrowania - protokołem TLS. Dane wysyłane między przeglądarką a serwerem są zaszyfrowane zanim opuścą twoje urządzenie i odszyfrowane dopiero na serwerze docelowym. Dla kogokolwiek, kto podsłuchałby ruch w sieci - w kawiarni na publicznym Wi-Fi, u operatora, gdziekolwiek - zobaczy tylko bześensowny ciąg znaków.
HTTP vs HTTPS - podstawowe różnice
| Cecha | HTTP | HTTPS |
|---|---|---|
| Szyfrowanie danych | Brak - dane przesyłane jawnym tekstem | Tak - szyfrowanie TLS |
| Klódka w przeglądarce | Brak lub przekreślona | Widoczna zielona klódka |
| Ostrzeżenie przeglądarki | "Niebezpieczna" w pasku adresu | Brak ostrzeżeń |
| Ranking Google | Bez premii, możliwe kary | Pozytywny sygnał rankingowy |
| Ochrona danych formularzy | Brak | Dane zaszyfrowane przed wysyłaniem |
| Możliwość ataku "man in the middle" | Tak | Zdecydowanie utrudniony |
Czym jest certyfikat SSL (i dlaczego mówimy SSL, skoro to TLS)
Certyfikat SSL to cyfrowy dokument wydawany przez urząd certyfikacji (Certificate Authority, CA). Zawiera klucz publiczny serwera oraz informacje o właścicielu domeny lub organizacji, która o certyfikat wystąpiła. Przeglądarka, gdy ląduje na stronie z HTTPS, sprawdza ten dokument: czy jest wystawiony przez zaufany urząd, czy pasuje do domeny i czy jeszcze nie wygasł.
Nazwa SSL (Secure Sockets Layer) pochodzi od starszej wersji protokołu, która dawno wyszła z użycia. Obecny standard to TLS (Transport Layer Security), ale nazwa "SSL" przyjęła się w języku potocznym i zostaje - podobnie jak mówimy "tuściowa" na dżemój-pad, chciaż przyciski się zmieniły. Dla celów praktycznych obie nazwy traktuj jako synonimy.
Urząd certyfikacji (CA) to firma, której przeglądarki ufają automatycznie - jej lista jest wbudowana w system operacyjny i przeglądarkę. Tylko certyfikat podpisany przez taki urząd da klódkę. Certyfikat "samopodpisany" (self-signed), który można wygenerować samemu, nie da klódki - tylko ostrzeżenie.
Jak działa szyfrowanie - bez wzorów matematycznych
Wyobraź sobie, że zamawiasz coś przez internet i wpisujesz adres dostawy. Chcesz, żeby ta informacja dotarła do sklepu, ale nie do każdego, kto ma dostęp do sieci po drodze. Szyfrowanie TLS działa jak zamknięta skrzynka z długiem - ty wkładasz wiadomość, zamykasz na klódkę, a otworzyć może tylko ten, kto ma pasujący klucz po drugiej stronie.
Po stronie technicznej dzieje się to tak. Gdy łączysz się z serwerem przez HTTPS, przeglądarka i serwer przeprowadzają krótką wymianę nazwaną handshake:
1. Przeglądarka prosi serwer o identyfikację.
2. Serwer przesyła certyfikat SSL z kluczem publicznym.
3. Przeglądarka sprawdza certyfikat u urzędu certyfikacji.
4. Obie strony ustalają unikalny klucz sesji - szyfrowany asymetrycznie w trakcie wymiany, a symetrycznie już podczas transmisji danych.
5. Od tej chwili cała komunikacja jest zaszyfrowana.
Cały ten proces trwa kilkadziesiąt millisekund i odbywa się automatycznie, zanim zobaczysz cokolwiek na ekranie. Klódka w pasku adresu to wizualny efekt udanego handshake'u.
Rodzaje certyfikatów - co naprawdę ma znaczenie
Certyfikaty różnią się tym, co urząd certyfikacji weryfikuje przed wydaniem dokumentu.
DV (Domain Validation) - urząd sprawdza tylko, czy kontro lujesz domenę. Wystarczy dać dostęp do pliku na serwerze albo dodać rekord DNS. Trwa kilka minut. To właśnie ten rodzaj wydaje Let's Encrypt. Daje pełne szyfrowanie, klódkę w przeglądarce i wystarczy zdecydowanej większości stron.
OV (Organization Validation) - urząd sprawdza również istnienie firmy w rejestrach. We właściwościach certyfikatu użytkownik może zobaczyć nazwę organizacji. Kosztuje kilkadziesiąt do kilkuset złotych rocznie i jest wydawany po kilku dniach.
EV (Extended Validation) - najszersza weryfikacja: tożsamość firmy, jej siedziba, osoby kontaktowe. Stosowany przez banki i duże instytucje. Koszt i czas weryfikacji są odpowiednio wyższe.
Dla typowej strony firmowej lub sklepu internetowego certyfikat DV jest całkowicie wystarczający. Różnica między DV a OV nie dotyczy jakości szyfrowania - jest identyczne. Różni się tylko, ile informacji o firmie użytkownik zobaczy we właściwościach certyfikatu.
Let's Encrypt - dlaczego certyfikat może być darmowy
Let's Encrypt to urząd certyfikacji działający jako organizacja non-profit, wspierany przez Google, Mozilla, Cisco i inne firmy. Jego cel: sprawić, żeby 100% internetu działało na HTTPS. W tym celu udostępnia certyfikaty DV za darmo, z automatycznym odnowieniem co 90 dni.
Większość współczesnych hostów - LH.pl, cyberfolks.pl, home.pl i dziesiątki innych - obsługuje Let's Encrypt w panelu jednym kliknięciem. Na cPanel szukasz sekcji "SSL/TLS" albo "Let's Encrypt". Na hostingu z DirectAdmin lub Plesk jest podobnie. W większości przypadków nie musisz robić nic więcej - certyfikat instaluje się sam i sam się odnawia.
U jednego z klientów ze stroną wizytówką na LH.pl certyfikat był nieaktywny od początku - nikt go nie włączył po migracji domeny. Wystarczyło zalogować się do panelu i kliknąć. Strona od razu przestała wyświetlać ostrzeżenie i pojawiła się klódka.
Jak sprawdzić, czy twój certyfikat SSL działa poprawnie
- Adres w przeglądarce zaczyna się od https:// (nie http://)
- Obok adresu widoczna jest klódka bez ostrzeżeń
- Klikając klódkę widzisz datę wygaśnięcia certyfikatu (powinna być co najmniej kilka tygodni w przyszłości)
- W Narzędziach deweloperskich przeglądarki (F12, zakładka Console) nie ma błędów "mixed content"
- Wpisanie http:// na początku adresu przekierowuje automatycznie na https://
Konsekwencje braku SSL - co widzisz ty i co widzi Google
Przeglądarki Chrome, Firefox, Edge i Safari od dłuższego czasu aktywnie komunikują użytkownikowi brak HTTPS. Wchodząc na stronę HTTP widzisz w pasku adresu napis "Niebezpieczna" lub ikonę przekreślonej klódki. Przy formularzach (logowanie, zapis do newslettera, formularz kontaktowy) pojawia się dodatkowy komunikat ostrzeżenia. Badania zachowania użytkowników pokazują, że duża część osób natychmiast opuszcza taką stronę.
Google ogłosiło HTTPS jako sygnał rankingowy - strony szyfrowane mają przewagę nad nieszyfrowanymi przy identycznej treści i linkowaniu. To niekoniecznie przepaść setek miejsc, ale przy równych warunkach liczy się każdy czynnik. A przy sklepie internetowym dołoż do tego utratę zaufania klientom przy kasie - bez certyfikatu nie przejdą do płatności.
Istnieje też ryzyko bezpośredniego ataku. Na niezaszyfrowanym połączeniu możliwy jest tzw. atak man-in-the-middle - ktoś po drodze przechwytuje lub modyfikuje dane. W realiach publicznego Wi-Fi to całkowicie realne zagrożenie, nie teoria.
Plusy
- Pełne szyfrowanie danych użytkowników
- Klódka w przeglądarce buduje zaufanie
- Pozytywny sygnał rankingowy w Google
- Dostęp do HTTP/2 (szybsza transmisja)
- Certyfikat DV przez Let's Encrypt jest bezpłatny
- Automatyczne odnowienie na większości hostów
Minusy
- Wymaga aktualizacji wszystkich zasobów strony na HTTPS (mixed content)
- Certyfikaty OV i EV kosztują i wymagają weryfikacji firmy
- Wygasły certyfikat blokuje dostęp do strony całkowicie
- Samopodpisany certyfikat nie da klódki - tylko ostrzeżenie przeglądarki
Mixed content - pułapka po przełączeniu na HTTPS
Po włączeniu certyfikatu nie można stwierdzić, że „sprawa załatwiona”. Częsty problem to mieszana treść (mixed content): strona działa na HTTPS, ale wczytuje obrazy, skrypty lub arkusze stylów przez HTTP. Przeglądarka blokuje wtedy część zasobów albo wyświetla ostrzeżenie mimo klódki.
W WordPress najczęstsze źródło tego problemu to adresy URL zapisane jako http:// w bazie danych - linki do obrazów, odwołania do plików motywu, ręcznie wpisane ścieżki. Rozwiązanie: strona internetowa powinna mieć skonfigurowane przekierowanie 301 z http:// na https://, a baza danych - zamienione wszystkie adresy. W WordPress używa się do tego WP-CLI lub wtyczki pokroju Really Simple SSL.
Nie zapomnij po włączeniu HTTPS sprawdzić Google Search Console i zaaktualizować właściwość strony na wersję https://. To odrębna właściwość - Google traktuje http:// i https:// jako dwa różne serwisy do momentu, aż mapujesz je razem.
Certyfikat SSL a SEO i zaufanie użytkowników
Zaufanie to niemierzalny, ale realny czynnik sprzedaży. Kiedy pracuję nad pozycjonowaniem klientom, jednym z pierwszych punktów audytu jest zawsze stan certyfikatu i kompletność przełączenia na HTTPS. Nie dlatego, że Google nagle awansuje stronę o 20 miejsc - ale dlatego, że to sygnał bazowej dbalości o witrynę, i że brak klódki po prostu odstrasza ludzi, zanim zdecydują się zostać dłużej.
Dla sklepu internetowego sprawa jest jeszcze prostsza: bez HTTPS nie ma sensu rozmawiać o konwersji. Klient, który ma wypłacić pieniądze, zauważy ostrzeżenie przeglądarki i wycofa się. Standard PCI DSS, który obowiązuje przy akceptacji kart płatniczych, wręcz nakazuje szyfrowanie transmisji danych.
Oprawa techniczna - czytaj także: czym jest domena internetowa i jak działa oraz co to jest hosting i jak działa serwer. Te trzy elementy - domena, hosting i certyfikat SSL - tworzą razem fundament każdej sprawnie działającej strony.
Jak zacząć - praktyczny plan dla właściciela strony
Jeśli twój serwis jeszcze nie ma certyfikatu albo nie masz pewności, czy jest poprawnie skonfigurowany:
Po pierwsze, zaloguj się do panelu hostingowego i sprawdź, czy certyfikat SSL jest aktywny dla twojej domeny. Na LH.pl jest to sekcja "Certyfikaty SSL" - jeden klik, żeby włączyć Let's Encrypt. Na home.pl, cyberfolks.pl, seohost.pl - podobnie.
Po drugie, wpisz adres swojej strony z http:// (bez s) i sprawdzić, czy automatycznie przekierowuje na https://. Jeśli nie - skonfiguruj przekierowanie w pliku .htaccess lub w panelu hostingowym.
Po trzecie, otwiórz stronę w Chrome, kliknij F12, przejdź do zakładki Console i poszukaj błędów "Mixed Content". Jeśli widzisz takie błędy - zasoby trzeba zaktualizować.
Jeśli prowadzisz sklep lub stronę z formularzami i nie czujesz się pewnie z konfiguracją techniczną - skontaktuj się bezpośrednio ze mną lub sprawdź ofertę tworzenia stron internetowych. Certyfikat SSL to jeden z pierwszych punktów, które weryfikuję przy każdym nowym projekcie.
Technicznie nie ma przepisu, który zmusza do jego instalacji na każdej witrynie. W praktyce jednak brak SSL oznacza, że przeglądarki wyświetlają ostrzeżenie 'Niebezpieczna' przy adresie, co skutecznie odstręcza odwiedzających. Dla sklepów internetowych, gdzie przesłane są dane płatnicze, szyfrowanie jest wymogiem standardów PCI DSS. To ikona informująca, że połączenie z serwerem jest szyfrowane i certyfikat został zweryfikowany przez zaufany urząd. Klikając ją, można zobaczyć szczegóły certyfikatu: na kogo jest wystawiony, kto go wydał i kiedy wygaśnie. Brak klódki (lub przekreślona) oznacza brak szyfrowania albo błąd certyfikatu. Tak - szyfrowanie jest identyczne. Różnica polega wyłącznie na poziomie weryfikacji: Let's Encrypt wydaje certyfikaty z walidacją domeny (DV), czyli potwierdza tylko, że kontrolujesz domenę. Płatne certyfikaty OV lub EV weryfikują dodatkowo dane firmy, co bywa ważne dla banków i dużych instytucji. Dla typowej strony firmowej lub sklepu Let's Encrypt jest w pełni wystarczający. Dla certyfikatu Let's Encrypt na większości współczesnych hostów to dosłownie kliknięcie jednego przycisku w panelu i kilka sekund oczekiwania. Certyfikaty z walidacją organizacji (OV) wymagają złożenia dokumentów i weryfikacji przez urząd - może to potrwać od jednego do kilku dni roboczych. Mixed content, czyli mieszana treść, pojawia się gdy strona działa już na HTTPS, ale część zasobów - obrazy, skrypty, arkusze stylów - jest wczytywana nadal przez HTTP. Przeglądarki blokują takie zasoby lub wyświetlają ostrzeżenie, bo jeden nieszyfrowany zasob może podważyć bezpieczeństwo całej strony. Warto sprawdzić stronę narzędziami deweloperskimi po przełączeniu na HTTPS. Przy starszych implementacjach SSL dodawało niewielkie opóźnienie związane z handshake'm. Współcześnie protokół TLS 1.3 oraz technika HSTS sprawiają, że różnica jest pomijalna, a HTTPS w połączeniu z HTTP/2 (wymagającym szyfrowania) często działa szybciej niż nieszyfrowane HTTP.Najczęstsze pytania
Czy certyfikat SSL jest obowiązkowy dla każdej strony?
Co to jest klódka w przeglądarce przy adresie strony?
Czy Let's Encrypt jest bezpieczny tak samo jak płatny certyfikat?
Jak długo trwa instalacja certyfikatu SSL?
Co to są 'mixed content' i dlaczego przeglądarka blokuje część elementów strony?
Czy HTTPS wpływa na szybkość ładowania strony?
Potrzebujesz pomocy z projektem?
Robię strony WordPress i sklepy Shoper od 2500 zł. Partner Shoper, 120+ projektów.
- Odpowiedź w 24h
- Certyfikowany Partner Shoper
- 120+ zrealizowanych projektów
- Zgodność z RODO, pełna ochrona danych