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ń:

  1. 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ę.
  2. Integralność danych – pozwala na wykrywanie wszystkich celowych lub innych zmian i uszkodzeń danych podczas przesyłania.
  3. 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:

  1. Najpierw opublikuj strony HTTPS bez HSTS.
  2. 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.
  3. Powoli zwiększaj zakres działania mechanizmu HSTS max-age.
  4. 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.

Pamiętaj o typowych problemach

Gdy zabezpieczasz witrynę protokołem TLS, unikaj tych błędów:

Problem Działanie
Wygasłe certyfikaty Pamiętaj, by certyfikat zawsze był aktualny.
Certyfikat zarejestrowany dla niewłaściwej nazwy witryny Sprawdź, czy Twój certyfikat obejmuje wszystkie nazwy hosta obsługiwane przez witrynę. Jeśli na przykład certyfikat uwzględnia tylko witrynę www.example.com, użytkownik, który wpisze adres example.com (bez przedrostka „www.”), nie będzie mógł otworzyć strony z powodu niezgodności z nazwą wskazaną w certyfikacie.
Brak obsługi rozszerzenia SNI (Server Name Indication) Upewnij się, że serwer WWW i przeglądarki użytkowników obsługują rozszerzenie SNI. Wszystkie nowoczesne przeglądarki są zgodne z SNI, jednak na potrzeby tych starszych musisz utworzyć specjalny adres IP.
Problemy z dostępem robotów Nie blokuj robotom dostępu do witryny HTTPS w pliku robots.txt.
Problemy z indeksowaniem Gdy to tylko możliwe, zezwalaj wyszukiwarkom na indeksowanie stron w witrynie. Unikaj tagu noindex.
Stare wersje protokołów Stare wersje protokołów mają luki w zabezpieczeniach. Upewnij się, że masz najnowsze biblioteki protokołu TLS i stosujesz najnowsze wersje protokołów.
Różne poziomy zabezpieczeń Na stronach HTTPS umieszczaj tylko treści HTTPS.
Inna zawartość wersji HTTP i HTTPS Upewnij się, że wersje HTTP i HTTPS witryny mają taką samą zawartość.
Błędy kodu stanu HTTP w witrynie HTTPS Sprawdź, czy witryna zwraca prawidłowy kod stanu HTTP. Na przykład 200 OK w przypadku dostępnych stron, a 404 lub 410 w przypadku tych, które nie istnieją.

Dodatkowe wskazówki

Przeczytaj artykuł omawiający najczęstsze pytania dotyczące migracji do protokołu HTTPS. Zawiera on więcej wskazówek na temat umieszczania stron HTTPS w witrynie.

Migracja z protokołu HTTP do HTTPS

Google traktuje migrację witryny z protokołu HTTP do HTTPS jako przeniesienie witryny ze zmianami adresów URL. Może to przejściowo wpłynąć na niektóre statystyki ruchu. Więcej informacji znajdziesz na stronie opisującej przenoszenie witryny.

Dodaj nową usługę HTTPS do Search Console: Search Console odróżnia witryny HTTP od HTTPS – dlatego dane usług nie są wspólne.

Informacje o rozwiązywaniu problemów z przenoszeniem witryny znajdziesz na tej stronie.

Więcej informacji

Więcej szczegółów na temat wdrażania protokołu TLS w witrynie: