NIST 特别出版物 800-190 容器安全指南
容器专用主机操作系统是一种极简操作系统,仅设计用于运行容器,而禁用所有其它服
务和功能,并且部署了只读文件系统和其它加固措施。当使用容器专用主机操作系统时,攻
击面通常比使用通用主机操作系统小很多,所以攻击和入侵容器专用主机操作系统的几率更
小。因此,组织机构应尽量使用容器专用主机操作系统来降低风险。但重要的是要注意,专
用主机操作系统随着时间的推移也会有漏洞需要修复。
(3)只将具有同样目的、敏感性和威胁态势的容器组合放在同一主机操作系统内核中,以
提高纵深防御能力。
虽然大多数容器平台在将容器与容器隔离、将容器与主机操作系统隔离方面做的卓有成
效,但在同一主机操作系统上运行不同敏感级别的应用时会存在不必要的风险。依据目的、
敏感性和威胁态势来将容器分隔开来,可以提高纵深防御能力。组织机构按照这种方式对容
器分组,入侵某一组容器的攻击者就很难横向移动到其它组容器。这提高了发现和控制入侵
的可能性,并且确保任何残留数据,如缓存或加载临时文件的本地数据卷,保留在安全区域
内。
在数以百计的主机和数以千计的容器这样大规模的环境中,自动化分组才具有现实可操
作性。幸运的是,容器技术通常包含某种机制,能够将应用组合在一起,而且容器安全工具
可以使用像容器名称和标签等属性来对容器执行安全策略。
(
4
)采用容器专用的漏洞管理工具和过程,防止镜像遭到入侵。
传统的漏洞管理工具对主机持久性和应用更新机制及频率做了很多假设,但这与容器化
模型完全不相符。例如,传统的漏洞管理工具常常假定,某一服务器长时间运行一组相同的
应用,但不同的容器实际上可能是根据资源可用性情况,在任何给定时间在不同的服务器上
运行。此外,传统工具往往无法检测容器内的漏洞,从而产生一种虚假的安全感。组织机构
使用的工具应采用声明式、分步构建的方法,并将容器和镜像的不变性融入其设计中,从而
提供更可行、更可靠的结果。
这些工具和过程应考虑到镜像软件漏洞和配置设置。组织机构应采用工具和过程来验证
并强制确保镜像符合安全配置最佳惯例。这应包括对每个镜像的合规性状态进行集中报告和
监控,防止运行不合规镜像。
(5)考虑采用基于硬件的防范措施,为可信计算提供基础。
安全应扩展到整个容器技术的所有层。目前,实现这一目标的方法是将安全建立在硬件
可信根之上,例如行业标准的可信平台模块(
TPM
)。在硬件可信根中存储了主机的固件、
软件和配置数据的测量结果。在启动主机前用存储的测量结果验证当前的测量结果,这就保
证了可以信任主机。硬件的可信链可以扩展到操作系统内核和操作系统组件,从而可以实现
针对启动机制、系统镜像、容器运行时和容器镜像的密码验证。可信计算为构建、运行、编
排和管理容器提供了一种安全方式。
(6)使用容器感知的运行时防御工具。
评论0