AWS EC2 как автоматизировать реакцию на инцидент безопасности

Существует стандартная рекомендованная практика реакции на инцидент безопасности для AWS EC2, которая подробно описана в AWS Security Incident Response Guide. Если пересказать коротко: если есть подозрения, что для данного инстанса EC2 произошел какой-либо инцидент безопасности, необходимо как можно быстрее выполнить следующие действия:

1) Изолировать инстанс - поместить его в карантинную группу безопасности, для которой закрыты все входящие порты, за исключением, например, 22го порта с определенных IP-адресов, чтобы системный администратор смог подключиться по ssh. Такая карантинная группа может существовать заранее или должна быть создана в ходе реакции на инцидент.

2) Необходимо сохранить текущее состояние инстанса: снять скриншот консоли, сохранить его в соответствующем S3-бакете, снять снапшоты жестких дисков.

3) Необходимо включить для инстанса защиту от удаления, если она не включена.

4) Пометить инстанс тегами, которые в последствии дадут понять, что этот инстанс на карантине и нуждается в дальнейшем исследовании - в расследовании инцидента.

5) Необходимо отправить сообщения ответственным лицам о том, что перечисленные мероприятия были проведены.

Конечно, если инстансов не много, то проделать 5 перечисленных пунктов руками - это дело 10 минут, но когда их сотни, как у моего клиента, необходима автоматизация данных действий.

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

Я не буду приводить здесь полный код моего решения на python и boto3, покажу только основную часть:


А если вам необходимо автоматизировать реакцию на инциденты безопасности в вашем аккаунте AWS, обращайтесь.

Комментарии

Популярные сообщения из этого блога

Настройка почты через biz.mail.ru в БитриксВМ

Git обновить текущую ветку из master

Как заполнить ComboBox значениями из базы данных