Назад к блогу

Сайт взломали: пошаговый план действий и предотвращения повторения

13 мин. чтения0 просмотровКибербезопасность

Признаки взлома сайта

Прежде чем паниковать, убедитесь, что сайт действительно взломан. Основные признаки:

Явные признаки

  • Дефейс — главная страница заменена на сообщение хакера
  • Редиректы — посетители перенаправляются на чужие сайты
  • Спам-контент — на сайте появились страницы с фармацевтикой, казино, порно
  • Блокировка Google — предупреждение «Этот сайт может нанести вред вашему компьютеру»
  • Уведомление от хостинга — провайдер заблокировал аккаунт

Неявные признаки

  • Падение трафика — резкое снижение посещаемости
  • Неизвестные пользователи — новые администраторы в CMS
  • Изменённые файлы — модификация без вашего ведома
  • Подозрительные процессы — высокая нагрузка на сервер
  • Спам от вашего домена — жалобы на рассылку
  • Утечка данных — данные клиентов появились в сети

Первые 24 часа: экстренные меры

Час 1-2: Изоляция и фиксация

1. Не выключайте сервер!

Первый инстинкт — выключить всё. Не делайте этого: вы потеряете оперативную память с артефактами атаки. Вместо этого:

2. Задокументируйте всё, что видите

  • Скриншоты дефейса, спам-страниц, ошибок
  • Время обнаружения
  • Кто и как обнаружил
  • Текущее состояние сайта

3. Создайте форензик-копию

# Снимите образ диска (если есть доступ к серверу)
dd if=/dev/sda of=/backup/forensic_image.img bs=4M

# Или как минимум сохраните логи
tar czf /backup/logs_$(date +%Y%m%d).tar.gz /var/log/

4. Изолируйте сервер от сети

  • Закройте все порты кроме SSH (для администрирования)
  • Отключите сайт через nginx/Apache (maintenance page)
  • НЕ удаляйте и не модифицируйте файлы

Час 2-4: Оценка масштаба

5. Определите вектор атаки

Проверьте логи:

# Подозрительные POST-запросы
grep "POST" /var/log/nginx/access.log | grep -v "known_paths"

# Ошибки PHP
tail -n 1000 /var/log/php-fpm/error.log

# Входы по SSH
grep "Accepted" /var/log/auth.log

# Изменённые файлы за последние 7 дней
find /var/www -mtime -7 -type f

6. Определите, что скомпрометировано

  • Есть ли доступ к базе данных?
  • Утекли ли персональные данные?
  • Есть ли бэкдоры в файловой системе?
  • Скомпрометированы ли другие сайты на том же сервере?

7. Смените все пароли

  • Пароли администраторов CMS
  • FTP/SSH-доступы
  • Пароли к базе данных
  • API-ключи и токены
  • Пароли к панели хостинга

Час 4-24: Восстановление

8. Очистите сайт от вредоносного кода

Варианты по приоритету:

  1. Восстановление из бэкапа — самый надёжный способ, если бэкап чистый
  2. Ручная очистка — если бэкапа нет или он тоже заражён

При восстановлении из бэкапа:

  • Убедитесь, что бэкап создан до взлома
  • Восстановите файлы и базу данных
  • Обновите все пароли
  • Установите все обновления безопасности

При ручной очистке:

  • Удалите все неизвестные файлы
  • Проверьте файлы на вредоносный код (base64_decode, eval, exec, system)
  • Проверьте .htaccess на редиректы
  • Проверьте cron-задачи на подозрительные записи
  • Проверьте базу данных на внедрённый код

9. Устраните уязвимость

  • Обновите CMS до последней версии
  • Обновите все плагины и темы
  • Удалите неиспользуемые плагины
  • Закройте эксплуатированную уязвимость

10. Проверьте результат

  • Просканируйте сайт на вредоносный код
  • Проверьте работоспособность всех функций
  • Проверьте заголовки безопасности

В течение 72 часов: уведомления и расследование

Юридические обязательства

Уведомление РКН (если утекли персональные данные)

Согласно 152-ФЗ, оператор персональных данных обязан:

  1. В течение 24 часов — уведомить Роскомнадзор о факте утечки
  2. В течение 72 часов — предоставить результаты внутреннего расследования

Уведомление подаётся через портал pd.rkn.gov.ru и должно содержать:

  • Описание инцидента
  • Предполагаемый объём затронутых данных
  • Меры по минимизации последствий
  • Контакты ответственного лица

Уведомление субъектов ПДн

Если утечка затронула персональные данные клиентов, их необходимо уведомить о:

  • Факте утечки
  • Типе скомпрометированных данных
  • Рекомендациях по защите (смена паролей)
  • Контактах для вопросов

Уведомление Google (если сайт заблокирован)

Если Google показывает предупреждение:

  1. Зарегистрируйтесь в Google Search Console
  2. Перейдите в раздел Проблемы безопасности
  3. Запросите повторную проверку после очистки

Внутреннее расследование

Что определить:

  • Когда произошёл взлом (не когда обнаружен, а когда случился)
  • Как — вектор атаки (уязвимость, брутфорс, утечка паролей)
  • Что было скомпрометировано (файлы, БД, учётные данные)
  • Кто ещё мог пострадать (партнёры, клиенты)
  • Какие данные утекли

Превентивные меры

Технические меры

Регулярные обновления

  • Обновляйте CMS, плагины и ПО в течение 24-48 часов после выхода патчей
  • Подпишитесь на рассылки безопасности используемого стека
  • Автоматизируйте обновления некритичных компонентов

Защита доступа

  • Многофакторная аутентификация для всех админ-панелей
  • Ограничение доступа по IP к административным интерфейсам
  • Запрет прямого root-логина по SSH
  • Использование SSH-ключей вместо паролей

Мониторинг

  • Настройте file integrity monitoring (FIM)
  • Мониторьте логи на подозрительную активность
  • Используйте WAF для фильтрации атак
  • Настройте алерты на изменение файлов

Бэкапы

  • Ежедневные автоматические бэкапы
  • Хранение минимум 30 дней истории
  • Бэкапы на отдельном сервере/облаке
  • Регулярная проверка восстановления из бэкапа

Заголовки безопасности

Организационные меры

Политики безопасности

  • Парольная политика (минимум 12 символов, уникальность)
  • Процедура реагирования на инциденты
  • Регулярный аудит доступов
  • Обучение сотрудников

Мониторинг внешней поверхности

Регулярно проверяйте то, что видит злоумышленник:

  • SSL-сертификаты и конфигурацию
  • Открытые порты и сервисы
  • DNS и email-аутентификацию
  • Утечки данных
  • Устаревшее ПО

Периметр обеспечивает непрерывный мониторинг внешней поверхности атаки с более чем 80 проверками безопасности. Это позволяет обнаружить уязвимости до того, как ими воспользуется злоумышленник.

Регулярные проверки

  • Обновление CMS и плагинов — еженедельно
  • Проверка бэкапов — ежемесячно
  • Аудит доступов — ежеквартально
  • Сканирование уязвимостей — непрерывно (EASM)
  • Пентест — 1-2 раза в год
  • Обучение сотрудников — ежеквартально

Чек-лист после взлома

Экстренные меры

  • Задокументировать признаки взлома
  • Сохранить логи и создать форензик-копию
  • Изолировать сервер
  • Сменить все пароли
  • Определить вектор атаки

Восстановление

  • Очистить или восстановить из бэкапа
  • Обновить CMS, плагины, ПО
  • Проверить на остаточный вредоносный код
  • Проверить заголовки безопасности
  • Просканировать сайт

Уведомления

  • РКН (если утекли ПДн) — в течение 24 часов
  • Затронутые пользователи
  • Google Search Console (если заблокирован)
  • Хостинг-провайдер

Превентивные меры

  • Настроить MFA
  • Настроить автоматические бэкапы
  • Настроить мониторинг (EASM)
  • Настроить WAF
  • Обучить команду

Главное: действуйте по плану

Взлом сайта — стрессовая ситуация, но чёткий план действий позволяет минимизировать ущерб. Главное:

  1. Не паникуйте — действуйте по плану
  2. Сохраните доказательства — перед любой очисткой
  3. Устраните причину — не только последствия
  4. Уведомите — РКН, пользователей, партнёров
  5. Предотвратите повторение — мониторинг, обновления, MFA

Лучшая защита от взлома — превентивный мониторинг. Начните с проверки безопасности вашего сайта на perimeter-scan.ru.

Поделиться:TelegramVK

Похожие статьи

Мы используем файлы cookie для обеспечения работоспособности сервиса и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с политикой конфиденциальности.