在 Azure Kubernetes 服务(AKS)中开发和运行应用程序时,容器和容器映像安全性是一个主要优先事项。 具有过时基础映像或未修补应用程序运行时的容器会带来安全风险和可能的攻击途径。 在生成和运行时,通过在容器中集成和运行扫描及修正工具可最大程度降低风险。 越早发现漏洞或过时的基础映像,应用程序就越安全。
在本文中, “容器” 是指存储在容器注册表和正在运行的容器中的容器映像。
本文重点介绍如何保护 AKS 中的容器。 你将学会如何:
- 扫描并修正映像漏洞。
- 更新基础映像时,自动触发和重新部署容器映像。
- 可以阅读 群集安全性 和 Pod 安全性的最佳实践。
- 可以使用 Defender for Cloud 中的容器安全性 来帮助扫描容器是否存在漏洞。 Azure 容器注册表 与 Defender for Cloud 的集成有助于保护映像和注册表免受漏洞的伤害。
最佳实践指南
- 扫描容器映像的漏洞。
- 仅部署已验证的映像。
- 定期更新基础映像和应用程序运行时。
- 在 AKS 群集中重新部署工作负荷。
采用基于容器的工作负载时,需要验证用于生成自己的应用程序的映像和运行时的安全性。 为了帮助避免在部署中引入安全漏洞,可以使用以下最佳做法:
在部署工作流中包括一个使用 Aqua 等工具扫描容器映像的过程。
仅允许部署已验证的映像。
例如,可以使用持续集成和持续部署(CI/CD)管道自动执行映像扫描、验证和部署。 Azure 容器注册表包括这些漏洞扫描功能。
最佳实践指南
当您将基础映像用于应用程序映像时,应该在基础映像更新后使用自动化来构建新映像。 由于更新的基础映像通常包括安全修补程序,请更新任何下游应用程序容器映像。
每次更新基础映像时,还应更新任何下游容器映像。 将此生成过程集成到验证和部署管道(例如 Azure Pipelines 或 Jenkins)中。 这些管道可确保您的应用程序继续在更新后的镜像上运行。 验证应用程序容器映像后,可以更新 AKS 部署以运行最新的安全映像。
更新基础映像时,Azure 容器注册表任务还可以自动更新容器映像。 使用此功能,可以生成一些基础映像,并使用 bug 和安全修补程序对其进行更新。
有关基础映像更新的详细信息,请参阅 使用 Azure 容器注册表任务在基础映像更新时自动生成映像。
本文重点介绍如何保护容器。 若要实现其中一些领域,请参阅以下文章:
- 使用 Azure 容器注册表任务,在基准映像更新时自动生成映像