Czerwony ekran „Witryna zawiera złośliwe oprogramowanie” — co robić?

Z ostrzeżeń Google to jest to najbardziej dotkliwe: klient wpisuje adres Twojej strony albo klika w link z Twojej wizytówki, a zamiast strony widzi cały ekran na czerwono z napisem „Witryna zawiera złośliwe oprogramowanie” lub „Przed Tobą witryna wyłudzająca informacje” i przyciskiem „Wróć do bezpieczeństwa”. Prawie nikt nie szuka małego linku „szczegóły”, żeby wejść mimo wszystko. Z perspektywy klienta strona po prostu przestała istnieć. Ten tekst wyjaśnia, skąd bierze się ten ekran, dlaczego pojawia się nie tylko w Chrome, jak sprawdzić, co dokładnie Google znalazł, i jak zdjąć ostrzeżenie — w kolejności, która działa.

Skąd bierze się czerwony ekran

To nie przeglądarka „uznała”, że strona jest groźna. Przeglądarka sprawdza adres w bazie Google Safe Browsing — liście stron, na których systemy Google wykryły złośliwe oprogramowanie, phishing (podszywanie się pod banki, pocztę, kurierów) albo niechciane oprogramowanie. Z tej samej bazy korzystają Chrome, Firefox, Safari, Android, Gmail (ostrzega przy linkach w mailach), a także wiele programów antywirusowych i filtrów w firmach. Dlatego nie da się „odblokować strony w Chrome” — trzeba zdjąć wpis u źródła.

Jak Twoja strona tam trafiła? Prawie zawsze przez włamanie: ktoś wykorzystał lukę (najczęściej w przestarzałej wtyczce WordPressa) i umieścił na stronie kod, który przekierowuje odwiedzających na strony z fałszywymi aktualizacjami, „ostrzeżeniami o wirusie” lub wyłudzaniem danych, albo podrzucił na Twój serwer gotowe strony phishingowe (np. fałszywą stronę logowania do banku w podkatalogu, o którym nie wiesz). Roboty Google odwiedziły stronę, trafiły na tę treść — i wpisały domenę na listę.

Dwa warianty, które warto rozróżnić

  • „Witryna zawiera złośliwe oprogramowanie” — Google znalazł kod, który próbuje zainfekować urządzenie odwiedzającego lub przekierowuje do takiego kodu.
  • „Przed Tobą witryna wyłudzająca informacje” (phishing) — na Twojej domenie są strony udające bank, pocztę, urząd, kuriera, które wyłudzają loginy i dane kart. Ten wariant najczęściej dotyczy plików podrzuconych do podkatalogu — Twoja strona główna może być zupełnie czysta.

Oba zdejmuje się tak samo, ale w drugim przypadku trzeba koniecznie przeszukać cały serwer, nie tylko katalog WordPressa — strony phishingowe lądują w podkatalogach, w starych kopiach strony, w nieużywanych subdomenach.

Krok 1. Sprawdź, co dokładnie wie Google

Dwa miejsca, oba bezpłatne:

  1. Raport przejrzystości Google — transparencyreport.google.com/safe-browsing/search. Wpisz domenę; zobaczysz aktualny status i rodzaj zagrożenia. To publiczne narzędzie, działa bez logowania — tak samo sprawdzi Cię każdy klient.
  2. Google Search Console → Bezpieczeństwo i ręczne działania → Problemy dotyczące bezpieczeństwa. Tu Google podaje kategorię i przykładowe adresy. Tu też później złożysz wniosek. Jeśli nie masz Search Console, załóż i zweryfikuj domenę teraz — bez tego nie da się zgłosić strony do ponownego sprawdzenia.

Zrób zrzuty ekranu z obu miejsc. Jeśli ostrzeżenie dotyczy phishingu, przykładowe adresy z Search Console pokażą Ci, w którym katalogu leżą obce pliki.

Krok 2. Ogranicz szkody tu i teraz

Jeśli strona aktywnie przekierowuje odwiedzających na niebezpieczne treści albo serwuje phishing — włącz tryb konserwacji lub poproś hosting o tymczasowe wyłączenie. Nie dlatego, że „tak wypada”, tylko dlatego, że każdy kolejny odwiedzający trafiający na szkodliwą treść to kolejny sygnał dla Google, a każda ofiara phishingu na Twojej domenie to potencjalna sprawa, w której będziesz musiał tłumaczyć, że to nie Ty. Zmień hasła: panel, hosting, FTP/SFTP, baza — z innego komputera, jeśli to możliwe.

Krok 3. Zrób kopię — zanim zaczniesz usuwać

Pełna kopia plików i bazy w stanie „po włamaniu”. Brzmi niepotrzebnie, ale to w niej są ślady: daty modyfikacji, logi, pliki, z których da się wyczytać, którędy weszli. Bez tej wiedzy wyczyścisz objawy, a za dwa tygodnie czerwony ekran wróci.

Krok 4. Wyczyść stronę — cały serwer, nie tylko WordPressa

Co trzeba zrobić, żeby czyszczenie było skuteczne:

  • podmienić rdzeń WordPressa, wtyczki i motyw na czyste oryginały w tych samych wersjach (porównanie plik po pliku, nie „na oko”),
  • przejrzeć bazę danych pod kątem wstrzykniętych skryptów i obcych adresów,
  • sprawdzić wszystkie pliki .htaccess, katalog uploads pod kątem plików PHP, wtyczki must-use, zadania cron,
  • przeszukać cały obszar konta hostingowego: podkatalogi, stare kopie strony („strona_stara”, „backup”, „test”), inne domeny i subdomeny na tym samym koncie — phishing bardzo często leży właśnie tam,
  • usunąć obce konta administratora, wymienić klucze i sole w wp-config.php,
  • ustalić drogę ataku i zamknąć lukę: zaktualizować lub usunąć podatny element.

Szczegóły tego, gdzie siedzi kod przekierowujący, opisaliśmy w tekście Moja strona przekierowuje na inną stronę. Jeśli nie masz w firmie kogoś, kto to zrobi, to jest dokładnie zakres naszej usługi: czyszczenie strony po włamaniu — od diagnozy po zdjęcie ostrzeżeń, jedna stała kwota po analizie.

Krok 5. Zgłoś stronę do ponownego sprawdzenia

W Search Console, w raporcie Problemy dotyczące bezpieczeństwa, kliknij „Poproś o sprawdzenie”. Opisz, co znaleziono i co zrobiono — konkretnie, bez „usunęliśmy wirusa”. Google ponownie skanuje stronę; jeśli jest czysta, wpis w Safe Browsing znika i czerwony ekran przestaje się pokazywać w ciągu kolejnych godzin lub dni (przeglądarki odświeżają listę regularnie). Jeśli Google znajdzie resztki — odrzuca wniosek, a Ty wracasz do kroku 4. Dlatego między czyszczeniem a wnioskiem warto samemu sprawdzić stronę testem na żywo w narzędziu sprawdzania adresu URL, patrząc na nią oczami robota Google, a nie własnymi — bo złośliwy kod zwykle ukrywa się przed właścicielem (cloaking).

Krok 6. Sprawdź inne listy

Safe Browsing jest najważniejszy, ale nie jedyny. Jeśli infekcja trwała długo, domena mogła trafić także na listy innych dostawców (np. Microsoft SmartScreen w Edge, listy antywirusowe, listy spamowe, jeśli serwer rozsyłał maile). Każda ma własną procedurę zgłoszenia; większość zdejmuje wpis automatycznie po kilku dniach od wyczyszczenia. Sprawdzisz to zbiorczo w narzędziach typu VirusTotal (wpisz adres strony) i MXToolbox (czarne listy pocztowe).

Krok 7. Zabezpiecz, żeby nie wróciło

Aktualizacje na bieżąco, usunięcie nieużywanych wtyczek i starych kopii strony z serwera, dwuetapowe logowanie, blokada wykonywania PHP w uploads, kopie zapasowe poza serwerem, monitoring zmian plików, Search Console sprawdzana regularnie. A jeśli czerwony ekran to już kolejny incydent na tej samej stronie — czas na rozmowę o fundamencie: Czy WordPress jest bezpieczny?.

Pytania

Pytania o czerwony ekran

Co oznacza „Witryna zawiera złośliwe oprogramowanie”?

Że Twoja domena jest na liście Google Safe Browsing jako strona, na której systemy Google wykryły złośliwe oprogramowanie — kod próbujący zainfekować urządzenie odwiedzającego albo przekierowujący do takiego kodu. Przeglądarka sprawdza adres w tej liście przed otwarciem strony i pokazuje czerwony ekran. Prawie zawsze przyczyną jest włamanie na stronę, nie Twoje działanie.

Jak usunąć ostrzeżenie Google Safe Browsing?

Nie da się go „wyłączyć” — trzeba zdjąć wpis u źródła: (1) sprawdzić szczegóły w Search Console (Problemy dotyczące bezpieczeństwa) i w raporcie przejrzystości Google; (2) wyczyścić cały serwer, łącznie z podkatalogami, starymi kopiami strony i subdomenami; (3) zamknąć lukę i wymienić hasła; (4) złożyć wniosek o ponowne sprawdzenie w Search Console. Po pozytywnej decyzji wpis znika, a przeglądarki przestają blokować stronę w ciągu godzin lub dni.

Dlaczego Chrome blokuje moją stronę?

Chrome nie ocenia strony sam — korzysta z listy Google Safe Browsing. Jeśli Twoja domena jest na niej oznaczona jako złośliwa lub wyłudzająca dane, Chrome pokazuje czerwony ekran każdemu odwiedzającemu. Tę samą listę sprawdzają Firefox, Safari, Android i Gmail, dlatego blokada wygląda tak samo u wszystkich klientów. Sprawdzisz status domeny w raporcie przejrzystości Google.

Jak sprawdzić, czy moja strona jest na liście Safe Browsing?

Wejdź na transparencyreport.google.com/safe-browsing/search i wpisz domenę — zobaczysz aktualny status i rodzaj zagrożenia bez logowania. Szczegóły (kategoria, przykładowe adresy) są w Google Search Console → Bezpieczeństwo i ręczne działania → Problemy dotyczące bezpieczeństwa, po zweryfikowaniu domeny.

Ile trwa zdjęcie czerwonego ekranu po wyczyszczeniu strony?

Od złożenia wniosku o ponowne sprawdzenie do decyzji Google mija zwykle od kilku dni do około dwóch tygodni; po pozytywnej decyzji przeglądarki odświeżają listę w ciągu godzin lub dni. Bez wniosku Google nie skanuje strony ponownie od razu — czerwony ekran może wisieć tygodniami mimo czystej strony.

Co oznacza „Przed Tobą witryna wyłudzająca informacje”?

To wariant ostrzeżenia Safe Browsing dotyczący phishingu: na Twojej domenie są strony udające bank, pocztę, urząd lub kuriera, wyłudzające loginy i dane kart. Najczęściej to pliki podrzucone do podkatalogu, starej kopii strony lub nieużywanej subdomeny — Twoja strona główna może być zupełnie czysta. Dlatego przy tym komunikacie trzeba przeszukać całe konto hostingowe, nie tylko katalog WordPressa.

Czy mój klient, który wszedł na stronę, ma już wirusa?

Niekoniecznie. Ostrzeżenie oznacza, że strona próbowała przekierować do szkodliwej treści lub ją zawierała; infekcja urządzenia wymaga zwykle dodatkowej akcji użytkownika (pobranie i uruchomienie „aktualizacji”, wpisanie danych). Jeśli klienci pytają — powiedz im uczciwie, co się stało, i poleć skan antywirusowy. Ukrywanie sprawy wychodzi gorzej niż sama sprawa.

Wyczyściłem stronę tydzień temu, a czerwony ekran dalej jest. Dlaczego?

Najczęściej z jednego z trzech powodów: nie złożono wniosku o ponowne sprawdzenie w Search Console (Google nie skanuje ponownie od razu sam), wniosek został odrzucony, bo zostały resztki (sprawdź w raporcie), albo złośliwe pliki leżą poza katalogiem WordPressa — w podkatalogu, starej kopii strony lub subdomenie na tym samym koncie.

Czy mogę zgłosić stronę jako „fałszywy alarm”?

Formalnie wniosek o ponowne sprawdzenie temu właśnie służy. W praktyce fałszywe alarmy Safe Browsing dla stron firmowych są rzadkie — jeśli Google wpisał domenę na listę, prawie zawsze coś na niej było. Lepiej najpierw zrobić samodzielne testy (7 prostych testów) niż składać wniosek na ślepo.

Hosting też zablokował mi konto. Co najpierw?

Najpierw hosting — bez dostępu do plików nie da się wyczyścić strony, a bez czystej strony nie da się zdjąć wpisu Google. Poproś hosting o raport ze skanu i tymczasowy dostęp do plików. Jak rozmawiać z hostingiem i w jakiej kolejności działać, opisujemy w tekście Hosting zablokował moją stronę z powodu malware.

Czerwony ekran zamiast Twojej strony? Działamy od dziś.

Czyścimy cały serwer, zamykamy lukę, zgłaszamy stronę do Google i pilnujemy sprawy do zdjęcia ostrzeżenia. Jedna stała kwota po analizie. Pilne: +48 794 994 321.

Zgłoś zhakowaną stronę