在 Windows 安裝WSL 執行Scirpt 以進行 AWS 資源盤點:解決 AWS SecurityAudit Policy限制

Kuro Huang
資安工作者的學習之路
7 min readNov 15, 2024

本篇文章記錄使用者在 IAM 的 Managed Policy — SecurityAudit 限制下,在重重的環境限制之下,透過 Script 在 AWS 訂閱帳戶中進行特定資產盤點的過程,

本篇英文版在此:Running Custom Scripts on Windows WSL for AWS Resource Inventory: Addressing AWS SecurityAudit Policy Restrictions

需求

情境是需要盤點 AWS 訂閱帳戶中的特定資產數量,包括 EC2、ECS、EKS 和 RDS。使用者的帳號已套用 AWS 的 SecurityAudit Policy,且使用 Windows 電腦環境。

在重重限制條件的刻苦環境下,我沒辦法從雲端最高管理者帳號執行、我也沒有一般訂閱帳戶的高權限、更沒有相關管理工具、且人力缺乏,但我們卻要在短時間內將非常多訂閱帳戶中,找出需要的特定資產資訊統計值。

順帶一提,你只能一個一個進去不同的訂閱帳號確認資訊,你沒辦法從較高層級的管理員帳戶去執行任何事情

最初的 Script 在 Windows 的 PowerShell 環境中執行時遇到了一些問題,因此在短時間內改用 WSL 的 Ubuntu。本篇記錄了完成 Script 執行的過程。

參考文件

WSL

AWS CLI

我的Script

安裝WSL

Power Shell

wsl --install

安裝完成後會需要重新開機,WSL 可參考官方文件安裝

在Windows操作Ubuntu (WSL模式下)

安裝本次使用的JSON處理套件 jq

jq is a lightweight and flexible command-line JSON processor.

sudo apt install jq

將Script 複製到 WSL下的Ubuntu 中

Example :

\\wsl.localhost\Ubuntu\home\[XXX]

修改 Script檔案權限

chmod +x [yourfile].sh

安裝 AWS CLI

curl "[<https://awscli.amazonaws.co>](<https://awscli.amazonaws.co/>)m/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
sudo apt install unzip
unzip awscliv2.zip
./awscli-bundle/install -b ~/bin/aws

執行Sciprt

在設定訂閱帳戶的環境變數或組態檔案(AWS configuration)時,以下範例將以環境變數的方式進行示範。此範例中的 Access Key 和 SECRET 是取自官方文件:

官方範例

export AWS_ACCESS_KEY_ID=your-access-key
export AWS_SECRET_ACCESS_KEY=your-secret-key
export AWS_DEFAULT_REGION=your-region
aws sts get-caller-identity #確認現在身分是否正確

因為 SecurityAudit 權限下無法獲取所有 Region,也無法使用 CloudShell,所以使用 Script 獲取資訊,並手動指定 Region,我有提供另一個 Sciprt 可以獲取現在帳戶內有啟用的 Region 名稱

安全提醒:在本地以明文儲存 Access Key 是一項資安風險。在生產環境中,建議使用 AWS IAM Role和 Temporary credentials,或者如果執行於 EC2 中,使用 EC2 的 IAM 角色來替代。避免將敏感資訊 Hard-coding 到程式中

如果有外部應用或服務需要存取 AWS 資源,使用 AWS STS(Security Token Service)生成臨時憑證會是更安全的選擇

執行 Sciprt

./[yoursciprt].sh

最後就會顯示 Final 統計結果

關於原始碼的安全性,目前 Amazon CodeGuru Security 提供免費使用。我將 Script 上傳至 Amazon CodeGuru 進行掃描,結果未發現任何問題。

Cloud Computing

我想把各種經驗寫出來做分享教學,希望把社群的分享風氣帶出來給大家。並期望之後有人也可以寫出不同的心得文,如果是自修同學對於申請考試和準備上有任何問題,可以透過 LinkedIn 交朋友與 Facebook 來聯絡我,能力範圍內盡量幫你解決(或是你想認識我出來喝杯咖啡也歡迎,我很喜歡多認識業界的朋友們交流,也真的不少人找我聊聊過了!)。

--

--

資安工作者的學習之路
資安工作者的學習之路

Published in 資安工作者的學習之路

業餘資安寫手,希望透過紀錄所學的知識來回饋於社群上,互相學習分享。個人介紹參考 https://portaly.cc/kurohuang

Kuro Huang
Kuro Huang

Written by Kuro Huang

對教育充滿期待的資安從業者,現任ISC2台北分會理監事,希望對資安社群盡一點心力。期望自己與各位夥伴能有所進步,歡迎喝咖啡聊資安。希望保持著定期參與資安社群活動。個人介紹 https://portaly.cc/kurohuang

No responses yet