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