容器的使用持续增长。 无论是无服务器、云原生应用程序,还是对整体式应用程序进行现代化改造的愿望,容器正在迅速成为部署应用程序的首选平台。
Sysdig 最近根据收集的公共云和本地服务客户的数据发布了 2019 年容器使用情况报告。 数据涵盖超过两百万个集装箱。
除了令人兴奋的(如果你是我的话)发现 60% 的容器正在运行 NGINX 之外,Sysdig 还发现了一些相当令人不安的安全统计数据。
考虑一下这个: 54%的容器存活时间少于五分钟。 2018 年,这一比例仅为 20%。
为什么这令人困扰? 当然是安全。 如果您尝试保护访问(您应该这样做)并尝试保护在该容器中运行的应用程序或 API,那么您必须确保您的安全服务不断调整策略以匹配集群的当前状态。 这意味着策略需要在容器启动时应用于容器,并在容器退役时删除策略。 正在发生很多变化,这意味着大量的运营开销。 在相对静态的应用上保证正确的安全性已经够困难了。 由于波动性很大,所以要快速完成这件事真的非常困难。
如果这并不困扰您,请尝试这个统计数据:尽管 60% 的容器镜像是从私有注册表中提取的(干得好!),但其中 52% 的镜像扫描失败。 这意味着他们知道严重程度较高或更高的漏洞。
呃。 我甚至不能。
事实证明,很多人都以 root 身份运行容器(每个主机的中位数: 21)或特权模式(每台主机的中位数: 4). 其他人没有限制权限(每个主机的中位数为 28)。 这尤其令人沮丧,因为 Docker(最流行的容器运行时)默认情况下以一组受限的功能启动。 这意味着有人故意更改了默认的安全设置。 不受限制地运行可能会导致提升权限或突破容器(允许访问系统)。
现在我们来回顾一下容器安全的基础知识:
对于应用程序的安全(以及业务的安全)来说,良好的容器安全实践至关重要。 我们即将发布的 2020 年应用服务状况报告发现,云原生/微服务平均占企业应用程序组合的 15%。 尽管调查结果显示新应用s积压时间很长,但这一比例仍然没有改变。 这意味着容器化应用程序的数量只会增长。 如果我们不能保证一小部分应用程序的安全,我们如何能期望扩大规模来保证其中相当大一部分应用程序的安全呢?
实践安全的容器化。
如果您有兴趣复习容器安全基础知识,请查看基于我的 F5 同事 Jordan Zebor 的专业知识的本系列文章: