Як вимкнути метадані AWS EC2?

Ця стаття навчить вас метаданим EC2 і чому вони важливі. Ви також дізнаєтесь, як вимкнути метадані, щоб захистити себе від атак, таких як SSRF.

Amazon Web Services (AWS) має службу Amazon Elastic Compute Cloud (Amazon EC2), яка надає можливості масштабованої обробки. Використовуючи Amazon EC2, ви можете швидше розробляти та розгортати програми без попередніх інвестицій у обладнання.

Залежно від ваших потреб, запустіть стільки чи менше віртуальних серверів. Налаштуйте налаштування мережі та безпеки та керуйте сховищем за допомогою Amazon EC2.

Інформація про ваш екземпляр, яку можна налаштувати або керувати у запущеному екземплярі, відома як метадані екземпляра. Категорії метаданих екземплярів включають ім’я хоста, події та групи безпеки. Крім того, ви можете отримати доступ до даних користувача, які ви вказали під час запуску екземпляра, використовуючи метадані екземпляра.

Ви можете включити короткий сценарій або вказати параметри під час налаштування екземпляра. Використовуючи дані користувача, ви можете створювати загальні AMI та змінювати файли конфігурації часу запуску.

Ви можете налаштувати нові чи наявні екземпляри для виконання таких завдань за допомогою параметрів метаданих екземпляра:

  • Вимагати надсилання запитів метаданих екземплярів через IMDSv2
  • Встановіть обмеження стрибків відповіді PUT.
  • Заблокувати доступ до метаданих екземпляра

Можна отримати доступ до метаданих з активного екземпляра EC2 за допомогою одного з таких методів: IMDSv1sIMDSv2

Служба метаданих екземплярів відома як IMDS. Як ви могли припустити, методології дещо відрізняються; IMDSv1 використовує метод запит/відповідь, тоді як IMDSv2 є сеансово-орієнтованим.

AWS рекомендує вам використовувати IMDSv2, який є кращим методом. За замовчуванням AWS SDK використовує виклики IMDSv2, і ви можете вимагати від користувачів налаштувати новий EC2 із увімкненим IMDSv2 за допомогою ключів умов IAM у політиці IAM.

Використовуйте наступні URI IPv4 або IPv6, щоб переглянути всі типи метаданих екземпляра з запущеного екземпляра.

IPv4

curl http://169.254.169.254/latest/meta-data/

IPv6

завиток http://[fd00:ec2::254]/останні/мета-дані/

IP-адреси є локальними адресами посилань і дійсні лише з екземпляра.

Щоб переглянути метадані екземпляра, ви можете використовувати лише локальну адресу посилання 169.254.169.254. Запити метаданих через URI є безкоштовними, тому AWS не стягує жодної додаткової плати.

Потрібно відключити метадані

У налаштуваннях AWS атака SSRF є частою та добре відома всім. Mandiant (фірма кібербезпеки) виявила зловмисників, які автоматизують сканування вразливостей і збирають облікові дані IAM із загальнодоступних онлайн-додатків.

Впровадження IMDSv2 для всіх примірників EC2, що має додаткові переваги безпеки, зменшить ці ризики для вашої компанії. Можливість викрадення ворогом облікових даних IAM через SSRF значно зменшиться з IMDSv2.

Використання підробки запитів на стороні сервера (SSRF) для отримання доступу до служби метаданих EC2 є одним із методів використання AWS, якому навчають найчастіше.

Служба метаданих доступна для більшості екземплярів EC2 за адресою 169.254.169.254. Він містить корисну інформацію про екземпляр, наприклад його IP-адресу, назву групи безпеки тощо.

Якщо роль IAM приєднано до примірника EC2, служба метаданих також міститиме облікові дані IAM для автентифікації як цієї ролі. Ми можемо викрасти ці облікові дані залежно від версії IMDS, що використовується, і можливостей SSRF.

Варто також враховувати, що зловмисник, який має доступ до оболонки до примірника EC2, може отримати ці облікові дані.

У цьому прикладі веб-сервер працює на порту 80 екземпляра EC2. Цей веб-сервер має просту вразливість SSRF, яка дозволяє надсилати запити GET на будь-яку адресу. Це можна використовувати для надсилання запиту на http://169.254.169.254.

Щоб вимкнути метадані

Заблокувавши кінцеву точку HTTP служби метаданих екземпляра, ви можете заборонити доступ до метаданих свого екземпляра незалежно від того, яку версію служби метаданих екземпляра ви використовуєте.

Ви можете будь-коли скасувати цю зміну, увімкнувши кінцеву точку HTTP. Скористайтеся командою CLI modify-instance-metadata-options і встановіть для параметра http-endpoint значення disabled, щоб вимкнути метадані для вашого екземпляра.

Щоб вимкнути метадані, виконайте цю команду:

aws ec2 modify-instance-metadata-options –instance-id i-0558ea153450674 –http-endpoint вимкнено

відключення метаданих

Ви бачите, що після того, як я вимкну свої метадані, якщо я спробую отримати до них доступ, я отримую повідомлення ЗАБОРОНЕНО.

Якщо ви хочете знову ввімкнути метадані, виконайте цю команду:

aws ec2 modify-instance-metadata-options –instance-id i-0558ea153450674 –http-endpoint enabled

знову ввімкнути метадані

Висновок

Метадані можуть бути корисними для отримання інформації з великих сховищ даних. Однак цим також можна зловживати, щоб дізнатися про місцезнаходження чи особу людини без її відома чи згоди. Оскільки він записує кожну внесену вами зміну, включаючи видалення та коментарі, ви повинні знати, що він може містити інформацію, яку ви не хочете, щоб інші бачили. Як наслідок, видалення метаданих має вирішальне значення для збереження конфіденційності й анонімності в Інтернеті.

Ви також можете ознайомитися з деякими ключовими термінологіями AWS, які сприяють вашому навчанню AWS.