Zabezpieczanie witryny za pomocą protokołu HTTPS
Co to jest protokół HTTPS?
HTTPS (HyperText Transfer Protocol Secure) to internetowy protokół komunikacyjny chroniący integralność i poufność danych przesyłanych między komputerem a witryną. Użytkownicy oczekują, że będą mogli korzystać z witryn internetowych w sposób bezpieczny i z zachowaniem prywatności. Zachęcamy do stosowania protokołu HTTPS, by chronić połączenia użytkowników z witryną niezależnie od jej zawartości.
Dane przesyłane za pomocą HTTPS chroni protokół TLS (Transport Layer Security), który ma 3 główne warstwy zabezpieczeń:
Szyfrowanie – szyfruje przesyłane dane, co zapobiega ich odczytywaniu przez intruzów. Uniemożliwia to przechwytywanie rozmów prowadzonych przez użytkownika, śledzenie jego działań na różnych stronach i wykradanie jego informacji, gdy przegląda on witrynę.
Integralność danych – pozwala na wykrywanie wszystkich celowych lub innych zmian i uszkodzeń danych podczas przesyłania.
Uwierzytelnianie – potwierdza, że użytkownik komunikuje się z właściwą witryną. Chroni ono przed atakami typu „man in the middle” i wzbudza zaufanie użytkowników, co przekłada się na korzyści biznesowe.
Sprawdzone metody wdrażania protokołu HTTPS
Używaj sprawdzonych certyfikatów bezpieczeństwa
Gdy wprowadzasz protokół HTTPS w witrynie, musisz uzyskać certyfikat bezpieczeństwa. Wystawia go urząd certyfikacji, który wcześniej weryfikuje, czy adres internetowy faktycznie należy do Twojej organizacji. Certyfikat chroni Twoich klientów przed atakami typu „man in the middle”. Podczas konfigurowania certyfikatu wybierz klucz 2048-bitowy, by maksymalnie zwiększyć bezpieczeństwo. Jeśli masz już certyfikat ze słabszym kluczem (1024-bitowym), przejdź na wersję 2048-bitową. Przy wyborze certyfikatu witryny pamiętaj o tych wskazówkach:
Certyfikat uzyskaj od wiarygodnego urzędu certyfikacji, który oferuje pomoc techniczną.
Zdecyduj, jakiego rodzaju certyfikatu potrzebujesz:
pojedynczy certyfikat do zabezpieczenia 1 adresu (np. www.example.com);
certyfikat do zabezpieczenia wielu domen o określonych adresach (np. www.example.com, cdn.example.com, example.co.uk);
certyfikat z symbolem wieloznacznym do zabezpieczenia adresu z wieloma dynamicznymi subdomenami (np. a.example.com, b.example.com).
Używaj przekierowań 301 po stronie serwera
Przekierowuj użytkowników i wyszukiwarki do strony lub zasobu HTTPS, korzystając z przekierowań HTTP 301 po stronie serwera.
Zadbaj, by Googlebot mógł indeksować Twoje strony HTTPS
Nie blokuj dostępu do stron HTTPS za pomocą pliku robots.txt.
Nie stosuj tagów noindex na stronach HTTPS.
Użyj narzędzia do sprawdzania adresów URL, by zobaczyć, czy Googlebot ma dostęp do Twoich stron.
Stosuj mechanizm HSTS
Zalecamy, by witryny HTTPS obsługiwały mechanizm HSTS (HTTP Strict Transport Security). HSTS informuje przeglądarkę, że ma ona automatycznie ładować strony używające protokołu HTTPS – nawet wtedy, gdy w pasku adresu użytkownik wpisze http. Informuje też wyszukiwarkę Google, że w wynikach wyszukiwania ma podawać bezpieczne adresy URL. Wszystko to zmniejsza ryzyko wyświetlania użytkownikom niezabezpieczonych treści.
Aby umożliwić działanie funkcji HSTS, korzystaj z serwera, który ją obsługuje, i ją włącz.
HSTS zwiększa bezpieczeństwo, ale komplikuje cofanie zmian. Zalecany sposób wdrażania tego mechanizmu:
Najpierw opublikuj strony HTTPS bez HSTS.
Zacznij wysyłać nagłówki HSTS z krótkim max-age. Przyjrzyj się, jak wygląda natężenie ruchu ze strony użytkowników i klientów oraz jak działają obiekty zależne, np. reklamy.
Powoli zwiększaj zakres działania mechanizmu HSTS max-age.
Jeśli mechanizm HSTS nie obniża komfortu obsługi witryny ani nie wpływa negatywnie na działanie wyszukiwarek, poproś o dodanie strony do listy wstępnego wczytywania HSTS, z której korzysta większość najpopularniejszych przeglądarek.
Zastanów się, czy warto wdrożyć wstępne ładowanie HSTS
Jeśli korzystasz z HSTS, możesz włączyć obsługę wstępnego ładowania HSTS, by zwiększyć bezpieczeństwo i przyśpieszyć działanie witryny. Aby włączyć wstępne ładowanie, musisz wejść na hstspreload.org i spełnić warunki dotyczące witryny