Как использовать IMDSv2 в среде elasti c beanstalk? - PullRequest
2 голосов
/ 26 января 2020

Я недавно читал о новой службе метаданных экземпляра - IMDSv2 , которая исправляет атаки SSRF в среде EC2. Я понимаю, как это работает, когда я напрямую использую EC2 через Cli. Но я не смог найти никакой информации, какие шаги предпринять, чтобы использовать его в elasti c beanstalk, который обрабатывает создание экземпляра EC2 от моего имени, и как обеспечить его выполнение там.

Может кто-нибудь сказать мне, если это уже или будет возможно в будущем? Я не смог найти информацию об этом.

Заранее спасибо.

1 Ответ

0 голосов
/ 03 февраля 2020

Начнем с того, что AWS предоставил доступ к новой метрике Cloudwatch c, которая обеспечивает отображение количества выполняемых вызовов IMDS v1. Вы можете использовать это, чтобы отслеживать, как часто в экземпляре выполняются вызовы IMDS v1. Вы можете настроить это для мониторинга ваших экземпляров Elasti c Beanstalk. Далее нам нужно включить IMDS v2 на экземплярах. Для этого нам нужна последняя версия AWS CLI (aws -cli / 1.16.287 Python / 3.6.8). Вышло обновление для AWS CLI с возможностью включить / отключить IMDSv2 под EC2. Переходя к миграции, Elasti c Beanstalk позволяет настраивать используемые экземпляры. Вы можете выполнить шаги, описанные в Настройка программного обеспечения на Linux серверах , и убедиться, что установлена ​​последняя версия AWS CLI. После установки вы можете запустить

aws ec2 modify-instance-metadata-options --instance-id --profile --http-endpoint enabled - требуются http-токены

, как описано в Изменить параметры метаданных экземпляра

Вы также можете указать команды для запуска при запуске экземпляра в Elasti c Beanstalk, как указано в Настройка программного обеспечения на Linux серверах для включения

curl http://169.254.169.254/latest/meta-data/instance-id | \ xargs -I {} aws ec2 modify-instance-metadata-options --instance-id {} --profile --http-endpoint enabled - требуются http-токены

Это должно позаботиться о настройке IMDSv2 при запуске для соответствующего экземпляра.

Ссылки:

  1. Настройка службы метаданных экземпляра
  2. AWS Блог безопасности

    В дополнение к вышесказанному вы можете использовать условия IAM для обеспечения того, чтобы пользователи IAM не могли запускать экземпляры, если он не использует IMDSv2, а также для того, чтобы пользователи IAM не могли повторно включить IMDSv1. (Подробности приведены в ссылке 1)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...