迈入容器时代,企业如何确保安全?

美国国家标准与技术研究院(The National Institute of Standards and Technology,NIST)日前针对应用Container这项新兴技术,公告了一份安全性指导方针,列出采用Container值得注意安全性挑战,报告总结二个安全性弱点,以及六大环节的安全对策。

高灵活性是Container的优势之一,灵活在不同执行环境与基础架构中迁移,但这个特性也成为了安全缺口之一。通常同一个Container镜像会在不同的环境下使用,像是开发、测试到正式上线的环境,不过在实际中情况可能会因为应用程序的可移植性以及持续交付等环境,产生不可预期的执行情境,而安全性工具将无法预测这些可能产生的安全问题的可能性。

第二个安全缺口在于,Container仰赖镜像作为构建的蓝图,当有新的镜像版本产生时,旧的Container会被消灭,而新的Container会依造新的镜像被建立,因此建立镜像在管理Container工作上背负重大的责任,不过因为Container这样的运作模式,某部分安全性的责任会落到不擅长运维的开发部门上,像是操作系统更新的补丁,或是应用程序的版本更新,开发部门都需要频繁的重新产生镜像,但执行环境相关的安全性议题在运维团队通常有较丰富的经验与专业,当执行环境与程序开发捆绑在一起,便容易产生被人忽视的安全死角。

针对这两个因为Container特性而产生的安全性议题,NIST提出6处容易产生安全漏洞的环节,包括镜像、注册、Orchestrator、Container、Host OS以及硬件。

一、镜像产生的漏洞可能来自于已知或未知的操作系统漏洞、设定上的疏忽或是恶意软件,甚至是明码储存敏感信息,然而很大部分也来自开发团队没有意识到应负起安全性的责任,像是在Docker Hub上多数的基底镜像都存在高优先度安全漏洞,如果开发团队没有留意,很容易将系统暴露在易受攻击的环境中。

二、注册相关的议题,可能因为过时的镜像、不安全的联机或是权限设定不够周延。

第三个有安全风险的地方是Orchestrators,因为其控制着Container的生命周期,但可能因为网络联机的质量问题,产生臭虫或是设定未能及时产生效果,导致未预期的存取发生。

第四至于Container本身可能遭遇的问题,需要注意Container内恶意代码会突破Container的限制,感染其他Container。

第五项则是要注意每一个Host OS都有其受攻击的弱点面,Host OS确保Container执行不受外界影响

最后一项是底层的硬件是安全环节的最根本,也必须留意。

K8S中文社区微信公众号