Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

部署 vSRX 虚拟防火墙 3.0 以使用 AWS KMS 保护数据

将 AWS KMS 与 vSRX 虚拟防火墙 3.0 集成

Junos 中提供了一个包装库,使 VPN 和其他应用程序(如 mgd)能够与 vSRX 虚拟防火墙 3.0 集成并通信 AWS KMS。此包装器库使用 PKCS#11 API 提供密钥管理服务 (KMS) 的接口。Junos 应用程序使用此包装器库,并更新了对 AWS 云平台的支持,以便与 KMS 通信。

启用和设置 vSRX 虚拟防火墙 3.0 以访问 AWS 上的 KMS。

  1. 在 AWS 上启动 vSRX 虚拟防火墙 3.0 实例。

  2. 为 vSRX 虚拟防火墙 3.0 设置 KMS 和 DynamoDB。

    在使用 vSRX 虚拟防火墙与 KMS 服务通信之前,您需要通过执行以下操作来设置 AWS 环境/账户:

    1. 创建 DynamoDB 表。

      KMS PKCS11 进程使用 AWS 上的 DynamoDB 服务来存储和管理由 vSRX 虚拟防火墙 3.0 应用程序创建的密钥信息。因此,需要创建一个 dynamo DB 表,并将创建的表的名称传递给 vSRX 虚拟防火墙 3.0。

      使用 Web 控制台或 CLI 创建 DynamoDB 表。在 Web 控制台中,您可以选择导航到 DynamoDB->Tables 并创建存储密钥的新表。

    2. 创建 IAM 角色以启用对 vSRX 虚拟防火墙 3.0 实例的访问。

      KMS 服务适用于 EC2 实例,例如 AWS 上的 vSRX 虚拟防火墙。如上所述,创建 DynamoDB 表后,要使 vSRX 虚拟防火墙使用该服务,需要启用具有访问策略的 IAM 角色并将其绑定到实例。vSRX 虚拟防火墙还将使用 Cloud Watch 来记录任何事件,因此还需要使用策略来启用此服务等。

      这些策略是启用 vSRX 虚拟防火墙实例以使用 KMS 服务的最低要求。创建角色后,您可以从 GUI 或使用 AWS CLI 将此 IAM 角色附加到实例。

      IAM 角色应包括以下访问策略:

      • AWS 托管:

        • AmazonS3ReadOnlyAccess

        • AmazonSSMReadOnlyAccess

        • CloudWatchFullAccess

      • 自 定义:

        • DynamoDBTableFullAccess

        • KMSFullAccess

  3. 将 IAM 角色附加到 vSRX 虚拟防火墙实例。

    创建 IAM 角色后,通过 GUI 或使用 AWS CLI 将其附加到 vSRX 虚拟防火墙实例。

    要在 Web 控制台中附加 vSRX 实例,请导航到该实例。在 Web 控制台的上角,单击 操作安全  修改 IAM 角色。附加创建的 IAM 角色。请参阅 Amazon EC2 的 IAM 角色

  4. 使用命令检查 show security hsm status HSM 状态。此 CLI 输出将更新,以显示正在使用的 DynamoDB 以及 HSM 可访问性、主绑定密钥 (MBK) 和主加密密钥 (MEK) 状态。最初,HSM 状态显示为“ 可访问”为“否”。

  5. 要使 HSM 服务可访问,vSRX 实例必须指定存储密钥的 DynamoDB 表。使用 he request security hsm set dynamo-db <name_of_the_dynamodb> 命令指定 DynamoDB 表。

    当您运行此命令时,HSM 状态将更改为可访问,并且 AWS dynamoDB 将显示有界的 dynamoDB 表。

  6. 启用 KMS 服务后,您需要使用 vSRX 虚拟防火墙 3.0 上的命令指定 request security hsm master-encryption-password set plain-text-password 主加密密钥 (MEK)。

    指定 MEK 后,vSRX 虚拟防火墙 3.0 将在 KMS 中创建 RSA 2048 密钥对 (MBK),并使用 KMS 中的主绑定密钥 (MBK) 加密 MEK。然后,MEK 用作加密静态数据的密钥,例如配置哈希、私钥对文件和主密码文件(如果存在)。

  7. 更改主加密密码。

    如果要更改主加密密码,则可以从操作模式运行 request security hsm master-encryption-password set plain-text-password 命令:

    注意:

    建议在更改主加密密码时不要进行任何配置更改。

    系统检查是否已配置主加密密码。如果配置了主加密密码,则系统会提示您输入当前的主加密密码。

    输入的主加密密码将根据当前主加密密码进行验证,以确保这些主加密密码匹配。如果验证成功,系统将提示您以纯文本形式输入新的主加密密码。系统将要求您输入密钥两次以验证密码。

    然后,系统继续使用新的主加密密码重新加密敏感数据。您必须等待此重新加密过程完成,然后才能再次尝试更改主加密密码。

    如果加密的主加密密码文件丢失或损坏,系统将无法解密敏感数据。系统只能通过以明文形式重新导入敏感数据并重新加密来恢复。

AWS 云形成模板

本主题为您提供 AWS 云形成模板 (CFT)。您可以使用 AWS CLI 或 Web 控制台部署这些模板,以使用 CloudFormation 服务创建 DynamoDB 表和 IAM 角色,方法是为每个模板创建 CloudFormation 堆栈,如本主题中所述。

  • 要创建 CloudFormation 堆栈,您可以执行以下操作之一:

    • 使用 CLI 部署 CloudFormation 堆栈 - 请参阅以下 YAML 文件和示例命令来创建 CloudFormation 堆栈。

    • 使用 Web 控制台进行部署。

      • 导航到 CloudFormation ->Create Stack->,然后单击在 设计器中创建模板。底部有一个用于选择模板的选项,右下角有一个用于选择 YAML 格式的选项。

      • 粘贴附加的示例模板并通过单击保存选项进行保存。系统将提示您将文件保存在 S3 存储桶中。保存模板后,将指定 S3 存储桶位置。

      • 复制 S3 存储桶位置,将其粘贴到 CloudFormation->创建 堆栈>模板已准备就绪->S3 URL 中。按照提示操作,然后单击 下一步 创建堆栈。按照提示操作时,输入 YAML 文件中给定的堆栈名称。

      注意:

      如果您在使用 AWS GUI 部署模板或创建 DynamoDb 表时遇到问题,请联系您的管理员并确保您的账户具有权限。创建 DynamoDB 时,请参阅 命名规则和数据类型中的准则。

      如果您使用以下 YAML 文件通过 Web 控制台创建 CloudFormation 堆栈,请确保在指定 S3 URL 后输入 YAML 文件中提到的堆栈名称,然后单击下一步。

      例如,在 lAM 角色 YAML 文件中,将引用由 DynamoDB YAML 文件创建的 DynamoDB 堆栈的名称。如果您提供的堆栈名称不正确,那么这将在形成 CloudFormation 堆栈时导致错误。

      有关适用于 DynamoDB 的 AWS 云形成模板的信息,请参阅 DynamoDB 的云形成模板

      有关用于创建 lAM 角色的 AWS 云形成模板的信息,请参阅 用于创建 IAM 角色的云形成模板

适用于 DynamoDB 的云形成模板

通过执行 AWS CLI 命令 aws cloudformation create-stack --stack-name libpkcs11aws-ddb --template-body file:///$PWD/ddb_table.cfn.yaml部署此模板。

注意:

CLI 参数中的堆栈名称和模板正文文件必须按照 YAML 文件中的定义提及。

用于创建 IAM 角色的云形成模板

通过执行 AWS CLI 命令 aws --profile saml cloudformation create-stack --stack-name libpkcs11aws-ddb --template-body file:///$PWD/ddb_table.cfn.yaml部署此模板。

注意:

CLI 参数中的堆栈名称和模板正文文件必须按照 YAML 文件中的定义提及。