容器安全

保障 GCP 上的容器环境的安全。

概览

容器化让开发团队可以快速行动、高效部署软件,并以前所未有的规模运营。随着容器化工作负载日益增多,企业必须将安全功能集成到构建和部署生命周期的各个阶段。了解如何从以下三个重要方面来保障 GCP 上的容器环境的安全。

基础架构安全

所谓基础架构安全,是指您的容器管理平台能够提供适当的安全功能。Kubernetes 所包含的安全功能可保护您的身份、密钥和网络。Kubernetes Engine 使用了 Cloud IAM、Cloud Audit Logging 和 Virtual Private Cloud 等原生 GCP 功能,可借助一流的 Google 安全技术为您的工作负载保驾护航。

软件供应链

保障软件供应链的安全是指,确保即将部署的容器映像是安全的。这需要您确保您的容器映像不存在漏洞,并且您构建的映像在部署前未经修改。

运行时安全

借助运行时安全功能,您可以找出在生产环境中存在恶意行为的容器,并采取相关措施来保护您的工作负载。

通过运行容器,您可以采取一种完全不同的安全模型

更简单的补丁管理以及不变性

更简单的补丁管理以及不变性

容器应该是不可变的,因此您需要部署新映像来做出更改。您可以通过定期重新构建映像来简化补丁管理,以便在下次部署容器时打上相应补丁。通过定期审核映像的安全状况,您可以全面了解您的环境。

缩小攻击面

缩小攻击面

运行容器的主机操作系统比运行虚拟机的要小得多,因为有更多组件被直接封装到了应用中。这种极简的主机操作系统有助于缩小您的工作负载的潜在攻击面。

资源和工作负载隔离

资源和工作负载隔离

容器提供了一种简单的资源隔离方式,可让您通过 cgroup 和命名空间将资源(如存储卷)隔离到某些进程中。借助 gVisor 等技术,您可以在逻辑层面上将工作负载隔离到某个子虚拟机沙盒中,将其与其他应用分隔开来。

基础架构安全

要保障容器基础架构的安全,重点是确保开发者拥有所需的工具,能够安全地构建容器化服务。这些功能通常内置于 Kubernetes 等容器编排系统中。如果您使用 Kubernetes Engine,则系统会以原生方式提供此类功能及 Google Cloud 的其他功能。

身份验证和授权

在 Kubernetes Engine 上,您可以使用 Cloud IAM 来管理对项目的访问,并可使用基于角色的访问权限控制 (RBAC) 来管理对集群和命名空间的访问。

审核日志

在 Kubernetes 中,系统会自动记录 API 审核日志。在 Kubernetes Engine 上,Cloud Audit Logging 会自动为您记录 API 审核日志。

网络

在 Kubernetes Engine 上,您可以创建网络政策来管理集群中的 pod 到 pod 通信。此外,您可以使用专用集群来获得专用 IP,还可以将 Kubernetes Engine 资源放在共享 VPC 中。

合规性

Kubernetes Engine 拥有许多合规认证,包括 ISO 27001、ISO 27017、ISO 27108、HIPAA 和 PCI-DSS。

极简的主机操作系统

Kubernetes Engine 默认使用 Container-Optimized OS (COS),它是专为运行容器而构建并优化的一种操作系统。COS 属于开源操作系统,由 Google 进行维护。

最新组件

在 Kubernetes Engine 上,主实例会被自动修补为最新的 Kubernetes 版本,并且您可以为节点使用节点自动升级功能。

软件供应链

保障软件供应链安全的关键在于,确切知道您的环境中部署了什么,也就是说,从代码到映像再到部署,您需要充分掌控您的应用。这些功能通常内置于您的 CI/CD 流水线和容器注册表(如 Google Container Registry)中,并会在您将容器部署到生产环境之前执行准入检查。

安全的基础映像

Google Container Registry 提供 DebianUbuntu 基础映像,Google 通过定期修补和测试对这些基础映像进行维护。

漏洞扫描

Google Container Registry 提供漏洞扫描功能,可扫描您的映像和软件包是否存在 CVE 数据库中的已知漏洞。

部署政策

在 Kubernetes Engine 上,您可以使用二进制授权并根据映像的证明来限制将哪些映像部署到您的环境中。

定期构建

容器可以定期重新构建和重新部署,因此您能够充分利用针对您的环境推出的最新补丁程序,这对您大有裨益。

运行时安全

保障容器运行时安全的关键在于,确保您的安全响应团队能够检测到您的环境中运行的容器所面临的安全威胁,并做出响应。这些功能通常内置于您的安全运营工具中。

监控

Kubernetes Engine 集成了 Stackdriver,可帮助您轻松进行日志分析。您还可以将安全性事件写入 Cloud Security Command Center (Cloud SCC)。

异常活动检测

借力于我们的合作伙伴来监控攻击并在 Cloud SCC 中查看结果,可选合作伙伴包括:Aqua SecurityCapsule8StackRoxSysdig SecureTwistlock

隔离

防止恶意容器影响到其他容器。使用容器运行时沙盒 gVisor 可以更好地隔离容器,从而提高安全性。

资源

浏览有关容器安全的更多信息。

Kubernetes Engine 安全概览

Kubernetes Engine 安全强化指南

容器安全系列博文

NIST SP 800-190:应用容器安全指南

KubeCon 2017 演讲:在海盗横行的水域航行

Google Cloud

开始使用

学习和构建

刚接触 GCP?您可以领取 300 美元赠金,免费开始使用任意 GCP 产品。

需要更多帮助?

我们的专家会根据您的需求,帮您打造合适的解决方案,或帮您寻找合适的合作伙伴。