前言
近十年云计算技术处于高速发展的过程中,借助开源项目和社区的力量,很多项目更新和迭代非常快。如知名的开源IaaS组织方OpenStack基金会改名为OpenInfra,目标是将云计算系统从IaaS扩展到容器、编排等层面,除了通用云计算外,还覆盖如边缘计算、5G和物联网等场景;而Google发起的Kubernetes已经在众多云原生项目中脱颖而出,成为事实上的编排标准,最终可能统一云原生体系。虚拟化技术、容器技术和编排技术最后很可能会融合成一套标准云计算框架,在各个行业出现最佳实践。
与此同时,安全技术也在快速演进。2013年左右出现了高级持续威胁,攻击者利用各种复杂的手段不断突破防守方的边界,此起彼伏的失陷事件让疲于奔命的安全团队沮丧。而近几年,安全厂商研制了利用虚拟化技术的蜜罐、沙箱和网络空间靶场等机制,让防守方转被动挨打为主动反制和常态化对抗,让我们看到了最终获胜的曙光。
笔者团队为绿盟科技星云实验室,一直从事云计算安全和网络安全前沿的研究和产品孵化,希望通过本书能将工作中的得失与广大读者分享。
在2015年之前,随着虚拟化技术的成熟,以SDN和NFV为支撑技术的设施虚拟化IaaS成为主流。笔者在2016年出版了《软件定义安全:SDN/NFV新型网络的安全揭秘》,这本书详细介绍了新型网络中的安全风险和威胁,并进一步提出了软件定义的安全体系。事实上,这个体系在绿盟科技的云计算安全解决方案,以及其他安全解决方案中得到了应用。
而从2016年开始,整个行业因为开发运营一体化(DevOps)和新型基础设施的快速推进,以容器、编排和微服务为代表的云原生技术变得流行。从技术上看,虽然容器技术也是一种虚拟化形态,但对应的防护思路和安全体系截然不同。笔者认为有必要详细阐述和解析云原生技术栈,并分析其中存在的脆弱性和威胁,让初探云原生安全的读者少走错路、弯路,在最短时间内聚焦关键技术问题,构建适合自己的云原生安全体系。笔者团队分别于2018年和2020年发布了《容器安全技术报告》[1]和《云原生安全技术报告》[2],但限于篇幅,很多细节无法展开,本书首次较为详细地展示了一些技术上的思考和细节,读者可按照书中的介绍进行验证,从而得到更深刻的理解。
需要说明的是,云原生社区非常活跃,各类技术层出不穷,也许当你阅读本书时,书中具体的软件版本、命令参数已经不适用,但云原生安全的本质和防护思路是不会变的。当然,如果遇到任何问题,也欢迎你联系笔者团队。
本书实践部分涉及的源代码位于随书附带的GitHub仓库,我们也在仓库中提供了丰富的补充阅读资料,以供大家进一步了解。仓库地址为https://github.com/brant-ruan/cloud-native-security-book。
关于书中涉及的云原生环境、云原生攻防工具,我们也有开源的计划,请关注微信公众号“绿盟科技研究通讯”。各位有志于从事云原生安全的读者,或许可以从中获益。如有兴趣,欢迎贡献你的代码,为云原生安全添砖加瓦。
最后,本书难免有疏漏,敬请读者批评指正。
刘文懋