View a markdown version of this page

部署您的第一个网络安全防护 - AWS 网络安全经理

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

部署您的第一个网络安全防护

本教程将指导您使用 AWS 网络安全管理器控制台部署 AWS WAF Web ACL。您完成以下步骤:

  1. 创建规则

  2. 创建模板

  3. 创建策略

  4. 创建范围

  5. 创建和发布部署

  6. 监控同步状态

在本教程中,您将创建一个 AWS WAF Web ACL,用于保护所选账户中的应用程序负载均衡器。对于 AWS 网络安全管理器支持的所有安全服务和防火墙,此过程基本相同。

完成时间:大约 10 分钟

费用:本教程使用的 AWS 服务可能会产生费用。有关当前定价,请参阅 AWS 网站上的AWS 网络安全管理器定价。

先决条件

在开始之前,请确认您满足以下要求:

  • 已完成安装步骤,如中所述设置 AWS 网络安全经理。

  • 具有网络安全管理员权限的 AWS 身份和访问管理 (IAM) Access Managemen AWS t 身份。

  • 一个启用了所有功能并具有指定的 AWS Network Security Manager 管理员帐户(多账户部署所必需的)的 Organizations AWS 组织。

  • 访问 AWS 网络安全管理器控制台。

步骤 1:创建规则

规则是安全配置的基石。在此步骤中,您将创建两个 AWS WAF 规则:一个用于设置默认操作,另一个用于设置可见性配置。默认操作和 VisibilityConfig 是 AWS WAF Web ACL 的必填字段。

要创建默认操作规则,请执行以下步骤:

  1. 打开 AWS 网络安全管理器控制台,网址为https://console.aws.amazon.com/network-security-manager/。

  2. 在导航窗格中,选择概述。

  3. 在概述页面上,选择创建规则。

  4. 在规则名称中,输入描述性名称,例如my-default-action-rule。

  5. 在 “规则定义” 部分中,对于防火墙类型,选择 AWS WAF。

  6. 在 “选择规则类型” 中,选择 “配置”。

  7. 选择 “插入配置类型”,然后选择 “默认操作”。此时会出现一个带有默认配置的 JSON 编辑器。

  8. 在 JSON 编辑器中,删除该Block分区并仅保留该Allow分区。

  9. 选择 Create rule(创建规则)。

要创建 VisibilityConfig 规则,请执行以下步骤:

  1. 在导航窗格中,选择概述。

  2. 在概述页面上,选择创建规则。

  3. 在规则名称中,输入描述性名称,例如my-visibility-config-rule。

  4. 在 “规则定义” 部分中,对于防火墙类型,选择 AWS WAF。

  5. 在 “选择规则类型” 中,选择 “配置”。

  6. 选择 “插入配置类型”,然后选择VisibilityConfig。此时会出现一个带有默认配置的 JSON 编辑器。

  7. 选择 Create rule(创建规则)。

AWS CLI 替代方案

您也可以使用 AWS CLI 创建规则:

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 中的规则的模板:

  1. 在导航窗格中,选择概述。

  2. 在概述页面上,选择创建模板。

  3. 在模板名称中,输入描述性名称,例如my-waf-template。

  4. 对于防火墙类型,请选择 AWS WAF。

  5. 在规则部分,选择添加规则,然后选择您在步骤 1 中创建的规则。

  6. 选择创建模板。

AWS CLI 替代方案

您也可以使用 AWS CLI 创建模板:

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:创建策略

策略将模板与强制设置相结合。在此步骤中,您将创建一个引用您的模板并启用自动修复的策略:

  1. 在导航窗格中,选择概述。

  2. 在概述页面上,选择创建策略。

  3. 对于策略名称,输入一个描述性名称,例如 my-waf-policy。

  4. 对于防火墙类型,请选择 AWS WAF。

  5. 在 “策略优先级” 部分中,将显示现有策略及其优先级。查看新政策的优先级。如果需要对其进行调整,请选择优先级字段并将该值更改为1或任何未使用的优先级数字。

  6. 在模板和规则部分,选择添加模板,然后选择您在步骤 2 中创建的模板。

  7. 对于 “修复”,选择 “启用”。

  8. 对于现有客户 Web ACL 解析,请选择无补救。

  9. 选择创建策略。

AWS CLI 替代方案

您也可以使用 AWS CLI 创建策略:

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:创建作用域

范围定义了您的保护措施的适用范围。在此步骤中,您将创建一个以账户中的应用程序负载均衡器为目标的范围:

  1. 在导航窗格中,选择概述。

  2. 在 “概述” 页面上,选择 “创建范围”。

  3. 在 “作用域名称” 中,输入描述性名称,例如my-alb-scope。

  4. (可选)在 “账户和组织单位选择” 部分中,在 “选择控制管理范围的方法” 中,选择 “范围至整个 AWS 组织(所有 OU 和帐户)”。对于单账户部署,请跳过此步骤。

  5. 在资源部分中,对于资源类型,选择 App lication Load Balancer。

  6. 选择 Create scope(创建范围)。

AWS CLI 替代方案

您也可以使用 AWS CLI 创建作用域:

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:创建和发布部署

部署将策略绑定到范围并激活强制执行。要创建和发布部署,请执行以下操作:

  1. 在导航窗格中,选择概述。

  2. 在概述页面上,选择创建部署。

  3. 在部署名称中,输入描述性名称,例如my-first-deployment。

  4. 在策略部分,选择添加策略,然后选择您在步骤 3 中创建的策略。

  5. 在 “范围” 部分中,选择 “添加范围”,然后选择您在步骤 4 中创建的范围。

  6. 选择创建部署。

AWS 网络安全管理器开始发现资源并应用保护。此过程是异步的,可能需要几分钟才能完成。

AWS CLI 替代方案

您还可以使用 AWS CLI 创建和发布部署:

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 网络安全管理器会发现资源并同步其配置。要监控每种资源的状态,请执行以下操作:

  1. 在导航窗格中,选择概述。

  2. 选择部署选项卡。

  3. 选择您在步骤 5 中创建的部署。

  4. 选择 “同步” 选项卡。

  5. 查看每种资源的同步状态:

    • IN_SYNC — 资源配置与您的预期保护设置相匹配。

    • OUT_OF_SYNC — 资源配置不匹配。 AWS 启用修复后,网络安全管理器会自动修复此问题。

    • NOT_APPLI ABLE — 资源在范围内,但无法通过此部署进行评估。

AWS CLI 替代方案

您还可以使用 AWS CLI 检查同步状态:

aws network-security-manager list-resource-synchronization-statuses \ --deployment-identifier "deployment-arn-from-step-5"

步骤 7:清除

如果您不再需要您创建的资源,请按相反的顺序将其删除,以停止强制执行并移除对范围内资源的保护:

反向顺序很重要,因为这些资源相互引用。要在删除资源之前查看与其关联的内容,请致电ListResourceAssociations该资源的 ARN。它返回每个关联资源的 ARN 和资源类型。有关更多信息,请参阅AWS 网络安全管理器 API 参考。

  1. 在导航窗格中,选择概述。选择部署选项卡。选择您的部署,选择操作,然后选择删除。

  2. 选择 “范围” 选项卡。选择您的范围,选择操作,然后选择删除。

  3. 选择策略选项卡。选择您的策略,选择操作,然后选择删除。

  4. 选择 Templates 选项卡。选择您的模板,选择操作,然后选择删除。

  5. 选择规则选项卡。选择您的规则,选择操作,然后选择删除。

AWS CLI 替代方案

在删除资源之前,请检查其关联以计划删除顺序:

aws network-security-manager list-resource-associations \ --resource-arn "resource-arn"

如果资源仍有关联,请先移除或删除关联的资源。

您可以使用 AWS CLI 按相反顺序删除资源:

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"

后续步骤

现在您已经有了有效的部署,请探索以下方法来扩展您的网络安全保护: