

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

# 快速入門：執行滲透測試
<a name="quickstart"></a>

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

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

## 先決條件
<a name="_prerequisites"></a>

開始之前，請確定您已：
+ 存取具有設定 AWS Security Agent 許可的 AWS 管理主控台。
+ 託管您要測試之應用程式的即時目標網域。
+ 新增該網域的 DNS 記錄，或相同 AWS 帳戶中 Route 53 託管區域的功能，讓您可以驗證擁有權。
+ （選用） 您應用程式的原始程式碼儲存庫 (GitHub、GitLab 或 Bitbucket)，為代理程式提供更多內容。

## 步驟 1：在 AWS 主控台中設定 AWS 安全代理程式
<a name="_step_1_set_up_aws_security_agent_in_the_aws_console"></a>

如果您尚未設定 AWS Security Agent，請完成初始設定：

1. 在 [AWS 管理主控台中導覽至 AWS 安全代理](https://console.aws.amazon.com/securityagent/)程式。

1. 選取**設定 AWS 安全代理程式**。

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

1. 在使用者**存取組態下選取僅限 IAM** 存取。 **
   + 此快速入門不包含使用 IAM Identity Center 啟用單一登入 (SSO)，這可讓使用者直接從 AWS 主控台存取 Web 應用程式。
   + 若要讓沒有 AWS 管理主控台的使用者存取啟動滲透測試，請啟用 IAM Identity Center 整合。如需詳細資訊，請參閱[授予使用者存取 AWS Security Agent Web 應用程式的權限](grant-user-access.md)。

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

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

## 步驟 2：啟用滲透測試並驗證您的網域
<a name="_step_2_enable_penetration_testing_and_verify_your_domain"></a>

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

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

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

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

1.  **驗證網域** - 驗證**目標網域資料表中每個網域的**擁有權。AWS Security Agent 只會針對已驗證的網域執行測試。如需詳細步驟和要複製的確切值，請參閱 [啟用用於滲透測試的應用程式網域](enable-test-domain.md)。
   +  **相同 AWS 帳戶中的 Route 53 網域** - 選取網域，然後選擇**一鍵式驗證**。AWS Security Agent 會建立 DNS 記錄並完成驗證。
   +  **DNS TXT 記錄 （其他 DNS 提供者）** - 在**目標網域**資料表中，複製**記錄名稱**和**記錄值**，將其新增為 DNS 提供者的 TXT 記錄，然後選取網域，然後選擇**驗證**。DNS 變更可能需要一些時間才能傳播，因此驗證可能不會立即完成。
   +  **HTTP 路由** - `.well-known/aws/securityagent-domain-verification.json` 在 Web 伺服器上於 建立檔案，以 格式新增驗證字符`{"tokens": ["<token>"]}`，然後選取網域，然後選擇**驗證**。

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

## 步驟 3：連接原始程式碼 （選用）
<a name="_step_3_connect_source_code_optional"></a>

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

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

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

如需完整的整合流程，請參閱[將 AWS 安全代理程式連線至 GitHub 儲存庫](connect-github.md)或供應商的連線主題。

## 步驟 4：建立並執行滲透測試
<a name="_step_4_create_and_run_a_penetration_test"></a>

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

1. 啟動 Web 應用程式：選取 **Web 應用程式**索引標籤，然後選取**管理員存取**。

1. 在左側邊欄中，選擇**滲透測試**，然後選擇**建立滲透測試**。

1.  **滲透測試詳細資訊** - 設定測試範圍和日誌來源：

   1. 輸入 **Pentest 名稱**。

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

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

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

   1. 在**許可**下，選取**服務角色**，並選擇性地選取 **CloudWatch 日誌群組**。選擇**下一步**。

1. （選用） **VPC 資源** - 如果您的目標位於無法公開連線的私有網路上，請設定 VPC。請參閱 [啟用滲透測試](enable-penetration-test.md)。

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

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

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

## 步驟 5：檢閱滲透測試問題清單
<a name="_step_5_review_penetration_test_findings"></a>

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

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

1. 當執行完成時，開啟它並檢閱**執行概觀**、**日誌**和**調查結果**索引標籤。

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

如需詳細資訊，請參閱[建立滲透測試](perform-penetration-test.md)和[檢閱滲透測試的問題清單](review-penetration-findings.md)。