Wszystkie artykuły

Jak sprawdzić, czy strona ma wirusa?

Objawy, sprawdzenie w Google Safe Browsing i Search Console, co znajdzie skan z zewnątrz, co zrobić najpierw i kiedy wezwać programistę.

Radek, ENSOMEDIAOpublikowano 4 min czytaniaIn English

„Wirus na stronie” to potoczna nazwa złośliwego kodu, który ktoś dopisał do plików albo bazy danych witryny. Nie atakuje Twojego komputera jak wirus z załącznika. Działa na odwiedzających: przekierowuje ich na oszustwa, pokazuje fałszywe komunikaty, przechwytuje dane z formularzy albo wykorzystuje stronę do rozsyłania spamu.

Sprawdzenie zajmuje około kwadransa. Poniżej cztery kroki, od najprostszego, i plan na wypadek, gdy coś znajdziesz.

Objawy, które widać bez narzędzi

Zanim otworzysz jakiekolwiek narzędzie, zastanów się, czy nie pojawił się któryś z tych sygnałów:

  • klient pisze, że po wejściu na stronę trafił na loterię, fałszywy sklep albo komunikat o wirusie w telefonie,
  • po wpisaniu w Google site:twojadomena.pl widzisz podstrony, których nikt w firmie nie tworzył, na przykład z reklamami leków albo tekstem po japońsku,
  • przeglądarka pokazuje przed wejściem czerwone ostrzeżenie,
  • hosting zawiesił konto albo napisał o złośliwych plikach,
  • maile z Twojej domeny zaczęły lądować w spamie,
  • w panelu WordPressa pojawił się administrator, którego nie znasz.

Brak objawów nie oznacza czystej strony. Złośliwy kod często pokazuje się tylko części odwiedzających, na przykład tylko na telefonach i tylko po wejściu z wyników Google. Zalogowany administrator zwykle nie widzi nic. Więcej o tych sygnałach piszę w artykule o objawach zhakowanej strony.

Krok 1: Google Safe Browsing

Otwórz stan witryny w Bezpiecznym przeglądaniu Google i wpisz adres strony. Google odpowie, czy uznaje ją za niebezpieczną. Z tej samej listy korzysta Chrome i kilka innych przeglądarek, więc jeśli strona na niej jest, klienci widzą ostrzeżenie.

Ograniczenie: lista pokazuje tylko to, co Google już znalazło. Świeża infekcja może jeszcze na niej nie być.

Krok 2: Google Search Console

Jeśli masz Search Console, otwórz raport Problemy dotyczące bezpieczeństwa. Google wymienia tam zhakowane treści (wstrzyknięty kod, dopisane treści i adresy), złośliwe oprogramowanie oraz strony, które próbują oszukać odwiedzających. Przy problemach zwykle podaje przykładowe adresy, od których zaczniesz szukanie.

Po usunięciu problemu w tym samym raporcie prosisz Google o ponowną weryfikację. Jak przejść przez ten proces, opisałem w artykule o tym, co zrobić, gdy Google ostrzega przed stroną.

Jeśli nie masz Search Console, poproś osobę, która opiekuje się stroną, o dodanie Cię jako właściciela. Wymaga to wpisu w DNS albo pliku na serwerze i jest darmowe.

Krok 3: skan z zewnątrz

Skaner online widzi stronę tak jak odwiedzający. ShieldWave w ramach ponad 20 testów sprawdza między innymi:

  • czy domena jest na listach zagrożeń: Google Safe Browsing, URLhaus i listach blokad DNS, takich jak Spamhaus,
  • czy kod strony głównej zawiera ukryte ramki, podejrzane przekierowania w skryptach albo zaciemniony kod uruchamiany przez eval,
  • czy strona ładuje skrypty z gołych adresów IP albo ze znanych złośliwych serwerów,
  • czy na stronie działa koparka kryptowalut,
  • czy formularze wysyłają dane na obcy serwer,
  • czy na serwerze leżą pliki, które może pobrać każdy, na przykład kopia zapasowa strony.

Ograniczenie: skaner widzi to, co strona mu wysłała. Kod, który pokazuje się tylko użytkownikom telefonów przychodzącym z Google, albo tylna furtka ukryta w pliku PHP bez śladu w kodzie strony, mogą pozostać niewidoczne. Dlatego jest krok czwarty.

Krok 4: sprawdzenie od środka

Pliki na serwerze sprawdzisz na dwa sposoby. Wiele hostingów ma w panelu skaner plików, poszukaj go w ustawieniach bezpieczeństwa. Na WordPressie dochodzi wtyczka bezpieczeństwa, która porównuje pliki z oficjalnymi sumami kontrolnymi WordPress.org, szuka plików PHP w katalogu na zdjęcia, nowych administratorów i spamu wstrzykniętego we wpisy.

Jak wybrać taką wtyczkę, opisałem w artykule o darmowej wtyczce bezpieczeństwa do WordPressa.

Którędy złośliwy kod trafia na stronę

Wiedza o tym pomaga przy sprzątaniu, bo tę samą drogę trzeba potem zamknąć. Na stronach firmowych najczęściej powtarzają się cztery:

  • Nieaktualna wtyczka albo motyw ze znaną luką. Boty masowo sprawdzają strony pod kątem konkretnych wersji i wchodzą tam, gdzie nikt nie zrobił aktualizacji.
  • Wykradzione albo zgadnięte hasło. Do panelu WordPressa, FTP albo hostingu, często hasło używane też w innym serwisie.
  • Wtyczka lub motyw z nielegalnego źródła. Płatne dodatki „za darmo” z przypadkowych stron bywają dostarczane razem z tylną furtką.
  • Sąsiad na tym samym serwerze. Na tanim hostingu współdzielonym zainfekowana strona innego klienta może sięgnąć do Twoich plików, jeśli serwer jest źle skonfigurowany.

Sama naprawa objawów bez zamknięcia tej drogi kończy się zwykle powtórką po kilku dniach.

Co zrobić najpierw, gdy coś znajdziesz

  1. Nie kasuj na ślepo. Najpierw poproś hosting albo programistę o kopię obecnego stanu strony. Przyda się do ustalenia, co się stało i od kiedy.
  2. Zmień hasła. Do panelu WordPressa, hostingu, FTP, bazy danych i skrzynek w domenie. Usuń konta administratorów, których nie rozpoznajesz.
  3. Zapisz, co widzisz. Zrzuty ekranu, daty, adresy podejrzanych podstron, treść maili od klientów.
  4. Napisz do hostingu. Często mają narzędzia i logi, do których Ty nie masz dostępu.
  5. Pomyśl o RODO. Jeśli strona zbiera dane osobowe, na przykład przez formularz albo sklep, i mogły one wyciec, art. 33 RODO daje 72 godziny od stwierdzenia naruszenia na zgłoszenie do UODO.

Kiedy wezwać programistę

Od razu, jeśli zachodzi choć jedna z tych sytuacji:

  • strona przyjmuje płatności albo zbiera dane klientów,
  • Google lub przeglądarka ostrzega odwiedzających,
  • hosting zablokował konto,
  • złośliwy kod wraca po usunięciu, co zwykle oznacza tylną furtkę, której nikt jeszcze nie znalazł,
  • nie wiesz, które pliki zostały zmienione.

Samodzielne usunięcie jednego pliku rzadko wystarcza. Typowe sprzątanie to przywrócenie strony z czystej kopii sprzed infekcji, aktualizacja wszystkiego, wymiana haseł i sprawdzenie, którędy włamywacz wszedł. Programiście przekaż listę objawów, daty i wyniki skanów. Pełny raport ShieldWave zawiera zlecenie, które może od razu wycenić.

Sprawdź swoją stronę. Wpisz adres na shieldwave.io. Test trwa około 90 sekund i nie wymaga hasła ani zakładania konta.