Взломанный сайт редко выглядит взломанным. Дефейс с надписью на главной — редкость: тот, кто получил доступ, заинтересован сохранить его подольше. Ниже девять симптомов, которые видно без специальных инструментов.
Признаки
1. Поисковик показывает страницы, которых вы не создавали. Проверяется
запросом site:вашдомен.ру в Яндексе и Google. Страницы про казино, займы и
дипломы на корпоративном сайте — классика. Их специально прячут от прямых
посетителей и показывают только роботам.
2. Браузер предупреждает об опасности. Отметки Safe Browsing и Яндекса появляются раньше, чем вы заметите что-то сами.
3. Письма с домена уходят в спам. Скомпрометированный сервер часто используют для рассылки, и домен попадает в чёрные списки. Проверить репутацию можно через MXToolbox.
4. Трафик вырос без причины. Особенно ночью и с одного региона.
5. В админке появились неизвестные пользователи. Или у известного изменилась роль.
6. Файлы изменились без вашего участия. Дата модификации свежая у файлов, которые никто не трогал полгода. Первые кандидаты на проверку — индексные файлы и конфигурация.
7. Сайт стал медленнее. Майнер или рассылка съедают процессор.
8. В логах веб-сервера мелькают странные запросы. Обращения к файлам с
именами вроде wso.php, shell.php, серии POST-запросов к одному адресу,
попытки открыть .env и .git/config.
9. Пользователи жалуются на редиректы. Часто настраивают так, что переадресация срабатывает только на мобильных и только при переходе из поиска — владелец сайта не видит её никогда.
Первый час
Минуты 0–10. Зафиксируйте состояние. Прежде чем что-то чинить, снимите копию: файлы и база как есть. Это доказательство и единственный способ потом понять, как вошли. Восстановление из бэкапа поверх стирает следы, и вас взломают второй раз тем же способом.
Минуты 10–20. Изолируйте. Закройте сайт заглушкой, ограничьте доступ к админке по адресу, отключите отправку почты. Цель — остановить ущерб третьим лицам, пока разбираетесь.
Минуты 20–40. Смените всё. Пароли администраторов, пароль базы, ключи API, доступы к хостингу и панели регистратора, SSH-ключи. Отдельно — инвалидация активных сессий: смена пароля без этого оставляет злоумышленника внутри.
Минуты 40–60. Найдите точку входа. Смотрите логи за сутки до появления первых симптомов. Ищите: успешные входы в админку с незнакомых адресов, загрузки файлов, запросы с признаками инъекции, обращения к файлам, которых у вас нет.
Чего не надо делать
Не восстанавливайте бэкап первым действием. Если уязвимость сидит в коде, вы восстановите её вместе с сайтом.
Не удаляйте подозрительные файлы, не сохранив. Они понадобятся, чтобы понять механизм.
Не ограничивайтесь очисткой. Веб-шелл редко бывает один. Пока не найдена точка входа, сайт остаётся открытым.
Если утекли данные пользователей
Здесь включается 152-ФЗ и обязанность уведомить регулятора. Сроки короткие и считаются с момента обнаружения. Порядок и формы уведомления лучше уточнять по действующей редакции — требования в последние годы менялись несколько раз.
Параллельно готовьте сообщение пользователям: какие данные затронуты, что уже сделано, что делать им. Молчание обходится дороже самой утечки.
Как снизить вероятность
- Обновления CMS и библиотек по расписанию, не по настроению.
- Двухфакторная аутентификация в админке.
- Отдельные учётные записи вместо общего пароля «для всех».
- Бэкапы на отдельном хранилище, куда у сайта нет доступа на запись.
- Мониторинг целостности файлов с уведомлением об изменениях.
- Регулярная проверка на уязвимости — хотя бы автоматическим сканером.
Последний пункт стоит дешевле любого из перечисленных выше сценариев восстановления.