Po co mi zielona kłódka, czyli o certyfikatach stron internetowych

W skrócie mówiąc dodany certyfikat bezpieczeństwa pozwala na szyfrowanie przesyłanej treści między Twoją stroną, a użytkownikiem. Co to jest szyfrowanie? Jeśli masz za sobą harcerskie przygody w młodości, to doskonale znasz to pojęcie. Polega to na przekształceniu tekstu z formy otwartej jak na przykład ten tekst, który obecnie czytasz, do zaszyfrowanej. Nikt kto nie zna klucza opisującego sposób w jaki litery zostały zamienione na inne znaki, nie jest w stanie odczytać treści. I na dokładnie takiej samej zasadzie działa protokół HTTPS. Dane między stroną, a czytelnikiem są przesyłane w sposób zaszyfrowany, a przeglądarka rozkodowuje je i prezentuje w rozpoznawalnej formie.

W czym pomaga szyfrowanie? Chroni przed atakami różnego typu np. man-in-the-middle, w którym atakujący jest w stanie przechwycić przesyłaną treść i podmienić ją nim dotrze do użytkownika końcowego. Inny przykład to reklamy dodawane do treści - możesz znać to z korzystania z WiFi w niektórych hotelach. Dane bez szyfrowania, przesyłane w sposób otwarty, są możliwe do przechwycenia przez każdego. Każdego! Nie wymaga to nawet specjalnej wiedzy - jeśli chcesz się o tym przekonać polecam wypróbowanie Wireshark'a i nasłuchiwanie pakietów, zwłaszcza w miejscu publicznym. Możesz łatwo podejrzeć jakie strony oglądają osoby w Twoim otoczeniu. Nie mówiąc już o przesyłaniu loginów i haseł w sposób otwarty... brrr. (Pamiętaj, że nawet jeśli uda Ci się podejrzeć czyjś login i hasło, używanie takich danych jest nielegalne!)

Dodatkowo certyfikat może poświadczyć o powiązaniu między domeną, a legalnie istniejącą instutucją czy firmą. Co mi to daje? Przyszli klienci mogą mieć pewność, że wchodzą w interakcje z firmą, z którą zamierzali, a nie jest to po prostu strona podająca się za daną spółkę. Przy zakupie książki w księgarni internetowej może nie mieć to aż takiego znaczenia. Co innego, gdy wchodzimy w interakcję z bankiem, instutucją rządową albo poprzez stronę internetową dokonujemy dużych transakcji. Wtedy ważna jest pewność, że jesteśmy na właściwej stronie.

HTTPS i połączenie szyfrowane staje się coraz szerszym trendem. Wspiera go także Google, który do przepisu na pozycję wyniku wyszukiwania dodał warunek o bezpiecznym połączeniu. Skutkuje to tym, że strony spełniające warunki bezpieczeństwa znajdują się wyżej w wynikach wyszukiwania. Współczesne przeglądarki również dostosowują interfejs, by wspierać użytkownika w rozpoznawaniu stron szyfrowanych i bezpiecznych, zwłaszcza przy wpisywaniu loginów i haseł.

Czym zatem jest HTTPS i SSL, czyli odrobina technikaliów

Jeśli otworzysz jakąkolwiek stronę internetową w przeglądarce, w pasku adresu znajdziesz na początku "http://" lub "https://". Pokazuje to jaki protokół został użyty do komunikacji z serwerem. Protokół to ustalony sposób komunikacji. HTTP jest prostym protokołem komunikacji między serwerem webowym a przeglądarką. HTTPS jest jego rozszerzeniem o protokół szyfrujący SSL (pod obecną nazwą TLS). SSL/TLS jest protokołem szyfrującym ogólnego zastosowania. Krótko mówiąc SSL dodatkowo opakowuje ruch między serwerem a przeglądarką użytkownika, właśnie używając szyfrowania.

Ok, przekonałaś mnie. Chcę mieć certyfikat. Czy to dużo kosztuje i czy wymaga ode mnie mnóstwa wiedzy technicznej?

Dobra wiadomość jest taka, że jest możliwość uzyskania bezpłatnego certyfikatu. Taką usługę oferuje Let's Encrypt, który jest open-source i jest finansowo wspierany m.in. przez Facebooka, Chrome, Akamai i inne. Niektóre hostingi wspierają generowanie i automatyczne odnawianie certyfikatu prosto z panelu administratora. Czyli klikamy raz zgodnie z instrukcją i mamy sprawę załatwioną.

Przykładowe polskie hostingi wspierające Let's Encrypt to HostingHouse i MyDevil.net. Tutaj ich instrukcje jak dodać certyfikat: Hosting House, MyDevil.net.

Niestety wiele popularnych polskich hostingów nie wspiera Let's Encrypt i nie ma tego w planach. Co nam wtedy zostaje? Możemy wykupić certyfikat i dodać go do naszej strony lub zmienić hosting.

Co rozumieć przez 'podstawowy' certyfikat?

Let's Encrypt oferuje nam certyfikat typu domenowego, czyli wygenerowany certyfikat dotyczy jednej, konkretnej domeny np. programeria.pl. Dodajemy go do naszej strony, dodajemy ustawienie by cały ruch korzystał z protokołu HTTPS, cieszymy się szyfrowanym połączeniem. Certyfikaty generowane są tylko na 90 dni, czyli po 3 miesiącach musimy dodać nowy. Najwygodniej jest, gdy nasz hosting zapewnia jego automatyczne odnawianie.

Czego nie dostaniemy?

Nie dostaniemy poświadczenia o związku między naszą firmą a domeną, które zapewnia certyfikat typu Extended Certificate. Zatem nie jest to dobra opcja dla wszystkich firm i instutucji, dla których potwierdzenie tożsamości właściciela jest podstawą.
Brak również wsparcia dla certyfikatów dla subdomen. Czyli mając domenę programeria.pl i rozszerzając ją np. o stronę "poczta.programeria.pl" podstawowy certyfikat nie obejmie tej subdomeny. Oczywiście można wygenerować osobny dla samej subdomeny, ale przy wielu subdomenach, może to już być zbyt czasochłonne.

Podsumowanie:

Certyfikat bezpieczeństwa to prosty sposób na zwiększenie bezpieczeństwa komunikacji użytkowników z naszą witryną. Warto mieć świadomość co daje nam ruch szyfrowany i zdecydować dodać go do naszej strony. Inicjatywa Let's Encrypt jest świetną alternatywą płatnych certyfikatów, ale ma swoje ograniczenia. Wpływa jednak na obecny rynek i ułatwia niewielkim stronom dodanie tej przydatnej opcji.

0 Komentarze