Zakres
Co robię przy zainfekowanej stronie
Każdą infekcję analizuję indywidualnie, ale procedury bezpieczeństwa zachowuję w stałej kolejności – to one gwarantują, że infekcja nie wróci. Największą wartość ma ostatni punkt: raport, dzięki któremu wiesz, co się właściwie stało.
Skan plików i bazy danych
Porównuję pliki rdzenia WordPressa, motywu i wtyczek z oryginalnymi wersjami – każda różnica jest podejrzana. W bazie szukam wstrzykniętych skryptów w treściach, w opcjach i w tabeli użytkowników. Zainfekowane pliki zastępuję czystymi kopiami z oryginalnych źródeł.
Usunięcie złośliwego kodu
Usuwam przekierowania podstawiane odwiedzającym z wyników Google, ukryte strony ze spamem, doklejone skrypty w plikach szablonu i zadania cron uruchamiające infekcję na nowo. Sprawdzam też katalogi poza WordPressem – infekcja rzadko zostaje w jednym miejscu.
Zamknięcie drogi wejścia
Usunięcie wirusa bez załatania luki oznacza powrót problemu w ciągu kilku dni. Ustalam, którędy nastąpił atak: podatna wtyczka, słabe hasło, przejęte konto FTP. Aktualizuję albo usuwam podatny komponent i wymieniam wszystkie hasła oraz klucze uwierzytelniające.
Zdjęcie ostrzeżeń i wypis z czarnych list
Kiedy Google oznaczy domenę jako niebezpieczną, przeglądarki pokazują czerwony ekran, a wiadomości z Twojej domeny lądują w spamie. Po oczyszczeniu składam wniosek o ponowną weryfikację w Search Console i pilnuję wypisu z czarnych list antyspamowych.
Wzmocnienie zabezpieczeń
Ograniczam próby logowania, blokuję wykonywanie kodu PHP w katalogu z plikami wysyłanymi przez użytkowników, porządkuję uprawnienia plików i kont administratorów. Konfiguruję sprawdzoną wtyczkę bezpieczeństwa, a przy poważniejszych przypadkach firewall aplikacyjny.
Raport z tego, co znalazłem
Dostajesz listę zainfekowanych plików, opis podstawionego kodu, ustaloną drogę wejścia i wykaz wprowadzonych zabezpieczeń. To dokument, który przyda się także wtedy, gdy incydent trzeba komuś zgłosić albo wyjaśnić klientom.
Najpoważniejsza sprawa, jaką prowadziłem, to sklep z podstawionym kontem
administratora i skryptem przechwytującym dane kart płatniczych na stronie
płatności – opis tego przypadku, bez nazwy klienta, znajdziesz w
sekcji realizacji.