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會員
63Content count
留言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
你可能也想看
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
大概是近期三個月,我才開始認真思考是不是要投資時間、金錢、精力去考AWS(Amazon Web Services)的證照,前後參加了他們在台北舉辦的活動後,我心中大概漸漸篤定了。
Thumbnail
前幾個禮拜,AWS 舉行 Startup Day Taiwan。想當然爾,最熱門的主題非生成式 AI (Generative AI) 莫屬。既然 AWS 有現成的工具,身為一名工程師,自然看看無妨,這篇文章算是新手開箱文,會說明如何部署一套基礎模型,並使用 AWS SDK 與其互動。
Thumbnail
先來一點心得 終於拿到證照了。 儘管我是在重考一次之後,才拿到證照,但還是十分開心。 從上課+準備第一次考試+準備重考,前前後後花了兩個月的時間,同時也花了不少的金錢和精力,真的是付出不少。 所以我打算分享一下自己的心得,給正在準備這個證照的人。 預計是分成兩篇來談,這次應該是先談考試的部分,下次再
Thumbnail
2020 年 Covid-19 爆發後,各產業都面臨資源調度的瓶頸,加上工業 4.0 時代的催化下,數位轉型加速、遠端作業、自動化等策略,具象化了智慧製造的概念。近年來,全球智慧製造市場呈現急速增長。為加速全球智慧化,雲端服務作為硬體驅動的核心關鍵,AWS 積極協助新創、中小企業、傳產等快速佈局,
Thumbnail
「任何背景, 學習雲端也能輕鬆上手!」 「好想來學新知識!」「一起來認識雲端產業吧!」 最完整的 AWS Educate 註冊大解析來囉~~~ 🚀 馬上開啟 AWS Educate 免費雲端學習 🚀
Thumbnail
一張圖講完今年會議重點,幾乎都放在台灣企業的數位轉型浪潮上面,主要包含雲端與AI技術的導入 今年第二次參與AWS高峰會,一如往常的每年都有很多新的嘗試與實驗,跟去年大玩AI應用的路線不同的地方在於,今年的會議帶出很多企業轉型與DevOps的議題
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
大概是近期三個月,我才開始認真思考是不是要投資時間、金錢、精力去考AWS(Amazon Web Services)的證照,前後參加了他們在台北舉辦的活動後,我心中大概漸漸篤定了。
Thumbnail
前幾個禮拜,AWS 舉行 Startup Day Taiwan。想當然爾,最熱門的主題非生成式 AI (Generative AI) 莫屬。既然 AWS 有現成的工具,身為一名工程師,自然看看無妨,這篇文章算是新手開箱文,會說明如何部署一套基礎模型,並使用 AWS SDK 與其互動。
Thumbnail
先來一點心得 終於拿到證照了。 儘管我是在重考一次之後,才拿到證照,但還是十分開心。 從上課+準備第一次考試+準備重考,前前後後花了兩個月的時間,同時也花了不少的金錢和精力,真的是付出不少。 所以我打算分享一下自己的心得,給正在準備這個證照的人。 預計是分成兩篇來談,這次應該是先談考試的部分,下次再
Thumbnail
2020 年 Covid-19 爆發後,各產業都面臨資源調度的瓶頸,加上工業 4.0 時代的催化下,數位轉型加速、遠端作業、自動化等策略,具象化了智慧製造的概念。近年來,全球智慧製造市場呈現急速增長。為加速全球智慧化,雲端服務作為硬體驅動的核心關鍵,AWS 積極協助新創、中小企業、傳產等快速佈局,
Thumbnail
「任何背景, 學習雲端也能輕鬆上手!」 「好想來學新知識!」「一起來認識雲端產業吧!」 最完整的 AWS Educate 註冊大解析來囉~~~ 🚀 馬上開啟 AWS Educate 免費雲端學習 🚀
Thumbnail
一張圖講完今年會議重點,幾乎都放在台灣企業的數位轉型浪潮上面,主要包含雲端與AI技術的導入 今年第二次參與AWS高峰會,一如往常的每年都有很多新的嘗試與實驗,跟去年大玩AI應用的路線不同的地方在於,今年的會議帶出很多企業轉型與DevOps的議題