Як дізнатися, що ваш сайт зламано?
Ознаки бувають різні. Іноді це очевидно, іноді ви дізнаєтеся лише тоді, коли Google надішле вам листа або клієнт поскаржиться.
Поширені ознаки:
- Дивні посилання у вашому футері або контенті, що ведуть на сайти азартних ігор, фармацевтики або для дорослих
- Google Search Console показує попередження про безпеку
- Ваш хост призупинив акаунт через "шкідливе програмне забезпечення"
- Відвідувачів перенаправляють на інший сайт
- Ваш пароль адміністратора перестав працювати
- Ваш сайт позначено як "оманливий" у Google
Крок 1: Не панікуйте та не видаляйте все
Інстинкт видалити все і почати з нуля зрозумілий, але неправильний. Вам потрібно зрозуміти, як вони потрапили, інакше вас зламають знову за тиждень.
Крок 2: Вимкніть сайт з мережі
Поставте сторінку технічного обслуговування або вимкніть сайт через панель керування хостингом. Це зупинить поширення шкідливого ПЗ на відвідувачів, поки ви чистите.
Крок 3: Змініть усі паролі
Змініть всі перелічені, навіть якщо вони здаються не пов'язаними:
- Пароль адміністратора WordPress (усі облікові записи адмінів)
- Облікові дані FTP / SFTP
- Пароль панелі керування хостингом
- Пароль бази даних (у wp-config.php)
- Електронна пошта, пов'язана з WordPress
Також перевірте: чи є облікові записи адмінів, яких ви не впізнаєте? Видаліть їх.
Крок 4: Скануйте на наявність шкідливого ПЗ
Завантажте та запустіть Wordfence або скористайтеся сканером вашого хостингу. Або використовуйте сервіс на кшталт Sucuri SiteCheck.
Шукайте:
- Файли в несподіваних місцях (PHP-файли в
/uploads/) - Нещодавно змінені основні файли (
wp-login.php,index.php) - Обфускований код (рядки, закодовані в base64, виклики eval())
# Перевірка нещодавно змінених файлів (останні 7 днів)
find /path/to/wp -name "*.php" -mtime -7
# Пошук eval+base64 (поширений шаблон шкідливого ПЗ)
grep -r "eval(base64_decode" /path/to/wp --include="*.php"
Крок 5: Очистіть зараження
Варіант A: Відновлення з резервної копії
Якщо у вас є чиста резервна копія до зараження, відновіть з неї. Це найбезпечніший підхід.
Варіант B: Ручне очищення
- Замініть основні файли WordPress свіжозавантаженими (не чіпайте wp-content або wp-config.php)
- Видаліть усі плагіни або теми, яких ви не впізнаєте
- Перевстановіть усі плагіни з нуля (з wordpress.org, а не з заражених копій)
- Пошукайте в базі даних вставлені посилання:
SELECT * FROM wp_options WHERE option_value LIKE '%eval(%';
SELECT * FROM wp_posts WHERE post_content LIKE '%<script%';
Крок 6: З'ясуйте, як вони потрапили
Поширені точки входу:
| Вектор | Як перевірити |
|---|---|
| Застарілий плагін | Перевірте, які плагіни мають оновлення, які ви проігнорували |
| Нульова тема/плагін | Якщо ви використовували піратське ПЗ, це майже напевно причина |
| Слабкий пароль адміністратора | Перевірте журнали доступу на наявність спроб брутфорсу |
| Стара версія WordPress | Перевірте wp-includes/version.php |
| Зламаний хостинг-акаунт | Запитайте у свого хостинг-провайдера журнали доступу |
Крок 7: Посильте захист перед поверненням в мережу
- Оновіть WordPress, усі плагіни, усі теми
- Видаліть будь-які плагіни або теми, які ви активно не використовуєте
- Встановіть плагін безпеки (Wordfence, Solid Security)
- Увімкніть двофакторну автентифікацію для облікових записів адміністраторів
- Змініть префікс таблиць бази даних, якщо він все ще
wp_ - Вимкніть XML-RPC, якщо ви ним не користуєтеся
Крок 8: Запросіть повторний перегляд Google
Якщо Google позначив ваш сайт, перейдіть у Google Search Console → Проблеми безпеки → Запросіть перевірку після очищення. Зазвичай це займає 1–3 дні.
Коли варто викликати фахівця
Якщо зараження глибоке (база даних забита спамом, шкідливе ПЗ у багатьох файлах у різних каталогах, або ви не можете визначити точку входу) — ручне очищення стає витратним за часом та ризикованим.
Я неодноразово чистив зламані сайти на WordPress. Якщо ви зараз у такій ситуації, розкажіть мені, що ви бачите, і я допоможу вам визначити найшвидший шлях вперед.