通过 AWS Systems Manager 自动添加或更新 Windows 注册表项 - AWS Prescriptive Guidance

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

通过 AWS Systems Manager 自动添加或更新 Windows 注册表项

由 Appasaheb Bagali (AWS) 创建

环境:PoC 或试点

技术:管理和治理;; CloudNative;基础架构 DevOps;现代化;安全、身份、合规

工作负载:Microsoft

Amazon Web Services:AWS Systems Manager

Summary

AWS Systems Manager 是 Amazon Elastic Compute Cloud (Amazon EC2) 实例的远程管理工具。Systems Manager 可让您查看和控制您在Amazon Web Services 上的基础设施。此多功能工具可以用于修复被安全漏洞扫描报告识别为漏洞的 Windows 注册表更改。 

此模式涵盖了通过自动更改注册表来保护运行 Windows 操作系统的 EC2 实例安全的步骤,这些步骤是为了您的环境安全而建议的。该模式使用“运行”命令运行 Command 文档。该代码已附上,其中一部分包含在代码部分中。

先决条件和限制

  • 一个有效的 Amazon Web Services account

  • EC2 实例和 Systems Manager 访问权限

架构

目标技术堆栈

  • 具有两个子网和一个网络地址转换 (NAT) 网关的虚拟私有云(VPC)

  • 用于添加或者更新注册表名称和值的 Systems Manager Command 文档

  • Systems Manager Run Command 在指定的 EC2 实例上运行Command 文档

目标架构

如何使用 AWS Systems Manager 自动添加或更新 Windows 注册表项。

工具

工具

  • IAM policy 和角色 – AWS Identity and Access Management (IAM) 是一项 Web 服务,可帮助您安全地控制对 AWS 资源的访问。可以使用 IAM 来控制谁通过了身份验证(准许登录)并获得授权(具有相应权限)来使用资源。

  • Amazon Simple Storage Service – Amazon Simple Storage Service (Amazon S3) 是一项面向互联网的存储服务。该服务旨在降低开发人员进行网络规模级计算的难度。在此模式中,S3 存储桶用于存储 Systems Manager 日志。

  • AWS Systems Manager – AWS Systems Manager 是一项 Amazon Web Services,可用于查看和控制 AWS 上的基础设施。Systems Manager 通过扫描托管实例并报告其检测到的任何策略违规行为(或采取纠正措施)来帮助您维护安全性和合规性。

  • AWS Systems Manager Command 文档 – 通过 Run Command 使用的 AWS Systems Manager Command 文档。大多数命令文档在所有 Systems Manager 所支持的 Linux 和 Windows Server 操作系统上受支持。

  • AWS Systems Manager Run Command – AWS Systems Manager Run Command 您提供了一种远程安全地管理托管实例配置的方法。利用 Run Command,您可以自动完成常用管理任务以及大规模执行一次性配置更改。

代码

你可以使用以下示例代码来添加或更新 Microsoft Windows 注册表名称 Version、注册表路径 HKCU:\Software\ScriptingGuys\Scripts 和值 2

#Windows registry path which needs to add/update $registryPath ='HKCU:\\Software\\ScriptingGuys\\Scripts' #Windows registry Name which needs to add/update $Name = 'Version' #Windows registry value which needs to add/update $value = 2 # Test-Path cmdlet to see if the registry key exists. IF(!(Test-Path $registryPath)) { New-Item -Path $registryPath -Force | Out-Null New-ItemProperty -Path $registryPath -Name $name -Value $value ` -PropertyType DWORD - Force | Out- Null } ELSE { New-ItemProperty -Path $registryPath -Name $name -Value $value ` -PropertyType DWORD -Force | Out-Null } echo 'Registry Path:'$registryPath echo 'Registry Name:'$registryPath echo 'Registry Value:'(Get-ItemProperty -Path $registryPath -Name $Name).version

随函附上完整的 Systems Manager 命令文档 JavaScript 对象表示法 (JSON) 代码示例。 

操作说明

任务描述所需技能

创建 VPC。

在 AWS 管理控制台,创建具有公有和私有子网以及一个 NAT 网关的 VPC。有关更多信息,请参阅 AWS 文档

云管理员

创建安全组。

确保每个安全组都允许远程桌面协议 (RDP) 从源 IP 地址访问。

云管理员
任务描述所需技能

创建一个 IAM 策略。

创建 IAM policy,该策略提供对 Amazon S3、Amazon EC2 和 Systems Manager 的访问权限。

云管理员

创建一个 IAM 角色。

创建一个 IAM 角色,并附加提供对 Amazon S3、Amazon EC2 和 Systems Manager 访问权限的 IAM policy。

云管理员
任务描述所需技能

创建 Systems Manager 命令文档。

创建 Systems Manager Command 文档,用于部署要添加或更新的 Microsoft Windows 注册表更改。

云管理员

运行 Systems Manager 运行命令。

运行 Systems Manager Run Command,选择 Command 文档和 Systems Manager 目标实例。这会将所选 Command 文档中的 Microsoft Windows 注册表更改推送至目标实例。

云管理员

相关资源

附件

要访问与此文档相关联的其他内容,请解压以下文件:attachment.zip