Сайт взломали: что делать в первые часы
Редирект на казино, реклама лекарств в выдаче, письмо от хостинга про рассылку спама, метка «Этот сайт может угрожать безопасности» в Яндексе. Порядок действий, если это случилось с вами.
Как понять, что сайт взломан
- С телефона или из поиска сайт перекидывает на чужие страницы, а при прямом заходе с компьютера всё нормально. Такие редиректы часто показывают только гостям из поиска.
- В выдаче Яндекса под вашим доменом появились страницы про казино, лекарства, кредиты на японском или китайском.
- Хостинг прислал письмо о превышении лимита писем или о фишинге.
- В Вебмастере предупреждение «Обнаружен вредоносный код», в браузере красный экран.
- В админке появился новый администратор, которого вы не создавали.
- Сайт стал заметно медленнее, нагрузка на хостинг выросла в разы.
Первый час
- Смените все пароли: админка сайта, хостинг, FTP, база данных, почта, к которой привязаны аккаунты. Пока пароли старые, чистить бесполезно: вернутся через час.
- Сделайте копию сайта как есть, включая базу. Она нужна для анализа, как именно вошли.
- Проверьте бэкапы. Найдите последний, который точно был до взлома. Если чистый бэкап есть и он свежий, откат по нему быстрее, чем ручная чистка.
- Закройте сайт на техработы, если он раздаёт вирусы или спам: заглушка с кодом 503 не навредит SEO на день-два.
Как найти вредоносный код
На хостинге запустите встроенный антивирус (ImunifyAV, Virusdie, у большинства хостингов есть в панели). Он находит типичные вставки, но не всё. Что проверить руками:
# Файлы, изменённые за последние 7 дней
find /var/www/site.ru -type f -mtime -7 -not -path '*/cache/*'
# Типичные признаки инъекций в PHP
grep -rl --include='*.php' -E 'eval\(base64_decode|gzinflate\(base64|str_rot13\(|\$_POST\[.{1,12}\]\)\)' /var/www/site.ru
Смотрят также .htaccess (лишние редиректы), wp-config.php, index.php в корне, файлы в uploads/ с расширением php, неизвестные плагины и темы, задания cron. В базе данных: таблицы пользователей и опций, посты с вставленными скриптами.
Через что вошли
В порядке частоты: устаревший плагин или тема с известной дырой, слабый пароль администратора, заражённый компьютер с сохранённым паролем FTP, соседний сайт на том же аккаунте хостинга, старая версия CMS. Пока дыра не найдена и не закрыта, чистка это временная мера.
После чистки
- Обновите CMS, плагины, темы; удалите неиспользуемые.
- Включите двухфакторную защиту на вход в админку, ограничьте попытки входа.
- Запретите выполнение PHP в папке загрузок.
- В Яндекс Вебмастере в разделе «Безопасность и нарушения» запросите перепроверку. Метка снимается обычно за 1–3 дня после того, как Яндекс убедится, что код чист.
- Настройте бэкапы с хранением хотя бы 30 дней и мониторинг доступности.
Вылечим сайт от взлома, от 5 900 ₽
Найдём и уберём вредоносный код, закроем дыру, снимем метку «опасный сайт» в Яндексе.
Разработчик с 10-летним опытом, ИП, по оферте и с закрывающими документами.