容器与传统技术架构有不同的地方,在传统云上现在有比较成熟的方案。比方说传统上有管理端加固,操作系统加固,安全策略制定。在容器领域有没有一些必须要做的安全整治?
容器安全加固方面,也有相关的最佳实践,很多安全公司现在都有这方面的实践和建议,比如对dockerfile的安全配置建议,对于k8s yaml的安全配置建议。这些建议很多是来自CIS,可以根据自己的实际情况选择使用。CIS对于k8s组件的配置也有一套安全规范可以参考。如果有合作的安全公司,可以请他们给你们做相关的安全加固。
收起容器安全措施跟传统的安全措施没有本质的区别,只不过需要根据容器自身的特点选择合适的方法和机制。比如静态安全测试、动态安全测试、入侵检测、病毒防护、网络流量监控、漏洞检测等。但容器自身的特点是轻量、弹性、无状态、生命周期短等。采用容器通常容器的量是很大的,往往无法实现人工对每个容器管理,需要实现自动化。采用容器通常要尽可能安全左移,将安全风险消灭在部署之前。但运行时安全措施同样一点不可少。
采用容器,尽可能实现基础设施自服务能力,安全能力也是一样,比如发现漏洞后可能成败数千个容器都需要更新升级。而且不适合用传统网络防火墙的管理方式
目前容器安全方案还在发展中,简单的可以按照应用生命周期分设计时和运行时进行安全检测和防护。不过没有100%安全,有时需要根据实际有所取舍。基本上需要考虑代码的安全检测、镜像安全检测、运行时防护、入侵检测、病毒防护、节点安全、接口安全等。