本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
SEC06-BP02 从经过强化的映像中配置计算
通过从强化映像部署运行时环境,减少意外访问运行时环境的机会。只从可信注册表获取运行时依赖项(例如容器映像和应用程序库),并验证其签名。创建自己的专用注册表来存储可信映像和库,供构建和部署流程使用。
期望结果:您的计算资源是从强化的基准映像预置的。您只从可信注册表检索外部依赖项(例如容器映像和应用程序库),并验证其签名。这些依赖项存储在专用注册表中,供构建和部署流程参考。您会定期扫描和更新映像和依赖项,以便于应对任何新发现的漏洞。
常见反模式:
-
从可信注册表获取映像和库,但在投入使用前不验证其签名或进行漏洞扫描。
-
强化映像,但没有定期测试映像是否存在新漏洞或更新到最新版本。
-
安装或不删除在映像预期生命周期内不需要的软件包。
-
仅依靠打补丁来保持生产计算资源的最新状态。随着时间的推移,仅靠打补丁仍会导致计算资源偏离强化标准。打补丁也可能无法清除威胁行为者在安全事件中安装的恶意软件。
建立此最佳实践的好处:强化映像有助于减少在运行时环境中,可能允许未经授权的用户或服务进行意外访问的路径数量。如果发生任何意外访问,强化映像还可以缩小影响范围。
在未建立这种最佳实践的情况下暴露的风险等级:高
实施指导
要强化系统,请从最新版本的操作系统、容器映像和应用程序库开始。应用补丁以解决已知问题。删除所有不需要的应用程序、服务、设备驱动程序、默认用户和其它凭证,尽量减小系统。采取其它任何必要操作,例如禁用端口,以便创建一个只拥有工作负载所需资源和功能的环境。在此基础上,您可以安装必要的软件、代理或其它进程,以满足监控工作负载或管理漏洞等目的的需要。
您可以通过使用可信来源提供的指导来减轻强化系统的负担,例如互联网安全中心
虽然有可用的强化映EC2像和 Image Builder 配方可以应用CIS或DISASTIG建议,但您可能会发现它们的配置会阻碍您的软件成功运行。在这种情况下,您可以从未强化的基础映像开始,安装软件,然后逐步应用CIS控件来测试其影响。对于任何阻碍软件运行的CIS控件,请测试是否可以在中实施更精细的强化建议。DISA跟踪您可以成功应用的不同CIS控件和DISASTIG配置。使用它们在 Image Builder 中相应地定义EC2图像强化配方。
对于容器化工作负载,来自 Docker 的强化镜像可在亚马逊弹性容器注册表 () ECR
与操作系统和容器镜像类似,您可以通过 pip、npm、Maven 等工具从公共存储库中获取代码包(或库)。 NuGet我们建议您将私有存储库(例如在 AWS CodeArtifact
对于使用的无服务器工作负载 AWS Lambda,使用 Lambda 层简化对包依赖关系的管理。使用 Lambda 层将不同函数之间共享的一组标准依赖项配置到独立的存档中。您可以通过自己的构建过程来创建和维护图层,从而为您的功能提供一种保持的中心方式 up-to-date。
实施步骤
-
强化操作系统。使用来自可信来源的基础映像作为构建强化AMIs版本的基础。使用 EC2Image Builder
来帮助自定义图像上安装的软件。 -
强化容器化资源。配置容器化资源以符合安全最佳实践。使用容器时,请在构建管道中实现ECR图像扫描,并定期对图像存储库实施图像扫描,以便在容器CVEs中查找。
-
使用无服务器实现时 AWS Lambda,使用 Lambda 层隔离应用程序函数代码和共享的依赖库。为 Lambda 配置代码签名,以便确保只有可信代码才能在您的 Lambda 函数中运行。
资源
相关最佳实践:
相关视频:
相关示例: