View a markdown version of this page

快速入門:執行滲透測試 - AWS 安全代理程式

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

快速入門:執行滲透測試

此快速入門會逐步引導您使用 AWS Security Agent 執行您的第一個滲透測試 (滲透測試)。滲透測試會針對已驗證的目標網域執行您部署的應用程式,並傳回安全性調查結果,每個調查結果都有嚴重性評分和支援證據。它涵蓋可公開存取的應用程式;若要測試私有 VPC 中託管的應用程式,請參閱 啟用滲透測試

注意

您需要存取 AWS 管理主控台來設定 AWS Security Agent 並定義測試範圍,以及存取 Web 應用程式來建立和執行滲透測試。

先決條件

開始之前,請確定您已:

  • 存取具有設定 AWS Security Agent 許可的 AWS 管理主控台。

  • 託管您要測試之應用程式的即時目標網域。

  • 新增該網域的 DNS 記錄,或相同 AWS 帳戶中 Route 53 託管區域的功能,讓您可以驗證擁有權。

  • (選用) 您應用程式的原始程式碼儲存庫 (GitHub、GitLab 或 Bitbucket),為代理程式提供更多內容。

步驟 1:在 AWS 主控台中設定 AWS 安全代理程式

如果您尚未設定 AWS Security Agent,請完成初始設定:

  1. AWS 管理主控台中導覽至 AWS 安全代理程式。

  2. 選取設定 AWS 安全代理程式

  3. 建立 代理程式空間。代理程式空間可供多個使用者使用,且應針對您想要測試的每個應用程式指定。輸入名稱和描述。名稱應識別您要滲透測試的應用程式。

  4. 在使用者存取組態下選取僅限 IAM 存取。

    • 此快速入門不包含使用 IAM Identity Center 啟用單一登入 (SSO),這可讓使用者直接從 AWS 主控台存取 Web 應用程式。

    • 若要讓沒有 AWS 管理主控台的使用者存取啟動滲透測試,請啟用 IAM Identity Center 整合。如需詳細資訊,請參閱授予使用者存取 AWS Security Agent Web 應用程式的權限

  5. 選擇設定 AWS 安全代理程式。

注意

當您選擇設定時,AWS Security Agent 會建立您的 Agent Space,並建立 Web 應用程式,讓使用者可以執行滲透測試、程式碼檢閱、威脅模型和設計檢閱。

步驟 2:啟用滲透測試並驗證您的網域

注意

在 AWS 主控台中,您可以定義可測試的內容範圍。使用者接著會從 Web 應用程式在該範圍內執行特定滲透測試。

  1. 從左側邊欄中,選取客服人員空間,然後選取您在步驟 1 中建立的客服人員空間。

  2. 選取滲透測試索引標籤,然後選擇設定滲透測試以開啟精靈。

  3. 設定網域 - 輸入您要測試的目標網域,然後選取驗證方法、DNS TXT RecordHTTP Route。網域必須是即時的,並託管您要測試的應用程式。選擇下一步

  4. 驗證網域 - 驗證目標網域資料表中每個網域的擁有權。AWS Security Agent 只會針對已驗證的網域執行測試。如需詳細步驟和要複製的確切值,請參閱 啟用用於滲透測試的應用程式網域

    • 相同 AWS 帳戶中的 Route 53 網域 - 選取網域,然後選擇一鍵式驗證。AWS Security Agent 會建立 DNS 記錄並完成驗證。

    • DNS TXT 記錄 (其他 DNS 提供者) - 在目標網域資料表中,複製記錄名稱記錄值,將其新增為 DNS 提供者的 TXT 記錄,然後選取網域,然後選擇驗證。DNS 變更可能需要一些時間才能傳播,因此驗證可能不會立即完成。

    • HTTP 路由 - .well-known/aws/securityagent-domain-verification.json 在 Web 伺服器上於 建立檔案,以 格式新增驗證字符{"tokens": ["<token>"]},然後選取網域,然後選擇驗證

  5. (選用) 設定其他功能 - 新增選用資源,例如 CloudWatch 日誌群組和登入資料。服務存取區段已預先設定:AWS Security Agent 會建立具有所需許可的服務角色,除非您選擇現有的 IAM 角色。

步驟 3:連接原始程式碼 (選用)

連接原始碼供應商可提供有關應用程式的 AWS Security Agent 內容,並改善滲透測試涵蓋範圍。此為選擇性步驟。

  1. 滲透測試索引標籤上,選擇頁面頂端的在連接來源碼提供者上新增滲透測試橫幅。

  2. 註冊並連接您的供應商,然後選取可供滲透測試使用的儲存庫。

如需完整的整合流程,請參閱將 AWS 安全代理程式連線至 GitHub 儲存庫或供應商的連線主題。

步驟 4:建立並執行滲透測試

注意

您可以在 AWS Security Agent Web 應用程式中建立和執行滲透測試。我們建議針對緊密反映生產的測試環境執行測試。

  1. 啟動 Web 應用程式:選取 Web 應用程式索引標籤,然後選取管理員存取

  2. 在左側邊欄中,選擇滲透測試,然後選擇建立滲透測試

  3. 滲透測試詳細資訊 - 設定測試範圍和日誌來源:

    1. 輸入 Pentest 名稱

    2. 目標 URLs下,選取或輸入要測試的已驗證網域 (例如 https://example.com)。只能測試已驗證的網域,且會自動涵蓋子網域。

    3. (選用) 在可存取URLs 下,新增代理程式登入和導覽時必須到達的網域,但不應攻擊,例如身分提供者、CDNs 或目標網域以外的 APIs。AWS Security Agent 可以到達這些網域,但不會對其進行測試;只會攻擊您的目標網域。

    4. 檢閱聯網組態規則,以確認哪些端點在測試期間可以和不可以接收流量。

    5. 許可下,選取服務角色,並選擇性地選取 CloudWatch 日誌群組。選擇下一步

  4. (選用) VPC 資源 - 如果您的目標位於無法公開連線的私有網路上,請設定 VPC。請參閱 啟用滲透測試

  5. (選用) 身分驗證資源 - 提供登入資料,以便代理程式可以到達已驗證的非公有路徑。我們建議新增這些項目,以擴大登入後的涵蓋範圍和表面漏洞。

  6. (選用) 其他組態 - 新增應用程式內容,例如檔案、GitHub 儲存庫或 S3 來源,以改善問題清單品質。您也可以啟用自動程式碼修復,並在此處設定其他執行選項。

  7. 選擇建立並執行以立即開始測試,或選擇建立 pentest 以儲存並稍後執行測試。

步驟 5:檢閱滲透測試問題清單

  1. 滲透測試可能需要幾個小時才能完成。大部分會在 16 小時內完成,取決於應用程式的大小和複雜性。

  2. 執行會從測試開始之前驗證設定的預檢階段開始:它會設定記錄基礎設施、檢查您的目標端點是否可存取,以及準備測試環境。如果預檢檢查失敗 (例如,無法解析的目標網域),則執行會在測試開始之前停止。開啟預檢索引標籤以查看哪個檢查失敗、解決它,然後開始新的執行。

  3. 當執行完成時,開啟它並檢閱執行概觀日誌調查結果索引標籤。

  4. 調查結果索引標籤上,選取調查結果以檢視其描述、嚴重性、風險類型和支援證據。

如需詳細資訊,請參閱建立滲透測試檢閱滲透測試的問題清單