Введение
Сервер начал испытывать аномальную нагрузку, его адрес без причины попал в чёрный список, пользователи сообщают о спаме или утечке персональных данных, а злоумышленник уже шантажирует вас? Это может означать, что в инфраструктуре произошёл инцидент.
Разберём, что делать, если вы поняли, что на сервере уже кто-то хозяйничает. Важная ремарка: фиксируйте каждое действие во время устранения инцидента. Это поможет восстановить общую картину и понять масштаб последствий.
Шаг 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 для веб-приложений.