Как понять, что ваш сайт на WordPress взломали — признаки и инструкция по восстановлению

Кратко: если сайт выглядит иначе, вы не можете войти, трафик резко упал, массово уходят письма или появились неизвестные учётные записи — вероятно, сайт взломан. Следуйте пошаговому плану реагирования, восстановите резервную копию, обновите все компоненты и поменяйте пароли. В статье есть чек-листы, пошаговый план инцидента и рекомендации по предотвращению повторных атак.
Основные признаки взлома
Ниже — пять часто встречающихся признаков, которые помогут быстро понять масштаб проблемы.
1. Вы не узнаёте свой сайт
Если при открытии сайта вы видите другой логотип, сменившуюся тему, незнакомые картинки или посты — это тревожный знак. Злоумышленники часто заменяют файлы темы или добавляют вредоносный код прямо в шаблоны. Последствия таких изменений:
- Появляется непредвиденный или неподобающий контент.
- В подвал сайта добавляются ссылки на сторонние ресурсы.
- Есть код, видимый только поисковым роботам, что ухудшает SEO.
- Подключаются сторонние скрипты, которые замедляют сайт.
- Могут быть захвачены веб-шрифты или внешние ресурсы.
Визуальные изменения — повод немедленно проверить файлы темы, активные плагины и журналы веб-сервера.
2. Вы не можете войти в админку
Отсутствие доступа в /wp-admin или отказ от правильных учётных данных может быть следствием двух вещей:
- вы забыли пароль; или
- злоумышленник удалил или сменил админа.
Часто злоумышленники создают скрипт, который автоматически добавляет учётные записи с повышенными правами или меняет существующие пароли. Если вы не можете восстановить доступ через стандартную форму сброса пароля, переходите к экстренному плану восстановления ниже.
3. Резкий спад трафика
Падение посещаемости может быть результатом сезонности или простоя. Но если одновременно есть другие признаки — это почти всегда следствие вмешательства. Вредоносные скрипты нередко перенаправляют посетителей на мошеннические сайты. Обычно зарегистрированные пользователи и админы не попадают под перенаправление, поэтому эффект видно по количеству «случайных» посетителей.
4. С вашего домена рассылают спам
Если от имени сайта массово уходят фишинговые письма или спам, злоумышленник, вероятно, использует почтовую инфраструктуру хостинга. Последствия:
- Почтовые провайдеры ставят метки «спам» на дальнейшие письма вашего домена.
- Пользователи получают фальшивые письма с просьбой отдать пароли или установить вредоносное ПО.
Нужно немедленно остановить рассылку и проверить отправные точки (скрипты, cron, сторонние интеграции).
5. Появились неизвестные учётные записи
Новые админы или редакторы, созданные без вашего ведома, — верный признак вмешательства. Иногда учётные записи создают заранее для будущих действий злоумышленников. Удалите подозрительные учётные записи и просмотрите логи активности.
Что делать немедленно — краткий аварийный план
- Снимите сайт в офлайн-режим (блокируйте публичный доступ) или включите страницу «Сайт временно недоступен». Это снизит ущерб.
- Сделайте полную резервную копию текущих файлов и базы данных и сохраните копию отдельно. Даже заражённые данные пригодятся для анализа.
- Свяжитесь с техподдержкой хостинга и сообщите об инциденте.
- Смените пароли всех административных учётных записей и FTP/SFTP/SSH. Включите двухфакторную аутентификацию.
- Проверьте файлы темы и плагины — отключите подозрительные расширения.
- Восстановите сайт из последней чистой резервной копии, если она есть.
Важно: не удаляйте сразу все файлы без резервной копии. Анализ заражённых файлов помогает понять вектор атаки.
Пошаговый план реагирования на инцидент (инцидентный раннобук)
Ниже — пошаговая инструкция для владельца сайта или администратора.
- Идентификация и изоляция
- Переведите сайт в режим обслуживания.
- Отключите плагины кеширования и CDN на время расследования.
- Проверьте статистику посещений и журналы сервера за последние 30 дней.
- Сохранение доказательств
- Создайте дамп базы данных.
- Сохраните корневую папку сайта и папку wp-content с правами чтения.
- Сохраните файлы журналов веб-сервера и почтовых логов.
- Устранение первопричины
- Сравните файлы темы и ядра с официальными версиями WordPress.
- Удалите неизвестные PHP-файлы и скрипты. Особенно проверьте директории uploads, wp-includes, wp-content.
- Замените core-файлы WordPress оригинальными файлами из официального релиза.
- Восстановление доступа
- Удалите или деактивируйте подозрительные учётные записи.
- Сгенерируйте новые пароли и отправьте инструкции пользователям.
- Включите двухфакторную аутентификацию для всех админов.
- Тестирование и выведение в продакшен
- Прогоните сайт через антивирусные сканеры и инструмент проверки целостности.
- Проверьте время загрузки, внешние ссылки и корректность контента.
- Медленно откройте сайт для посетителей и следите за логами.
- Пост-инцидентный аудит
- Проведите ретроспективу: как вошли, что позволило атаке? Обновите SOP.
- Настройте регулярные резервные копии и мониторинг.
Чек-лист администратора — что сделать сейчас
- Перевести сайт в режим обслуживания.
- Создать резервную копию файлов и БД.
- Связаться с хостинг-поддержкой.
- Сменить пароли и активировать двухфакторную авторизацию.
- Отключить и удалить сомнительные плагины и темы.
- Сравнить core-файлы с официальными версиями.
- Проверить и удалить неизвестные cron-задачи.
- Проверить права файлов и каталогов (используйте 755 для папок, 644 для файлов по умолчанию).
Роли и обязанности — краткие чек-листы
Владелец сайта:
- Инициирует аварийный план.
- Утверждает восстановление из резервной копии.
- Уведомляет клиентов и пользователей при необходимости.
Системный администратор / DevOps:
- Блокирует доступ и делает бэкапы.
- Анализирует логи и ищет входные точки.
- Обновляет серверное ПО и настраивает защиту.
Веб-разработчик / WordPress-специалист:
- Проверяет темы и плагины на вредоносный код.
- Восстанавливает чистые версии файлов.
- Прогоняет тесты и проверяет функциональность.
Поддержка хостинга:
- Помогает очистить почтовые очереди.
- Восстанавливает целостность файловой системы при необходимости.
- Блокирует подозрительные IP и аккаунты на уровне сервера.
Как предотвратить взломы — постоянные меры
Следующие практики снижают риск успешной атаки:
- Меняйте стандартный логин Admin и используйте уникальные имена пользователей.
- Устанавливайте только проверенные плагины и темы. Проверяйте рейтинг и дату обновления.
- Не используйте пиратские темы.
- Держите WordPress, плагины и темы всегда обновлёнными.
- Делайте автоматические резервные копии и храните их вне сервера.
- Включите двухфакторную аутентификацию и ограничьте число попыток входа.
- Используйте WAF (Web Application Firewall) и CDN с защитой от DDoS.
- Ограничьте доступ к /wp-admin по IP, если это возможно.
Мини-методология для проверки безопасности сайта
- Быстрый аудит: страницы, видимые изменения, массовые редиректы.
- Файловый аудит: поиск PHP-файлов в uploads, незнакомых cron и webhooks.
- Лог-аудит: Nginx/Apache access и error логи, почтовые логи.
- Сравнение версий: сверка core-файлов и плагинов с официальными артефактами.
- Тестирование доступа: попытка входа с правами разных ролей.
- Мониторинг: установка постоянного мониторинга целостности файлов и SLI/SLO для Uptime.
Критерии приёмки
- Сайт открывается без нежелательного контента.
- Нет неизвестных учётных записей с правами администратора.
- Все плагины и темы обновлены до безопасных версий.
- Почтовая очередь чиста и письма не идут со спам-контента.
- Логи не показывают новых повторяющихся точек входа.
Тесты и критерии проверки после восстановления
- Функция входа работает для всех учётных записей.
- Проверены формы ввода и комментарии на инъекции.
- Внешние запросы идут только на известные домены.
- Сайт проходит базовый тест на уязвимости (например, сканером безопасности).
Короткое объявление для пользователей (пример)
Мы временно приостановили работу сайта для проверки после обнаружения инцидента безопасности. Мы проводим восстановление и проверку данных. Ваши учётные записи и контент в безопасности. Сообщим о восстановлении и необходимых шагах по смене паролей.
Факто-бокс
- Основные векторы атаки: уязвимые плагины, пиратские темы, скомпрометированные учётные записи.
- Неотложные действия: изоляция, бэкап, контакт с хостингом.
- Короткое правило: предотвратить проще, чем лечить.
Ментальные модели для принятия решений
- Правило минимальных прав: предоставляйте только те права, которые нужны.
- Разделение обязанностей: не храните все доступы у одного человека.
- Принцип парного контроля: изменения в продакшене проходят рецензию.
Глоссарий 1 строка
- WAF — Web Application Firewall, фильтр для веб-трафика.
- Cron — планировщик задач на сервере.
- PHP — язык серверной части WordPress.
Image Credit: stokkete/ Depositphotos
Кого уведомлять и как общаться
- Внутренний канал (Slack/Teams): краткий статус и план действий.
- Пользователи: уведомление о восстановлении и рекомендации по смене паролей.
- Партнёры и платёжные провайдеры: если инцидент мог затронуть их услуги.
Когда привлекать специалистов
Привлекайте специалиста по инцидентам, если:
- Вы не находите первопричину в течение 24 часов.
- Инцидент затронул персональные данные пользователей.
- Сайт продолжает автоматически рассылать спам или перенаправлять трафик.
Заключение
Вскрыть факт взлома можно по визуальным изменениям, потере доступа, падению трафика, рассылке спама и новым учётным записям. Быстрая изоляция, создание резервной копии, взаимодействие с хостингом и восстановление из чистой копии — основной путь к устранению последствий. После инцидента внедрите постоянный мониторинг, обновления и двухфакторную аутентификацию, чтобы снизить риск повторного взлома.
Кратко: если сайт выглядит иначе, вы не можете войти, трафик резко упал, массово уходят письма или появились неизвестные учётные записи — вероятно, сайт взломан. Следуйте пошаговому плану реагирования, восстановите резервную копию, обновите все компоненты и поменяйте пароли.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента