本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
部署您的第一個網路安全保護
本教學課程將逐步引導您使用 AWS Network Security Manager 主控台部署 AWS WAF Web ACL。您完成下列步驟:
-
建立規則
-
建立範本
-
建立政策
-
建立範圍
-
建立和發佈部署
-
監控同步狀態
在本教學課程中,您會建立 AWS WAF Web ACL,以保護所選帳戶中的 Application Load Balancer。此程序與 AWS Network Security Manager 支援的所有安全服務和防火牆大致相同。
完成時間:約 10 分鐘
成本:本教學課程使用可能會產生費用 AWS 的服務。如需目前的定價,請參閱 AWS 網站上的 AWS Network Security Manager 定價
先決條件
開始之前,請確認您符合下列要求:
-
已完成設定步驟,如 中所述設定 AWS Network Security Manager。
-
具有 AWS Network Security Manager 許可的 AWS Identity and Access Management (IAM) 身分。
-
已啟用所有功能的 AWS Organizations 組織,以及指定的 AWS Network Security Manager 管理員帳戶 (多帳戶部署需要)。
-
存取 AWS Network Security Manager 主控台。
步驟 1:建立規則
規則是您安全組態的建置區塊。在此步驟中,您會建立兩個 AWS WAF 規則:一個用於設定預設動作,另一個用於設定可見性組態。預設動作和 VisibilityConfig 是 AWS WAF Web ACL 的必要欄位。
若要建立預設動作規則,請遵循下列步驟:
-
在 https://https://console.aws.amazon.com/network-security-manager/
開啟 AWS Network Security Manager 主控台。 -
在導覽窗格中,選擇概觀。
-
在概觀頁面上,選擇建立規則。
-
針對規則名稱,輸入描述性名稱,例如
my-default-action-rule。 -
在規則定義區段中,針對防火牆類型選擇 AWS WAF。
-
針對選取規則類型,選擇組態。
-
選擇插入組態類型,然後選擇預設動作。JSON 編輯器會顯示預設組態。
-
在 JSON 編輯器中,移除
Block區段並僅保留Allow區段。 -
選擇建立規則。
若要建立 VisibilityConfig 規則,請遵循下列步驟:
-
在導覽窗格中,選擇概觀。
-
在概觀頁面上,選擇建立規則。
-
針對規則名稱,輸入描述性名稱,例如
my-visibility-config-rule。 -
在規則定義區段中,針對防火牆類型選擇 AWS WAF。
-
針對選取規則類型,選擇組態。
-
選擇插入組態類型,然後選擇 VisibilityConfig。JSON 編輯器會顯示預設組態。
-
選擇建立規則。
AWS CLI 替代方案
您也可以使用 CLI AWS 建立規則:
aws network-security-manager create-rule \ --rule-name "my-default-action-rule" \ --firewall-type WAF \ --rule-type CONFIGURATION \ --configuration '{"DefaultAction": {"Allow": {}}}' \ --is-published true aws network-security-manager create-rule \ --rule-name "my-visibility-config-rule" \ --firewall-type WAF \ --rule-type CONFIGURATION \ --configuration '{"VisibilityConfig": {"SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "my-web-acl-metric"}}' \ --is-published true
步驟 2:建立範本
範本會將一或多個規則分組,以便跨政策重複使用。在此步驟中,您會建立範本,其中包含步驟 1 的規則:
-
在導覽窗格中,選擇概觀。
-
在概觀頁面上,選擇建立範本。
-
針對範本名稱,輸入描述性名稱,例如
my-waf-template。 -
針對防火牆類型,選擇 AWS WAF。
-
在規則區段中,選擇新增規則,然後選取您在步驟 1 中建立的規則。
-
選擇建立範本。
AWS CLI 替代方案
您也可以使用 CLI AWS 建立範本:
aws network-security-manager create-template \ --template-name "my-waf-template" \ --firewall-type WAF \ --associated-rule-list '[{"ruleIdentifier": "rule-arn-from-step-1"}]' \ --is-published true
步驟 3:建立政策
政策結合 範本與強制執行設定。在此步驟中,您會建立參考範本並啟用自動修復的政策:
-
在導覽窗格中,選擇概觀。
-
在概觀頁面上,選擇建立政策。
-
針對政策名稱,輸入描述性名稱,例如
my-waf-policy。 -
針對防火牆類型,選擇 AWS WAF。
-
在政策優先順序區段中,會顯示現有政策及其優先順序。檢閱新政策的優先順序。如果您需要調整,請選擇優先順序欄位,並將值變更為
1或任何未使用的優先順序編號。 -
在範本和規則區段中,選擇新增範本,然後選取您在步驟 2 中建立的範本。
-
針對修復,選取已啟用。
-
針對現有客戶 Web ACL 解決方案,選擇無修補。
-
選擇建立政策。
AWS CLI 替代方案
您也可以使用 CLI AWS 建立政策:
aws network-security-manager create-policy \ --policy-name "my-waf-policy" \ --firewall-type WAF \ --priority 1 \ --associated-template-and-rule-list '[{"templateIdentifier": "template-arn-from-step-2"}]' \ --policy-configuration '{"remediationEnabled": true, "resourcesCleanUp": false, "wafConfig": {"existingCustomerWebACLResolution": "NO_REMEDIATION"}}' \ --is-published true
步驟 4:建立範圍
範圍會定義您的保護套用的位置。在此步驟中,您會建立以帳戶中 Application Load Balancer 為目標的範圍:
-
在導覽窗格中,選擇概觀。
-
在概觀頁面上,選擇建立範圍。
-
針對範圍名稱,輸入描述性名稱,例如
my-alb-scope。 -
(選用) 在帳戶和組織單位選取區段中,針對控制管理範圍的選取方法,選取範圍到整個 AWS 組織 (所有 OUs和帳戶)。略過此步驟以進行單一帳戶部署。
-
在資源區段中,針對資源類型,選取 Application Load Balancer。
-
選擇 Create scope (建立範圍)。
AWS CLI 替代方案
您也可以使用 CLI AWS 建立範圍:
aws network-security-manager create-scope \ --scope-name "my-alb-scope" \ --scope-configuration '{ "accountFilter": {"includeAll": {}}, "resourceScopes": { "AWS::ElasticLoadBalancingV2::LoadBalancer::application": { "includeAll": true } } }' \ --is-published true
步驟 5:建立和發佈部署
部署會將政策繫結至範圍,並啟用強制執行。若要建立和發佈部署:
-
在導覽窗格中,選擇概觀。
-
在概觀頁面上,選擇建立部署。
-
針對部署名稱,輸入描述性名稱,例如
my-first-deployment。 -
在政策區段中,選擇新增政策,然後選取您在步驟 3 中建立的政策。
-
在範圍區段中,選擇新增範圍,然後選取您在步驟 4 中建立的範圍。
-
選擇 Create deployment (建立部署)。
AWS Network Security Manager 會開始探索資源並套用保護。此程序是非同步的,可能需要幾分鐘的時間才能完成。
AWS CLI 替代方案
您也可以使用 CLI AWS 建立和發佈部署:
aws network-security-manager create-deployment \ --deployment-name "my-first-deployment" \ --associated-policy-list '[{"policyIdentifier": "policy-arn-from-step-3"}]' \ --associated-scope-list '[{"scopeIdentifier": "scope-arn-from-step-4"}]' \ --deployment-configuration '{"enableCrossAccountVisibility": true}' \ --is-published true
步驟 6:監控同步狀態
發佈部署之後, AWS Network Security Manager 會探索資源並同步其組態。若要監控每個資源的狀態:
-
在導覽窗格中,選擇概觀。
-
選擇 Deployment (部署) 索引標籤。
-
選擇您在步驟 5 中建立的部署。
-
選擇同步索引標籤。
-
檢閱每個資源的同步狀態:
-
IN_SYNC – 資源組態符合您預期的保護設定。
-
OUT_OF_SYNC – 資源組態不相符。啟用修復時, AWS Network Security Manager 會自動修復此問題。
-
NOT_APPLICABLE – 資源在範圍內,但無法由此部署評估。
-
AWS CLI 替代方案
您也可以使用 CLI AWS 檢查同步狀態:
aws network-security-manager list-resource-synchronization-statuses \ --deployment-identifier "deployment-arn-from-step-5"
步驟 7:清除
如果您不再需要您建立的資源,請以相反順序刪除它們,以停止強制執行並移除範圍內資源的保護:
相反的順序很重要,因為這些資源彼此參考。若要在刪除資源之前查看與資源相關聯的內容,請ListResourceAssociations呼叫該資源的 ARN。它會傳回每個相關聯資源的 ARN 和資源類型。如需詳細資訊,請參閱 AWS Network Security Manager API 參考。
-
在導覽窗格中,選擇概觀。選擇 Deployment (部署) 索引標籤。選取您的部署,選擇動作,然後選擇刪除。
-
選擇範圍索引標籤。選取您的範圍,選擇動作,然後選擇刪除。
-
選擇 Policies (政策) 標籤。選取您的政策,選擇動作,然後選擇刪除。
-
選擇範本索引標籤。選取您的範本,選擇動作,然後選擇刪除。
-
選擇規則標籤。選取您的規則,選擇動作,然後選擇刪除。
AWS CLI 替代方案
在您刪除資源之前,請檢查其關聯以規劃刪除順序:
aws network-security-manager list-resource-associations \ --resource-arn "resource-arn"
如果資源仍有關聯,請先移除或刪除相關聯的資源。
您可以使用 CLI AWS 以相反順序刪除資源:
aws network-security-manager delete-deployment \ --deployment-identifier "deployment-arn" aws network-security-manager delete-scope \ --scope-identifier "scope-arn" aws network-security-manager delete-policy \ --policy-identifier "policy-arn" aws network-security-manager delete-template \ --template-identifier "template-arn" aws network-security-manager delete-rule \ --rule-identifier "rule-arn"
後續步驟
現在您已有可運作的部署,請探索下列方式來擴展網路安全保護:
-
了解 中的資源模型和生命週期AWS Network Security Manager 的運作方式。
-
使用草稿/發佈工作流程在變更生效之前進行階段變更。如需詳細資訊,請參閱草稿和作用中生命週期。
-
建立快照以保留已知良好的組態。如需詳細資訊,請參閱版本控制。
-
使用 從自然語言描述
GenerateRuleConfiguration建立規則。如需詳細資訊,請參閱 AWS Network Security Manager API 參考。 -
探索管理整個組織的 AWS WAF 和 AWS Shield Advanced 保護。如需詳細資訊,請參閱管理防火牆和安全服務。