随着数字化时代的发展,金融、互联网、制造业、服务业、电商等众多新兴或传统行业不同程度的将业务进行了云化。但简单的虚拟化形态转变,并不能解决传统应用升级慢、架构臃肿、无法快速迭代等问题。
云原生技术(容器、微服务、DevOps、k8s等)凭借可靠、高弹性、易扩展等优势快速兴起,得到人们的广泛使用。然而,在应用云原生技术中,大多数企业都遇到过不同程度的安全问题。如何保障容器安全,已经成为企业最关心的问题之一。
容器应用带来的新挑战
1
技术挑战
1.1 容器逃逸
作为一种操作系统虚拟化技术,容器共享操作系统内核,但并未实现完全隔离。若虚拟化软件存在漏洞,或宿主机被攻击,将会造成容器逃逸或资源隔离失效,影响某个容器或多个容器的安全。
利用虚拟化软件存在的漏洞,攻击者通过容器获取主机权限,可攻击容器所在主机,甚至是该主机上的其他容器。这直接影响到了承载容器的底层基础设施保密性、完整性和可⽤性。
过去几年内已发现了多个相关漏洞,其中CVE-2019-5736是RunC的一个安全漏洞,它会导致18.09.2版本前的Docker允许恶意容器覆盖宿主机上的RunC二进制文件,使攻击者能够以根用户身份在宿主机上执行任意命令。
1.2 镜像安全
镜像是一个包含应用/服务运行所必需操作系统和应用文件的集合,用于创建一个或多个容器。它们之间联系紧密,镜像的安全性将会影响容器安全。根据镜像创建和使用方式,通常有3个因素影响镜像安全。
镜像构建
镜像构建中使用了不安全的软件应用、不合规的配置,或镜像被恶意植入木马病毒,被上传恶意镜像等,这些都会导致创建的镜像不再安全。
镜像仓库
容器镜像仓库本身可能存在安全隐患,如Harbor 1.7.0-1.8.2 版本存在垂直越权漏洞。攻击者可以通过注册管理员账号来接管Harbor镜像仓库,从而写入恶意镜像,最终感染使用此仓库的客户端。
镜像管理
为了保障镜像安全,企业应该做好有关镜像的管理,如:不允许镜像从企业公网仓库直接拉取;并采取相关的措施,如:应构建和维护基础安全镜像,并确保所有的应用均来源于基础安全镜像。
1.3 网络风险
在虚拟化的容器网络环境中,其网络安全风险较传统网络更复杂与严峻。
以k8s为例,默认情况下,k8s中的资源不会被⾃动隔离,资源之间可以随意访问。如果容器之间未进行有效隔离和控制,一旦攻击者控制某台主机或某个容器,攻击者可以以此为跳板,攻击同主机或不同主机上的其他容器。
1.4 运行环境
集群环境引⼊了k8s编排作为基础设施,新的基础设施也带来了新的攻击手段。
新的攻击目标:集群的 Master API Server 就像域控制器一样,拿下它,即可拿下集群下所有资源的管理权限。
新的脆弱面:随着微服务的增多,暴露的端口数量也急剧增加,进而扩大了攻击面。同时,集群和docker本身的不安全配置与漏洞问题,也是新基础设施使用时容易忽视的环节。
新的攻击手段:利用集群和docker本身的特点进行攻击行为,是新型的攻击手段,如容器逃逸。
2
管理挑战
云原生的技术框架背后,是组织协作方式的变革。它从组织责任边界(交维边界),产品迭代(开发模式),业务设计(应⽤架构)到数据中⼼基础设施(运⾏平台)都产⽣了影响。
而传统安全工作主要负责线上运行服务的安全,无法适配新的开发节奏和安全要求。安全职责需要重新考虑,责任主体从开发、运维、安全的各司其职,转变成责任共担,相互认证授权机制更为复杂,⼈为因素导致认证授权配置错误成为了⼀⼤未知⻛险。
二、容器安全实践
随着云原生平台的兴起,软件开发人员与运维人员之间紧密合作,通过自动化流程来完成软件开发、测试、发布和维护,整个过程更加快捷、频繁和可靠。目前,关于降低容器安全风险,已经存在各种各样的安全控制措施,如何将它们融入软件开发生命周期中,高效保护应用系统,是企业进行容器安全实践需要考虑的首要问题。
帆一尚行作为由中国信息通信研究院云计算与大数据研究所、清华大学和腾讯云鼎实验室牵头发起的云原生安全实验室成员,始终致力于云原生技术的推广及普及,针对容器安全实践问题,结合自身实践和业内案例,提出相关的解决方案,并具备相应的解决能力:将安全的容器部署于容器环境中,并对容器的整个生命周期进行持续的检测和分析,实现容器环境的资源的可视化、镜像的安全、容器运行时的安全、基线合规和容器微隔离,最终保障容器在构建、部署和运行整个生命周期的安全。
1
构建安全
构建安全的核心是安全管理,企业应在应用上线前的早期阶段定位安全问题,在实际落地中通过软件生产过程中安全检查的卡点来实现,及时发现镜像安全问题并进行指导修复。
在开发环节,确保构建的镜像符合安全规定,在测试环节,确保镜像运行后应用的安全测试正常,镜像才可发布上线。
2
部署安全
分析确定镜像安全无风险后,镜像会被提交至镜像仓库。该阶段将检查容器环境的镜像仓库配置,确保镜像来源可信,一旦发现镜像来源不可信,将禁止使用该镜像创建容器。并可以根据企业需要,进行特殊配置,如阻止存在特定软件漏洞的镜像、阻止存在特定软件版本的镜像、阻止存在泄密的镜像、阻止以root用户运行的镜像等。
3
运行安全
当确认镜像安全后,进入到容器运行阶段。该阶段使用系统安全扫描能力,对运⾏的容器进⾏检查,发现镜像中运⾏的应⽤漏洞、应⽤弱⼝令等问题。并通过容器安全系统,构建最佳安全操作实践检查,实施或完善容器合规规范。
帆一尚行是上汽集团为数字化转型而设立的创新平台,以“消融产业边界,释放数据价值”为己任,聚焦安全云、自动驾驶云、智能制造及产业互联网技术领域,赋能行业数字化转型,加速产业数字化、数字产业化进程,积极推动社会数字经济发展。作为一家发展多元化业务的科技公司,帆一尚行为企业、开发者和政府机构等提供安全、可靠的数据计算与处理能力、专属云产品与服务。
帆一尚行安全团队通过产品+服务的形式,为企业提供一站式的网络安全解决方案。安全团队具备深入的安全技术知识和实践经验,在企业合规咨询、安全建设、安全攻防和应急响应方面有着丰富的经验。帆一将企业安全能力和帆一云安全能力进行融合,以双向协同的模式,为企业提供高效、常态化的安全服务。
针对容器安全,帆一认为需要将容器安全融入软件生命开发周期中,通过技术防护与管理防范,最终保障容器构建、部署、使用时的安全,在充分享受云原生技术带来的便捷同时,确保自身应用系统的安全。
王 璐
上海帆一尚行科技有限公司网络安全专家
专注于基础架构安全、云安全、应用安全等方面的工作和实践
部分内容源自网络,如有侵权请与我们联系删除。
点击下方名片,关注我们
觉得内容不错,就点下“赞”和“在看”
如果不想错过新的内容推送,可以设为星标🌟哦
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...