容器安全概述
容器安全是指保护容器的完整性。这包括从其保管的应用到其所依赖的基础架构等全部内容。容器安全需要完整且持续。通常而言,企业拥有持续的容器安全包含以下方面:
- 保护容器管道和应用
- 保护容器部署环境和基础架构
如何将安全内置于容器管道?
按照这些步骤操作:
收集镜像
容器从一层层的文件创建而来。容器社区通常将这些文件称为"容器镜像"。对安全而言,基础镜像至关重要,因为它要用做创建衍生镜像的起点。容器安全从寻找基础镜像的可信来源开始。不过,即使是使用受信任的镜像,添加应用和更改配置也会带来新的变数。在引入外部内容以构建应用时,您需要预先考虑内容管理。
- 整合企业安全工具,遵循或增强现有的安全策略
容器广受欢迎,因为它能简化应用或服务及其所有依赖项的构建、封装与推进,而且这种简化涵盖整个生命周期,并且跨越不同的环境和部署目标。然而,容器安全依然面临着一些挑战。静态安全策略和检查清单无法针对企业内的容器进行扩展。供应链需要更多的安全策略服务。团队需要权衡容器的网络与监管需求。构建与运行时工具和服务需要分离。
将安全性内置于容器管道,可以为您的基础架构增添防护,从而保障容器的可靠性、可扩展性和信赖度。通过本网络培训课堂系列,您可以获取有关整个容器应用堆栈和生命周期安全性的专家视角。
在收集容器镜像时,思考以下问题:
- 容器镜像是否有签名并且来源可信?
- 运行时和操作系统层是否处于最新状态?
- 容器的更新速度和频率如何?
- 已知问题是否已确定?如何跟踪?
管理访问权限
获取了镜像后,下一步是管理您团队使用的所有容器镜像的访问权限和升级。这意味着要保护好您下载和构建的镜像。私有注册表可帮助您利用基于角色的分配来控制访问权限,也有助于您通过分配元数据到容器来管理内容。元数据可以提供辨别和跟踪已知漏洞等所需的信息。私有注册表也为您提供相应的功能,为您存储的容器镜像实现自动化和分配策略,同时最大限度减少可能为容器带来漏洞的人为错误。
在决定如何管理访问权限时,思考以下问题:
- 可以利用哪些基于角色的访问控制来管理容器镜像?
- 有没有可协助镜像整理的标记功能?能否对镜像进行标记,仅允许用于开发、测试或生产用途?
- 注册表是否提供跟踪已知漏洞所需的可见元数据?
- 能否利用注册表来分配和自动化策略(例如,查验签名和扫描代码等)?
整合安全测试和自动化部署
管道的最后一步是部署。完成构建之后,您需要按照行业标准进行管理。此处的诀窍是,了解如何通过自动化策略对构建进行安全问题标记,特别是在发现新的安全漏洞时。由于容器修补必定不如重新构建容器的解决方案,因此整合安全测试时应当要考虑能触发自动重新构建的策略。在这一步中,首先是运行能跟踪和标记问题的组件分析工具。其次是开发相应的工具来实现基于策略的自动化部署。
在整合安全测试和自动化部署时,思考以下问题:
如何避免修补运行中的容器,而使用触发器来通过自动化更新重新构建和替换容器?
如何保护容器基础架构?
另一层容器安全性是主机操作系统(OS)提供的隔离。您需要可以提供最大程度容器隔离的主机 OS。这是保护容器部署环境的一个重要组成部分。利用容器运行时启用主机 OS,最好是通过编排系统来管理。若要使容器平台具有弹性,可使用网络命名空间来隔绝应用和环境,并通过安全挂载来附加存储。API 管理解决方案中应包含身份验证和授权、LDAP 集成、端点访问控制和速率限制。
在决定如何保护容器基础架构时,思考以下问题:
- 哪些容器需要相互访问?它们要如何发现彼此?
- 如何控制对共享资源(如网络和存储)的访问和管理?
- 如何管理主机更新?是否所有容器需要同时进行更新?
- 如何监控容器的健康状况?
- 如何自动扩展应用容量以满足需求?
为什么选择红帽实施容器?
红帽® OpenShift® 中包含红帽企业 Linux®。它可以自动化容器应用生命周期,将安全性整合到容器管道中,并在设计中纳入开发运维团队理念。通过我们的容器目录,您可以访问众多认证镜像、语言运行时、数据库和中间件,它们能够在运行红帽企业 Linux 的任何位置上运行。红帽提供的镜像全部经过签名和认证,具有出处和完整性保障。
我们会监控我们的容器镜像中是否有新发现的漏洞(包括持续更新和公开发布的健康指数),同时也会发布安全性更新和容器重新构建并推送到公共注册表。您可以随时查看我们的年度红帽产品安全风险报告,其详细说明了我们每年对影响全球企业软件已知安全漏洞的应对措施。
红帽的安全合作伙伴可通过已获得认证的集成来扩展和增强我们的容器安全能力。红帽 OpenShift 在平台中内置了安全功能,与我们的安全合作伙伴解决方案相辅相成,可帮助保障应用和容器在整个开发运维生命周期中的安全。
此外,也有以下精彩功能供您选用:
- 全网范围容器编排和管理
- 功能丰富且支持多用户协作的 Web 控制台
- CLI 和 IDE 接口
- 构建自动化和源至镜像
- 利用 CI 进行整合
- 部署自动化
- 支持远程存储卷
- 简化安装和管理
- 支持多种编程语言、框架和服务