Warto wiedzieć

Chrome nie wczyta zasobów HTTP na witrynach z mixed content

By 23 stycznia 2020 No Comments

Google zapowiedział serię aktualizacji przeglądarki Chrome, które już w lutym 2020 doprowadzą do całkowitego zablokowania zasobów HTTP na stronach HTTPS. Może stanowić to duże wyzwanie dla właścicieli witryn zawierających tzw. mixed content. Na skutek zmian mogą one przestać działać poprawnie. Chrome uzna je także za niezabezpieczone.

W październiku 2019 roku Google ogłosiło zmianę w sposobie wyświetlania stron zawierających mixed content. Zgodnie z podaną informacją oznacza to, że przeglądarka Chrome nie będzie już dłużej wczytywać jakichkolwiek zasobów HTTP na stronach HTTPS. Od tej pory będzie to opcja domyślna. Wszystko w trosce o bezpieczeństwo danych Internautów.

W przeszłości Chrome blokował domyślnie niektóre zasoby związane z mixed content, jak np. skrypty i elementy iframe. Działo się tak, ponieważ ich załadowanie niosło za sobą największe potencjalne ryzyko cyberataku. Jednocześnie zdjęcia, pliki wideo i audio ładowane poprzez protokół HTTP, wczytywały się normalnie. Teraz to się zmieni.

Google chcąc nieco pomóc właścicielom stron internetowych, zaimplementuje rozwiązanie, które będzie w stanie samodzielnie uporać się z najpopularniejszym rodzajem błędu, skutkującym uznaniem witryny za zawierająca mixed content. W tym przypadku chodzi o zasoby własne strony z linkami w postaci HTTP://. Chrome automatycznie sprawdzi, czy pod adresem HTTPS:// nie znajduje się ich bezpieczna wersja. Jeżeli tak, zostaną one załadowane, a witryna nie będzie uznana za zawierającą mixed content.

Harmonogram zmian dotyczących mixed content w Chrome

Zmiany będą następować stopniowo, aby przyzwyczaić do nich zwykłych użytkowników. Przede wszystkim jednak Google chce dać webmasterom więcej czasu na dokonanie niezbędnych modyfikacji ich stron.

  • Wraz z premierą Chrome w wersji 79 (grudzień 2019), udostępniona zostanie opcja pozwalająca na odblokowanie zablokowanych elementów. W tym celu wystarczy kliknąć ikonkę kłódki obok adresu url i wejść w “Ustawienia Witryn”.
  • Chrome w wersji 80 (styczeń 2020) dodatkowo samodzielnie sprawdzi, czy zasoby nie posiadają wersji HTTPS. Witryny ze zdjęciami i wideo niezabezpieczonymi przez HTTPS spowodują, że strona zostanie określona jako niezabezpieczona.
  • Wersja 81 Chrome (luty 2020), spowoduje zablokowanie wszystkich zasobów mixed content na witrynie.

Walka Google o protokół HTTPS

Chrome to najpopularniejsza przeglądarka na świecie. Google natomiast jest monopolistą jeśli idzie o wyszukiwarki internetowe. Jak widać, zdecydowana większość osób na świecie konsumuje treści internetowe za pośrednictwem produktów i usług pochodzących od koncernu z Mountain View.

Google postanowiło wykorzystać ten wpływ, w celu zapewnienia większego bezpieczeństwa danych użytkowników Internetu. Przez ostatnie lata na różne sposoby nakłaniał on do odchodzenia od protokołu HTTP na rzecz HTTPS. Teraz ponownie poczynił w tym kierunku kolejny duży krok. Wygląda na to, że właściciele stron internetowych nie będą mieć wyboru, aby dalej istnieć w sieci www będą musieli nie tylko wdrożyć HTTPS, ale także zrobić to poprawnie. To właśnie błędna implementacja HTTPS prowadzi do powstawania problemu, jaki w oczach Google niesie za sobą mixed content.

Dlaczego HTTPS jest bezpieczne, a HTTP nie jest?

Najpierw warto wyjaśnić, z czego dokładnie wynika zagrożenie związane ze stosowaniem protokołu HTTP. W pierwszej kolejności należy zrozumieć, że wpisując adres danej witryny, a także wchodząc w rozmaite interakcje z nią (kliknięcie linka, zalogowanie się, zakupy, wypełnienie formularza itd.), przesyłane są pewne dane pomiędzy komputerem użytkownika, a zewnętrznym serwerem. Różnica pomiędzy protokołami HTTP a HTTPS polega przede wszystkim na tym, że w przypadku tego pierwszego wysyłane dane nie są szyfrowane. 

W związku z tym, jedynie HTTPS gwarantuje odpowiedni poziom bezpieczeństwa. Ma to szczególne znaczenie, gdy dana strona ma dostęp do danych osobowych lub związanych z dokonywanymi płatnościami. Szyfrowanie danych zabezpiecza użytkowników przed przechwyceniem tych informacji przez nieuprawnioną do tego osobę.

Mixed content – co to?

Strony internetowe zawierające mixed content, wczytują zasoby zabezpieczone zarówno za pomocą bezpiecznego protokołu HTTPS, jak i niezabezpieczonego HTTP. W takiej sytuacji HTTPS jest używane do załadowania podstawowego kodu witryny. Natomiast pewne zasoby na stronie, jak np. zdjęcia, skrypty, filmy, muzyka oraz inne pliki, są wczytywane poprzez HTTP. Stąd nazwa – mixed content, czyli po polsku mieszana treść (lub zawartość).

Zagrożenia wynikające z mixed content

Wejście na stronę z zawartością mieszaną nie musi, ale może wiązać się z zagrożeniem związanym z bezpieczeństwem danych. Dlatego Google twierdzi, że blokowanie zasobów HTTP na stronie jest koniecznością, ponieważ eliminuje ryzyko kradzieży danych. W innym wypadku, niezabezpieczone treści, wczytywane z zewnętrznych serwerów, mogą zostać wykorzystane przez osoby o złych zamiarach. To natomiast z pewnością będzie miało niepożądane konsekwencje. 

Stopień zagrożenia zależy także od tego, czy mamy do czynienia z zawartością mieszaną aktywną, czy pasywną.

Zawartość mieszana pasywna

Odnosi się do takich zasobów na stronie jak zdjęcia, pliki audio, wideo lub niektórych z nich wczytywanych poprzez znacznik HTML . Osoba wykonująca atak, może przejąć tak załadowywany zasób i zastąpić go inną wersją. Możliwe jest np. wczytanie witryny z treściami, które będą wprowadzać w błąd lub nakłaniać do określonego działania. Bezpośrednie zagrożenie związane z takim atakiem jest niskie. Aczkolwiek Google podaje przykład sytuacji, kiedy np. inwestorzy otrzymują spreparowane informacje na jakiś temat i na tej podstawie podejmują ważne decyzje. Dodatkowo zawartość mieszana pasywna umożliwia także śledzenie ruchu i aktywności użytkownika na stronie. Wystarczy, że zdjęcia zostaną podmienione na wersję umieszczoną na serwerze kontrolowanym przez cyberprzestępców. Na podstawie wykazu dostępu do zastąpionych plików, możliwe jest określenie tego, jakie podstrony były odwiedzane przez daną osobę.W przeszłości Chrome dopuszczał wczytywanie tego typu niezabezpieczonych zasobów. Teraz, począwszy od wersji Chrome 81, ulegnie to zmianie. Domyślnie będzie to niemożliwe.

Zawartość mieszana aktywna

Zawartość mieszana aktywna niesie za sobą znacznie większe zagrożenie. Atakujący poprzez takie elementy, jak skrypty, linki, obiekty iframe itd., które (w przeciwieństwie do np. zdjęć) wpływają na działanie strony, mogą skutecznie doprowadzić do kradzieży poufnych danych.Przykładowo dany skrypt, który został wczytany poprzez HTTP z zewnętrznego serwera, może zostać przechwycony i posłużyć do wykonania na komputerze użytkownika dowolnej instrukcji wysłanej przez cyberprzestępców. Może także nastąpić przekierowanie do innej strony. Atak tego typu bywa wykorzystywany do kradzieży danych logowania, danych związanych z  transakcjami płatniczymi oraz wszelkich innych informacji, do jakich może zostać uzyskany dostęp.

Google już od kilku lat zaleca odejście od HTTP

Od kilku lat Google systematycznie nakłania do stosowania bezpiecznych certyfikatów SSL/TSL. Z jednej strony używa do tego samego interfejsu przeglądarki, określając witryny bez HTTPS jako niezabezpieczone. Z drugiej, coraz bardziej daje do zrozumienia, że protokół HTTPS może być brany jako czynnik rankingowy przy ustalaniu pozycji witryny w wynikach organicznych. Szczególnie ten fakt może stanowić bodziec do masowych migracji na HTTPS.Wprowadzone zmiany wpisują się w szerszy kontekst działań podejmowanych przez Google. Mają one na celu poprawę bezpieczeństwa użytkowników Internetu. Koncern z Mountain View chwali się, że w efekcie wdrożonych do tej pory rozwiązań aż 90% czasu, jaki spędzają użytkownicy Chrome (uwzględniając wszystkie platformy) na przeglądaniu Internetu, odbywa się poprzez HTTPS.

Jak wyeliminować mixed content ze swojej strony internetowej?

Dokładna procedura postępowania zależy indywidualnie od konkretnego przypadku. Poniżej znajduje się kilka ogólnych wskazówek:

  • Warto wykorzystać narzędzia pokroju Screaming Frog lub Netpeak Spider, aby uzyskać listę wszystkich zasobów ładowanych na stronie poprzez protokół HTTP. Podobne dane można otrzymać z poziomu konsoli w Chrome (należy wcisnąć F12). Dzięki temu będzie wiadomo, którymi z nich należy się zająć.
  • Zaleca się rezygnację z umieszczania na witrynie zdjęć z innych stron. W wielu przypadkach to właśnie one odpowiadają za pojawienie się komunikatu o mixed content. Znacznie lepiej umieścić je na własnym serwerze z odpowiednim przypisem o prawach autorskich. Nie zawsze jednak pozwoli na to licencja danego zdjęcia. W takiej sytuacji dużo lepiej je usunąć, niż narażać się na to, że nie będzie ono wczytywane.
  • Może być tak, że część linków w kodzie witryny nadal odwołuje się do zasobów poprzez HTTP. Dzieje się tak, gdy linki do nich zostały wpisane “na sztywno”. W takim wypadku wystarczy ich zamiana na HTTPS. Jeżeli chodzi o przeglądarkę Chrome, powinna ona poradzić sobie z problemem i poprawić linki podczas ładowania strony. Pomimo tego i tak warto dokonać zmian w kodzie HTML. Osoby korzystające z CMS, jak np. WordPress, mogą poszukać specjalnych wtyczek, które pozwolą na automatyczne przeczesanie bazy danych w poszukiwaniu linków z HTTP oraz zastąpienie ich przez HTTPS.
  • Warto rozważyć tworzenie własnych treści wizualnych, zamiast korzystać z tych ładowanych z zewnętrznych serwerów.
  • Skrypty powinny być uruchamiane z własnego serwera, lub szybkich serwerów CDN.
  • W większości przypadków najlepiej będzie zlecić kompleksowy audyt witryny, na podstawie którego będzie możliwa pełna konwersja na HTTPS.

Jak widać, niebezpieczeństwo związane z mixed content może pojawić się po nieumiejętnej migracji na HTTPS lub nagle, np. na skutek umieszczenia zdjęcia, które znajduje się na stronie HTTP. O ile webmasterzy oraz agencje SEO są świadome tego zagrożenia, to już zwykli użytkownicy internetu niekoniecznie. Dlatego warto edukować w tym zakresie właścicieli stron internetowych. W szczególności agencje SEO powinny uczulać na tego typu działania swoich klientów.Rozwiązania wdrażane przez Google mają na celu poprawę bezpieczeństwa użytkowników. Wymuszą także na właścicielach stron internetowych dostosowanie się do nowych zmian. Jednocześnie witryny, które poprawnie przeszły migrację na HTTPS, nie mają żadnych powodów do obaw.

Leave a Reply