Что делать, если ваш сервер взломали: чек-лист для новичков

Как зафиксировать инцидент, собрать артефакты, локализовать угрозу и восстановить работу инфраструктуры

Обложка статьи

Введение

Сервер начал испытывать аномальную нагрузку, его адрес без причины попал в чёрный список, пользователи сообщают о спаме или утечке персональных данных, а злоумышленник уже шантажирует вас? Это может означать, что в инфраструктуре произошёл инцидент.

Разберём, что делать, если вы поняли, что на сервере уже кто-то хозяйничает. Важная ремарка: фиксируйте каждое действие во время устранения инцидента. Это поможет восстановить общую картину и понять масштаб последствий.

Шаг 1. Проанализируйте исходные данные

Сначала определите, какая часть инфраструктуры могла пострадать. Иногда затронут лишь один Docker-контейнер, который можно безопасно пересобрать. В других случаях проблема касается нескольких серверов, учётных записей или данных пользователей.

Соберите первичную картину по сообщениям пользователей, недоступности сервисов и журналам средств защиты. На этом этапе не нужно устанавливать все детали: важно очертить границы инцидента и оценить, какие данные и системы могут быть затронуты.

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

Шаг 2. Соберите артефакты

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

Для Linux подойдёт open-source утилита UAC (Unix-like Artifacts Collector), для Windows - KAPE. Если пострадало немного узлов, их можно обработать по отдельности. При большом масштабе стоит развернуть Velociraptor, установить агентов и организовать сбор через единый интерфейс.

Не ограничивайтесь файлами с диска: сохраните дампы оперативной памяти, сведения о файловой системе, трафике, сетевых соединениях и запущенных процессах. Полезными будут и события EDR-агентов, WAF и других средств защиты. Например, Open Defender фиксирует важные события на уровне ядра Linux с помощью eBPF и помогает обнаруживать сетевые атаки.

Шаг 3. Локализуйте инцидент и восстановите работу

Предыдущие шаги не устраняли угрозу - они сохранили данные для расследования. Теперь нужно остановить распространение инцидента и снизить риск для пользователей.

  • Проверьте инфраструктуру средствами поиска индикаторов компрометации: Loki для файловой системы, Hayabusa для журналов, антивирусами и Suricata для трафика. Базы индикаторов можно найти в открытых источниках, включая GitHub.
  • По возможности пересоберите затронутые контейнеры, восстановите узлы из заведомо безопасных резервных копий или изолируйте их от сети.
  • Если быстрая пересборка невозможна, но сервис критичен, ограничьте его сетевые взаимодействия и усильте мониторинг.
  • Установите и настройте средства защиты - например, EDR и IPS - и продолжайте наблюдать за активностью. Локализация не гарантирует, что злоумышленник уже покинул систему.

Шаг 4. Разберите произошедшее

После локализации переходите к анализу собранных артефактов. Не стоит сразу погружаться в огромный объём журналов и трафика: так легко упустить важное. Начните с известных индикаторов компрометации:

  • сетевых адресов и доменных имён инфраструктуры злоумышленника;
  • характерных действий в системе;
  • хэшей и названий вредоносных файлов;
  • других признаков, выявленных при первичном анализе.

По этим данным изучите публичные отчёты SOC- и DFIR-команд. Если это не единичная атака, вероятно, в отчётах уже описаны используемые техники и инструменты - это ускорит расследование.

Проверьте возможные точки закрепления: конфигурационные файлы, приложения и сайт, планировщики задач, сервисы, пользователей, SSH-ключи и другие способы аутентификации. Затем изучайте файловую систему, сетевой трафик и журналы. Всё, что можно, автоматизируйте средствами из предыдущего шага.

Отдельное внимание уделите руткитам. Некоторые из них можно обнаружить при анализе процессов и дампа памяти, но хорошо скрытый руткит найти сложно. Если злоумышленник возвращается после устранения уязвимостей, загрузитесь с доверенного LiveUSB и соберите данные файловой системы для независимой проверки.

Цель этапа - восстановить полную картину, собрать индикаторы компрометации, проверить все узлы инфраструктуры и установить первоначальный способ проникновения.

Шаг 5. Подведите итоги и укрепите защиту

Устраните выявленные уязвимости, при необходимости восстановите инфраструктуру из безопасных резервных копий и внедрите недостающие средства мониторинга и защиты. Зафиксируйте выводы: они помогут быстрее реагировать на следующий инцидент.

Итоги

Небольшие серверы часто становятся целью майнеров, шифровальщиков и обычных C2-агентов, тогда как крупную инфраструктуру могут атаковать группы, которые долго и скрытно собирают данные. От инцидентов не застрахован никто, поэтому скорость и порядок действий критичны.

Значительную часть атак помогают предотвратить EDR, IDS и WAF. Защита не обязательно должна быть дорогой и тяжёлой: даже для небольшого сервера можно использовать лёгкий open-source EDR-агент Open Defender и ModSecurity либо другой современный WAF для веб-приложений.