AWS EC2 Instance metadata

閱讀時間約 4 分鐘

EC2 Metadata 是可以從作業系統獲取的 EC2 信息,如 Instance ID、Instance 類型、所屬AZ等。例如,您可以通過將Instance ID 放在作業系統上運行的腳本的數據中來使 Logs 更易於查看。

獲取 Metadata 的方法是Instance Meta Data Service(IMDS) 在 169.254.169.254 使用 link-local IP,可以通過 curl 等命令訪問獲取。

Instance Metadata Service Version 1 (IMDSv1) – a request/response method
Instance Metadata Service Version 2 (IMDSv2) – a session-oriented method

預設情況下,您可以使用 IMDSv1 或 IMDSv2,或同時使用兩者。

IMDSv1 只要用GET方法執行上述命令就可以獲取 metadata,所以如果攻擊者可以將GET方法發送給Instance。(IMDS本身就是安全的)。

但是 IMDSv2,使用 PUT 方法獲取 metadata,需要 PUT 方法頒發的 TOKEN,這使得攻擊更加困難,並允許您配置更強的安全性。


EC2 Instance metadata 版本選擇

創建EC2 控制台 → 啟動 Instance → 在“高級詳細信息”項中,可以 啟用可訪問性 並選擇 metadata 版本

raw-image

預設 Instance metadata 為同時使用兩者

IMDSv1

IMDSv1

IMDSv2

IMDSv2

PUT使用請求創建一個持續六小時(21,600 秒)的 Session TOKEN


IMDSv2 的工作原理

IMDSv2 使用 session 的請求。對於 Session 的請求,您可以創建一個Session TOKEN 來定義Session持續時間,該持續時間最短為一秒,最長為六小時。


使用 EC2 IMDSv2 改進與好處

  • 訪問 v2 需要預先獲取的 Token

1.Token需要通過PUT獲取
2.Token請求時可以設置過期日期(秒)
3.必須在標頭中請求令牌

  • v1 可以禁用(默認可以一起使用)
  • Metadata 服務本身可以被禁用
  • 使用 IAM 權限限制,只能在啟動 EC2 實例時強制您將其設置為 v2
  • 不要向帶有 X-Forwarded-For 標頭的請求發出 Token
  • 可以縮短 Metadata 響應的 TTL 以防止通過多個主機獲取
  • 防止 SSRF 漏洞攻擊


關於 SSRF 漏洞攻擊

SSRF 是 Server-Side Request Forgery 的縮寫,是一種攻擊者偽造服務器發出的請求的攻擊。簡單來說,就是攻擊者利用易受攻擊的服務器向內部服務器發送攻擊請求的攻擊

如果您的創建 Web 服務器是有漏洞的,攻擊者將能夠訪問該 Instance metadata,並且可以使用 IAM 權限以及服務器內部的信息進行攻擊,這是一種危險的攻擊

使用IMDSv1 :

raw-image

易受攻擊的網頁請求

raw-image

範例程式

<?php
$target = isset($_GET['target']) ? $_GET['target'] : null;
if ($target == null){
echo "no result";
exit();
}

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $target);
$output = curl_exec($ch);

curl_close($ch);

print_r($output);
?>


解決方式


方法ㄧ 修改請求方式需要 TOKEN(關閉IMDSv1)

raw-image
raw-image

方法二關閉 metadata

raw-image
raw-image

補充

HttpPutResponseHopLimit (Integers from 1 to 64)

IMDSv2 需要 PUT 來檢索Token。這個參數設置限制了對該 PUT 的response在被網路丟棄之前的跳數,httpPutResponseHopLimit該設置的默認值為 1。

這意味著如果您距離 IMDS 不止一個網路跳點,那麼您將收到錯誤消息。最常見的原因是您在 docker 容器中運行。


15會員
80內容數
留言0
查看全部
發表第一個留言支持創作者!
西尼亞ming的沙龍 的其他內容
以下是限制 S3 bucket 訪問 HTTPS 的方法 測試 S3 存儲桶訪問 S3 bucket 通常允許 HTTP 和 HTTPS 訪問 AWS CLI 預設通常使用 HTTPS 向 AWS 服務發送請求 https://docs.aws.amazon.com/zh_tw/cli/l
1.檢查AWS Health Dashboard 通過檢查 Health Dashboard ,可以得知 AWS 帳戶特定的故障通知 與 AWS 服務和區域故障報告。您可以注意到如 執行了緊急硬件維護 或 與 RDS相關的服務出現故障,導致無法連接到RDS之類的訊息。 2. 檢查 Maint
CloudFront除錯相關 確認問題資訊 我們了解您遇到了網站異常的問題,麻煩您協助我們提供以下資訊,以便我們快速排解您的問題,感謝: 請問您發生異常的 CloudFront Distribution 是哪一個 請問現在還會有此異常狀況嗎 您最初發生異常的時間點大約是何時 請問您這種現
有這一篇原因是工作上,建立 OU 時,會自動新增額外的 FullAWSAccess 規則,但原本就會有預設Root OU繼承的FullAWSAccess,等於會有兩組一樣的規則,故所以詢問了AWS Support。 先謝謝 AWS 技術支援工程師 George 細心說明~ SCP很重要的
可以分析源代碼並檢查在遷移到 AWS Graviton 時需要更改的過時運行library 優化 aws 成本的方法之一是遷移到並採用具有高性價比的AWS Graviton 推薦使用AWS Graviton,從可持續性的角度來看,它有很好的表現 但有需要注意的地方: 不適用於所有操作系統和實
AWS AMI Oracle Linux 7 包成 AMI 後,使用 AMI 啟動新 EC2 會遇到 Instance status checks fail 的問題 查看 system log 看到 EC2 開機時沒有抓到 eth0 ,導致 Instance status checks fai
以下是限制 S3 bucket 訪問 HTTPS 的方法 測試 S3 存儲桶訪問 S3 bucket 通常允許 HTTP 和 HTTPS 訪問 AWS CLI 預設通常使用 HTTPS 向 AWS 服務發送請求 https://docs.aws.amazon.com/zh_tw/cli/l
1.檢查AWS Health Dashboard 通過檢查 Health Dashboard ,可以得知 AWS 帳戶特定的故障通知 與 AWS 服務和區域故障報告。您可以注意到如 執行了緊急硬件維護 或 與 RDS相關的服務出現故障,導致無法連接到RDS之類的訊息。 2. 檢查 Maint
CloudFront除錯相關 確認問題資訊 我們了解您遇到了網站異常的問題,麻煩您協助我們提供以下資訊,以便我們快速排解您的問題,感謝: 請問您發生異常的 CloudFront Distribution 是哪一個 請問現在還會有此異常狀況嗎 您最初發生異常的時間點大約是何時 請問您這種現
有這一篇原因是工作上,建立 OU 時,會自動新增額外的 FullAWSAccess 規則,但原本就會有預設Root OU繼承的FullAWSAccess,等於會有兩組一樣的規則,故所以詢問了AWS Support。 先謝謝 AWS 技術支援工程師 George 細心說明~ SCP很重要的
可以分析源代碼並檢查在遷移到 AWS Graviton 時需要更改的過時運行library 優化 aws 成本的方法之一是遷移到並採用具有高性價比的AWS Graviton 推薦使用AWS Graviton,從可持續性的角度來看,它有很好的表現 但有需要注意的地方: 不適用於所有操作系統和實
AWS AMI Oracle Linux 7 包成 AMI 後,使用 AMI 啟動新 EC2 會遇到 Instance status checks fail 的問題 查看 system log 看到 EC2 開機時沒有抓到 eth0 ,導致 Instance status checks fai
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
AWS 架構師證照考古題大全 QUESTION 179 A company is running a business-citical web application on Amazon EC2 instances behind an Application Load Balancer.
Thumbnail
AWS 雲端從業人員證照考古題彙整 20240927 QUESTION 263 A company has an Amazon EC2 instance in a private subnet.
Thumbnail
小豬科技推出 AWS EC2 三個月最高 4 折優惠,讓企業與開發者以更優惠的價格體驗靈活的雲端計算資源,立即註冊,開啟您的雲端旅程!
Thumbnail
AWS 架構師證照 SAA-C03 考古題大全 20240926 QUESTION 138 A company has an ordering application that stores customer information in Amazon RDS for MySQL.
使用 AWS CLI 的方式,設定 CloudWatch 偵測到 StatusCheckFailed 時的 Auto recover action
Thumbnail
大概是近期三個月,我才開始認真思考是不是要投資時間、金錢、精力去考AWS(Amazon Web Services)的證照,前後參加了他們在台北舉辦的活動後,我心中大概漸漸篤定了。
Thumbnail
前幾個禮拜,AWS 舉行 Startup Day Taiwan。想當然爾,最熱門的主題非生成式 AI (Generative AI) 莫屬。既然 AWS 有現成的工具,身為一名工程師,自然看看無妨,這篇文章算是新手開箱文,會說明如何部署一套基礎模型,並使用 AWS SDK 與其互動。
Thumbnail
先來一點心得 終於拿到證照了。 儘管我是在重考一次之後,才拿到證照,但還是十分開心。 從上課+準備第一次考試+準備重考,前前後後花了兩個月的時間,同時也花了不少的金錢和精力,真的是付出不少。 所以我打算分享一下自己的心得,給正在準備這個證照的人。 預計是分成兩篇來談,這次應該是先談考試的部分,下次再
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
AWS 架構師證照考古題大全 QUESTION 179 A company is running a business-citical web application on Amazon EC2 instances behind an Application Load Balancer.
Thumbnail
AWS 雲端從業人員證照考古題彙整 20240927 QUESTION 263 A company has an Amazon EC2 instance in a private subnet.
Thumbnail
小豬科技推出 AWS EC2 三個月最高 4 折優惠,讓企業與開發者以更優惠的價格體驗靈活的雲端計算資源,立即註冊,開啟您的雲端旅程!
Thumbnail
AWS 架構師證照 SAA-C03 考古題大全 20240926 QUESTION 138 A company has an ordering application that stores customer information in Amazon RDS for MySQL.
使用 AWS CLI 的方式,設定 CloudWatch 偵測到 StatusCheckFailed 時的 Auto recover action
Thumbnail
大概是近期三個月,我才開始認真思考是不是要投資時間、金錢、精力去考AWS(Amazon Web Services)的證照,前後參加了他們在台北舉辦的活動後,我心中大概漸漸篤定了。
Thumbnail
前幾個禮拜,AWS 舉行 Startup Day Taiwan。想當然爾,最熱門的主題非生成式 AI (Generative AI) 莫屬。既然 AWS 有現成的工具,身為一名工程師,自然看看無妨,這篇文章算是新手開箱文,會說明如何部署一套基礎模型,並使用 AWS SDK 與其互動。
Thumbnail
先來一點心得 終於拿到證照了。 儘管我是在重考一次之後,才拿到證照,但還是十分開心。 從上課+準備第一次考試+準備重考,前前後後花了兩個月的時間,同時也花了不少的金錢和精力,真的是付出不少。 所以我打算分享一下自己的心得,給正在準備這個證照的人。 預計是分成兩篇來談,這次應該是先談考試的部分,下次再