Co to jest SSL?

Autor: Opublikowano

W skrócie: SSL to potoczna nazwa technologii zabezpieczającej połączenie między przeglądarką a serwerem strony. Współczesne witryny używają jej następcy, czyli TLS, choć nadal często mówi się o „certyfikacie SSL”. Takie połączenie chroni przesyłane dane przed odczytaniem i zmianą po drodze, ale nie gwarantuje uczciwości właściciela witryny.

SSL, TLS i HTTPS — czym się różnią?

SSL, czyli Secure Sockets Layer, jest starszym protokołem zabezpieczania komunikacji sieciowej. Jego następcą jest TLS — Transport Layer Security. Dawne wersje SSL są przestarzałe i nie powinny być używane; nazwa utrzymała się jednak w ofertach hostingów i certyfikatów.

HTTPS to HTTP, czyli protokół komunikacji ze stroną internetową, zabezpieczony przez TLS. Adres zaczynający się od https:// oznacza więc próbę połączenia z witryną przy użyciu tego zabezpieczenia. Poprawność połączenia ocenia przeglądarka, która w razie problemów może wyświetlić ostrzeżenie.

Certyfikat to cyfrowy dokument wiążący nazwę domeny z kluczem publicznym używanym przy uwierzytelnianiu serwera. Przy zwykłym wejściu na stronę przeglądarka sprawdza między innymi, czy certyfikat pasuje do adresu, jest ważny i pochodzi z zaufanego łańcucha wystawców. Sam certyfikat nie szyfruje całej transmisji — jest elementem mechanizmu, który pozwala bezpiecznie ustanowić połączenie.

Co chroni szyfrowane połączenie, a czego nie?

TLS zapewnia poufność przesyłanych danych oraz ich integralność, czyli ochronę przed niezauważoną zmianą podczas transmisji. Pomaga też potwierdzić, że przeglądarka komunikuje się z serwerem uprawnionym do obsługi wskazanej domeny.

Przykładowo, gdy klient wpisuje hasło lub adres dostawy w sklepie korzystającym prawidłowo z HTTPS, osoba podsłuchująca ruch w sieci nie powinna móc odczytać tych informacji. Bez szyfrowania treść formularza mogłaby zostać przechwycona. HTTPS chroni również zawartość przesyłanej strony przed podmianą po drodze.

Szyfrowane połączenie nie oznacza jednak, że sama witryna jest bezpieczna lub uczciwa. Oszust również może uzyskać certyfikat dla swojej domeny. Dlatego przed płatnością sprawdź dokładny adres sklepu i dane sprzedawcy, a nie tylko oznaczenie połączenia w przeglądarce.

TLS nie zabezpiecza też danych po ich zapisaniu na serwerze, nie usuwa wirusów i nie naprawia błędów aplikacji. Nie zapewnia pełnej anonimowości: obserwator sieci nadal może widzieć część informacji o połączeniu, na przykład adres IP serwera. Aktualizacje oprogramowania, kontrola dostępu i kopie zapasowe pozostają osobnymi zadaniami.

Jaki certyfikat wybrać dla strony?

Dla typowego bloga, strony firmowej czy sklepu zwykle wystarcza certyfikat DV, czyli z weryfikacją kontroli nad domeną. Wystawca sprawdza, czy zamawiający potrafi potwierdzić tę kontrolę, na przykład przez odpowiedni wpis w DNS — systemie kierującym ruch domeny do właściwych usług.

Certyfikaty OV i EV obejmują także weryfikację organizacji, przy czym EV wymaga szerszego sprawdzenia według zasad wystawcy. Nie oznacza to automatycznie mocniejszego szyfrowania niż przy DV. Wybór takiego certyfikatu może wynikać z wymagań organizacyjnych lub umownych, a nie z potrzeby lepszego zabezpieczenia samej transmisji.

Przy wyborze sprawdź przede wszystkim zakres nazw objętych certyfikatem:

Darmowy certyfikat od zaufanego wystawcy może zapewnić taki sam poziom szyfrowania jak płatny przy porównywalnej konfiguracji. Opłata może dotyczyć dodatkowej weryfikacji, wsparcia lub obsługi. Aktualną dostępność, warunki i sposób odnawiania potwierdź w dokumentacji hostingu lub wystawcy.

Jak uruchomić HTTPS na swojej stronie?

Na hostingu współdzielonym certyfikat często można włączyć w panelu administracyjnym. Na własnym serwerze potrzebna jest konfiguracja serwera WWW i mechanizmu odnawiania. Jeśli korzystasz z CDN, czyli sieci pośredniczącej w dostarczaniu treści, zabezpiecz także odcinek między CDN a serwerem źródłowym.

Praktyczna kolejność wdrożenia wygląda tak:

  1. Ustal wszystkie używane nazwy domeny, w tym wariant z www i potrzebne subdomeny.
  2. Wystaw oraz zainstaluj certyfikat, korzystając z instrukcji swojego dostawcy.
  3. Sprawdź działanie strony przez HTTPS, zwłaszcza logowania, formularzy i płatności.
  4. Zmień adres witryny w systemie zarządzania treścią oraz odwołania do obrazów, skryptów i arkuszy stylów na HTTPS.
  5. Ustaw stałe przekierowanie z HTTP na HTTPS.
  6. Włącz automatyczne odnawianie i powiadomienia o problemach.

Pozostawione zasoby ładowane przez HTTP powodują tak zwaną mieszaną zawartość. Przeglądarka może je blokować lub próbować pobrać przez HTTPS, przez co część strony przestanie działać. Samo zainstalowanie certyfikatu nie kończy więc wdrożenia.

Jak sprawdzić certyfikat i reagować na błędy?

W informacjach o witrynie dostępnych przy pasku adresu można sprawdzić stan połączenia i szczegóły certyfikatu. Wygląd tego menu zależy od przeglądarki — nie każda pokazuje tradycyjną kłódkę. Sprawdź nazwę domeny oraz okres ważności dokumentu.

Ostrzeżenie może oznaczać wygaśnięcie certyfikatu, niedopasowanie do adresu albo błędną konfigurację serwera. Przyczyną bywa też nieprawidłowa data na urządzeniu. Jako odwiedzający nie omijaj ostrzeżenia, aby podać hasło lub dane płatnicze; jako administrator usuń przyczynę zamiast prosić użytkowników o zaakceptowanie błędu.

Jeśli zarządzasz stroną, zacznij od sprawdzenia w panelu hostingu, czy certyfikat obejmuje wszystkie używane adresy i czy odnawia się automatycznie. Następnie wykonaj próbne wysłanie formularza przez HTTPS — to prosty test, czy zabezpieczenie działa także tam, gdzie użytkownik przekazuje dane.

Zobacz też: Co to jest CDN?

Przeczytaj także

Dowiedz się, jak PHP-FPM obsługuje żądania PHP, czym różni się od serwera WWW i jak dobrać ustawienia procesów do ruchu oraz zasobów hostingu.
Poznaj BIND, otwarte oprogramowanie serwera DNS: sprawdź, jak obsługuje domeny, czym różnią się jego role i kiedy warto samodzielnie go wdrożyć.
Poznaj najważniejsze Security Headers, ich rolę w ochronie strony oraz sposób sprawdzania i wdrażania nagłówków bez blokowania potrzebnych funkcji.