Сдерживание (containment)
Сдерживание (containment) это этап реагирования на инцидент, направленный на то, чтобы остановить дальнейшее распространение активного взлома, прежде чем полностью устранять его причину.
Почему сдерживание идёт раньше полной зачистки
Инцидент, который всё ещё активно распространяется, например вредоносный код, продолжающий выполняться, или злоумышленник, всё ещё удерживающий активную сессию, будет только усугубляться, чем дольше откладывается полная зачистка в пользу первоочередной остановки непосредственного ущерба.
Как сдерживание выглядит на практике
Изоляция скомпрометированного сервера от сети, отзыв активных сессий и учётных данных или временное отключение скомпрометированного сервиса: всё это формы сдерживания, выбранные исходя из того, что остановит развитие инцидента с наименьшим влиянием на незатронутые системы.
Полную последовательность шагов после сдерживания описывает наше руководство по реагированию на взлом сервера.
Как выбрать жёсткость сдерживания
В плейбуке CISA по реагированию на инциденты перед выбором меры сдерживания предлагается оценить три вещи: влияние на доступность сервисов, длительность и эффективность меры (полное или частичное сдерживание) и влияние на сбор и сохранение доказательств.
На VPS это даёт лестницу вариантов от наименее до наиболее разрушительного:
- Заблокировать адрес атакующего или закрыть один открытый порт в firewall.
- Остановить только скомпрометированный сервис, например одно веб-приложение или контейнер.
- Ограничить входящий трафик вашим адресом, лучше и в сетевом firewall провайдера, и на самом хосте.
- Выключить сервер: это останавливает всё, но стирает память и состояние запущенных процессов.
Плейбук также предупреждает, что часть злоумышленников следит за защитными мерами и меняет тактику, поэтому незаконченный ответ может их насторожить. Сначала определите полный набор действий, затем примените их вместе, а не по одному. Если вы обнаружили неизвестные ранее признаки компрометации, расширьте границы инцидента и проведите анализ заново. Сторону хоста разбирает руководство по firewall.
Завершение активных сессий и отзыв учётных данных
Новое правило firewall само по себе не выгонит того, кто уже вошёл. Выведите список сессий и сохраните результат для записей до того, как что-либо завершать, потому что завершение сессии убивает её процессы:
loginctl list-sessions
ss -tnp state established
loginctl terminate-session ID
loginctl terminate-user USERNAME
Согласно документации systemd, terminate-session завершает все процессы сессии, а terminate-user завершает все сессии пользователя.
Затем закройте пути обратно. CISA относит к мерам сдерживания смену паролей администраторов, ротацию приватных ключей и секретов приложений там, где подозревается компрометация, и отзыв привилегированного доступа. Проверьте файл authorized_keys у каждой учётной записи, а не только у root, и сверьте список учётных записей с проверкой UID 0. Не вводите новые секреты в сессии на скомпрометированном хосте: она может прослушиваться. Как затем запереть дверь как следует, показывает руководство по усилению SSH.
Связанные термины: Реагирование на инциденты, RECOVERED и VERIFIED, Intrusion prevention.
Часто задаваемые вопросы
Означает ли сдерживание полное выключение сервера?
Не обязательно. Полное выключение является одним из вариантов, но более точечное сдерживание, например изоляция сетевого доступа или отключение одного конкретного сервиса, часто предпочтительнее, если остальные части сервера не затронуты.
Что идёт после сдерживания?
Устранение, то есть удаление первопричины инцидента, затем восстановление, и наконец проверка того, что исправление действительно сработало, а не просто что сервис снова отвечает нормально.
Может ли сдерживание само вызвать простой?
Иногда да. Сдерживание намеренно жертвует частью доступности ради остановки дальнейшего ущерба, что обычно правильный компромисс во время активного инцидента.
Как понять, что сдерживание сработало?
CISA описывает успешное сдерживание как состояние без новых признаков компрометации. Если новые признаки появляются, вернитесь к анализу и расширьте границы инцидента; только когда их нет, сохраняйте доказательства, настраивайте обнаружение и переходите к устранению.
Нужно ли менять пароли и ключи в рамках сдерживания?
CISA называет смену паролей администраторов, ротацию приватных ключей и секретов сервисов мерой сдерживания там, где подозревается компрометация. Делайте это с доверенного устройства и охватите не только пароли, но и SSH-ключи, и секреты приложений.
Хотите увидеть, в каком состоянии ваш сервер?
Запустите бесплатную read-only проверку сервера или откройте Security Lab и посмотрите цикл обнаружение, сдерживание, восстановление, проверка в действии.
Получить бесплатную проверку сервераОткрыть Security Lab