Krótko: Aby usunąć ostrzeżenie Google o zhakowanej stronie, trzeba najpierw zamknąć przyczynę i usunąć wszystkie szkodliwe treści. Dopiero potem składają Państwo w Google Search Console wniosek o weryfikację. Kto złoży go zbyt wcześnie lub usunie tylko widoczne ślady, ryzykuje odrzucenie, ponieważ tylne furtki i ukryte strony ze spamem zwykle nadal istnieją.
Jakie ostrzeżenia wyświetla Google i dlaczego
Google ostrzega przed skompromitowanymi stronami na dwa sposoby. W wynikach wyszukiwania pod Państwa wpisem może pojawić się informacja, że strona mogła zostać zhakowana. Przy poważniejszych znaleziskach, na przykład złośliwym oprogramowaniu lub phishingu, przeglądarki pokazują przez Google Safe Browsing czerwoną stronę ostrzegawczą, zanim strona w ogóle się załaduje.
Przyczyną są prawie zawsze treści wprowadzone przez atakujących: liczne strony ze spamem o lekach, hazardzie lub podróbkach marek, przekierowania na obce strony, złośliwy kod dla odwiedzających lub fałszywe strony logowania. Dla Państwa firmy oznacza to mniej odwiedzających, zaniepokojonych klientów, a w sklepie bezpośrednie straty w sprzedaży.
Jakie problemy znalazł Google, widać w Google Search Console w sekcji Bezpieczeństwo i działania ręczne, w raporcie Problemy z bezpieczeństwem. Często podane są tam przykładowe adresy URL, które dają pierwszą wskazówkę.
Najpierw oczyścić, potem poprosić o weryfikację
Kolejność jest decydująca. Ostrzeżenie Google jest objawem; dopóki luka jest otwarta i istnieje tylna furtka, treści wracają, często już krótko po usunięciu.
Sama aktualizacja CMS nie zamyka każdej luki. W przypadku PHP2Shell podatność tkwi w samym PHP, a poprawka nie usuwa już wprowadzonego złośliwego oprogramowania. Proszę sprawdzić wersję PHP, stan poprawek i pliki, zanim poproszą Państwo Google o weryfikację.
Na czas oczyszczania sensowne jest tymczasowe przestawienie strony w tryb konserwacji lub odłączenie jej od sieci. W ten sposób chronią Państwo odwiedzających podczas pracy i zapobiegają dokładaniu przez atakującego kolejnych treści. Tryb konserwacji powinien przy tym zwracać kod statusu 503, aby wyszukiwarki rozpoznały przerwę jako tymczasową.
Usuwanie ostrzeżenia Google o zhakowanej stronie krok po kroku
- Zabezpieczyć dowody: zabezpieczyć logi, kopię plików i bazy danych, zanim cokolwiek zostanie usunięte.
- Sprawdzić Search Console: przeczytać raport o problemach z bezpieczeństwem, zapisać przykładowe adresy URL i w Ustawieniach, Użytkownicy i uprawnienia poszukać nieznanych właścicieli.
- Zamknąć lukę: zaktualizować PHP, CMS, motywy i rozszerzenia, usunąć nieużywane rozszerzenia, po aktualizacji zrestartować procesy robocze PHP.
- Usunąć złośliwy kod: zastąpić pliki rdzenia CMS plikami z czystego źródła, przeszukać foldery uploadu i pamięci podręcznej pod kątem plików PHP, sprawdzić
.htaccessi konfigurację serwera pod kątem obcych przekierowań. - Oczyścić bazę danych: usunąć wpisy ze spamem, wprowadzone skrypty w treściach i opcjach oraz nieznane konta administratorów.
- Odnowić dostępy: zmienić hasła do CMS, hostingu, bazy danych, FTP i SSH, wygenerować od nowa klucze bezpieczeństwa CMS.
- Skontrolować wynik: przetestować przykładowe adresy URL inspekcją adresu URL i otworzyć własną stronę tak, jak widzi ją Google.
- Poprosić o weryfikację: w raporcie o problemach z bezpieczeństwem zażądać weryfikacji i krótko opisać, co znaleziono i naprawiono.
Ukryte ślady: strony ze spamem, cloaking i obcy właściciele
Wiele włamań jest zbudowanych tak, aby operatorzy ich nie zauważyli. Treści ze spamem pojawiają się tylko dla Googlebota lub odwiedzających przychodzących z wyszukiwarki. Zalogowani administratorzy widzą normalną stronę. Inspekcja adresu URL w Search Console pokazuje natomiast pobranie z punktu widzenia Google.
Kolejną wskazówką jest wyszukiwanie site:państwa-domena.pl w połączeniu z typowymi słowami ze spamu. Jeśli pojawiają się tam strony, których Państwo nigdy nie zakładali, jest to wyraźny znak. Proszę sprawdzić także przesłane mapy witryn: atakujący czasem zakładają własne mapy witryn, aby szybciej indeksować swoje strony ze spamem.
Na serwerze przy szukaniu zmienionych plików pomagają proste, tylko odczytujące kontrole:
# Pliki PHP i HTML zmienione w ciągu ostatnich 14 dni
find /var/www/ihre-website -type f \( -name '*.php' -o -name '*.html' \) -mtime -14 | sort
# Pliki PHP w katalogach uploadu (normalnie nie powinno ich być)
find /var/www/ihre-website -path '*uploads*' -name '*.php'
# Reguły przekierowań w plikach .htaccess
grep -rn --include='.htaccess' -iE 'RewriteCond.*(HTTP_REFERER|HTTP_USER_AGENT)' /var/www/ihre-website
Reguły, które przekierowują różnie w zależności od referera lub user-agenta, są typową cechą cloakingu. W WordPressie proszę dodatkowo postępować celowo według wskazówek z poradnika Jak znaleźć tylne furtki w WordPressie.
Co dzieje się po złożeniu wniosku
Google sprawdza stronę ponownie i podaje wynik w Search Console. Jeśli wniosek zostanie przyjęty, ostrzeżenia znikają. Jeśli zostanie odrzucony, Google zwykle podaje kolejne przykładowe adresy URL. Wtedy szukają Państwo celowo pozostałych treści i dopiero po oczyszczeniu składają wniosek ponownie.
Adresy URL ze spamem, które Google już zna, powinny po oczyszczeniu zwracać status 404 lub 410, aby wypadły z indeksu. Proszę nie przekierowywać ich zbiorczo na stronę główną. Proszę dalej obserwować Search Console w następnych tygodniach, ponieważ ponowne pojawienie się spamu wskazuje na przeoczoną tylną furtkę. Pełne zakończenie sprawy opisuje nasza lista kontrolna po włamaniu.
Aby ostrzeżenie się nie powtórzyło, po oczyszczeniu kilka rzeczy powinno zostać uregulowanych na stałe:
- Aktualizacje PHP, CMS, motywów i rozszerzeń są wprowadzane niezwłocznie i ktoś za to odpowiada.
- Nieużywane rozszerzenia, stare instalacje testowe i zapomniane podkatalogi są usunięte.
- Dostępy administratora są osobiste i chronione drugim składnikiem.
- Monitorowanie plików zgłasza nowe pliki PHP w katalogach uploadu i pamięci podręcznej.
- Powiadomienia e-mail z Search Console trafiają na adres, który jest regularnie czytany.
Przy dłuższych przestojach lub dotkniętych danych klientów proszę rzeczowo poinformować o stanie także swoich klientów. Otwarta, spokojna komunikacja zwykle lepiej chroni zaufanie niż milczenie.
Jak konkretnie pomaga PHP SOS?
- Najpierw zabezpieczamy ślady i wyjaśniamy, przez jaką lukę wszedł atakujący.
- Oczyszczamy pliki, bazę danych i konfigurację serwera w ramach usuwania malware i zamykamy przyczynę.
- Sprawdzamy stronę z punktu widzenia Google, usuwamy obcych właścicieli Search Console i przygotowujemy z Państwem wniosek o weryfikację.
- Przy ostrym zainfekowaniu nasza pomoc awaryjna przy zhakowanych stronach przejmuje ograniczenie incydentu, aż zostanie zamknięty i udokumentowany.
Częste pytania
Jak długo trwa, zanim Google usunie ostrzeżenie?
Nie da się tego niezawodnie przewidzieć. Weryfikacja zaczyna się dopiero wtedy, gdy złożą ją Państwo w Search Console, i zależy od rodzaju oraz zakresu problemu. Stan widać w raporcie o problemach z bezpieczeństwem.
Co się stanie, jeśli poproszę o weryfikację zbyt wcześnie?
Jeśli Google przy kontroli nadal znajdzie szkodliwe treści, wniosek zostanie odrzucony, a ostrzeżenie pozostanie. Wielokrotne odrzucenia mogą opóźnić kolejną kontrolę. Weryfikację proszę więc składać dopiero po pełnym oczyszczeniu.
Dlaczego sam nie widzę stron ze spamem?
Wiele włamań pokazuje spam tylko wyszukiwarkom lub odwiedzającym przychodzącym z Google, a zalogowanym administratorom zwykłą stronę. Ta technika nazywa się cloaking. Za pomocą inspekcji adresu URL w Search Console zobaczą Państwo, co Google faktycznie pobiera.
Czy po oczyszczeniu muszę odbudowywać pozycje od nowa?
Po usunięciu ostrzeżenia widoczność często się odbudowuje, ale niekoniecznie do dawnego stanu. Rozstrzygające jest, aby adresy URL ze spamem zniknęły z indeksu, a właściwe treści były dostępne bez zmian.