DockerHub被入侵引发的思考:如何将安全整合到DevOps中保护容器安全

为满足对速度和敏捷性的商业要求,DevOps团队不断简化软件交付流程。在这样的背景之下,Docker成为了最佳选择之一。2018年容器的采用率是81.7%,超过80%的受访者表示他们会采用容器技术,这个数字远超去年50%。

打开凤凰新闻,查看更多高清图片

越来越流行的容器

越来越多的企业利用Docker容器来快速构建和维护新服务和新应用。但是,容器本身也存在重大的安全风险,例如不安全的Docker 镜像、运行环境的安全问题、Docker架构缺陷与安全机制等,这都意味着保护容器安全将是一项持续的挑战。

据悉,美国当地时间周五晚上,由于Docker Hub 遭受非法入侵,已导致19 万个帐号的敏感数据被泄露。虽然受影响的用户只有5%,但是绝大多数Docker Hub 用户都是大公司的内部员工,他们的帐号可能正在使用自动构建容器服务,然后在实际生产环境中部署这些容器。如果他们没有及时重置帐号密码,那么其帐号的自动构建服务会存在极大的安全风险。

藏在天使背后的可能是豺狼虎豹

容器对于快速和高效的软件交付有着独特“功效”,但是天使背后藏着的可能就是“血盆大口”,随时将眼前的羔羊们撕成碎片。那该怎么办?是避而远之放弃得之不易的便利性,还是谨慎前行减少自身可被利用的脆弱性呢?

任何事物都有两面性,对于那些在安全道路上选择独自前行的同行。笔者认为,在选择利用容器便利性同时,前期一定不能忽视其安全性。只有这样才能够在部署容器化应用程序之前便知悉潜在风险。DevOps团队需尽早在开发过程中获得快速修复容器化镜像中的漏洞和恶意软件所需的信息,从而在部署之前降低风险并加速开发。

在软件开发生命周期中,安全“左移”已成为共识。那么如何通过整合常见的CI/CD 构建系统和容器镜像仓库,在DevOps 工具链中进行漏洞和恶意软件的快速检测等方式来确保容器的安全? 

将安全整合到DevOps中才能对容器实现全生命周期保护

青藤的容器安全解决方案可集成至DevOps的流程中以消除安全盲点,同时不会拖慢软件开发进程。青藤容器安全解决方案提供Docker容器镜像安全整体的状况,通过镜像扫描、入侵检测和合规基线实施情况等,化解容器所带来的安全挑战。

青藤蜂巢·容器安全产品, 是以应用为中心、轻量级、保障容器静态资源及运行时安全的分布式解决方案,能够针对应用漏洞、不安全配置、入侵攻击、网络行为,并结合安全策略,提供覆盖容器全生命周期的、持续性安全防护。青藤蜂巢·容器安全产品覆盖了容器使用过程中的Build、Ship和Run三个阶段,提供资产清点、镜像扫描、合规基线、以及入侵检测等核心功能。

消除容器资产盲点容器资产清晰可视化

如何了解容器中跑了哪些应用,以及这些应用是否存在已知漏洞?容器多久更新一次,安全人员如何知晓更新情况?要解决这些问题,需要为安全管理者提供容器资产安全可视化能力,使之对资产安全状况一目了然。

青藤容器安全解决方案以容器、镜像、registry、主机的四大资产为基础,进一步清点出有哪些具体的应用容器在跑。青藤蜂巢·容器安全产品的资产清点功能可主动识别并可视化所有容器资产。例如为安全人员展示了:

1) 系统中有哪些容器在使用,容器中都跑了哪些应用。例如MySQL的容器有多少,Ngnix的容器都分布在哪些机器上,哪些容器未被使用。

2) 清晰了解Registry中镜像使用情况。基于此可进一步管理Registry中存在漏洞的镜像,阻断不可信的镜像被使用。

持续镜像扫描,覆盖容器全生命周期

在不断发展的技术环境中,每天都会发现新的漏洞。通过大范围监视外部漏洞数据库,保护容器免受新型威胁。一旦发现新的漏洞,便会自动对容器镜像进行重新测试,迅速做出响应。比如最近新爆发的Docker提权漏洞,我们能在24小时之内进行响应,迅速帮助客户发现生产环境中是否存在这样的漏洞。

青藤容器安全解决方案将镜像扫描能力集成在CI/CD 环节中,提供Jenkins的安全插件,在集成阶段即对镜像进行扫描,发现存在漏洞的镜像。通过对Registry中的镜像进行扫描,从镜像库中发现存在漏洞的镜像,并提供受信镜像的设置,以及时发现不可信的镜像。当然,在持续镜像扫描中,会优先处理那些处于运行状态且存在漏洞的容器。同时,可以通过配置细粒度的镜像规则,阻断存在漏洞的镜像投入使用。例如,可设置规则,对于存在危急漏洞的镜像禁止使用。

合规基线,是策略执行最佳保证

青藤蜂巢·容器安全的Docker CIS基线从宿主机配置、Docker Deamon 配置、容器运行时配置三个方面,为企业提供容器的最佳安全策略。

青藤蜂巢·容器安全产品的合规基线产品就是通过对CIS Benchmark的持续自动化的检查,来发现整个容器运行环境中存在的问题,并且给出相应的修复建议,帮助用户能够最大程度地保证容器运行环境的安全性。

自动化入侵检测,抵御黑客攻击

青藤采用自主研发的基于异常行为的入侵检测引擎,通过对内在指标的持续监控和分析,实时发现黑客攻击行为。举个简单例子,攻击者通过上传Webshell到容器中,然后发起反向链接,利用DirtyCow(脏牛)等漏洞进行提权。面对该攻击过程,青藤蜂巢·容器安全的入侵检测功能通过多锚点的检测能力,对攻击路径的每个节点都进行监控,实时发现黑客攻击行为,第一时间发出报警。

下面以三个常见的黑客入侵手段为例来说明一下入侵检测功能:

(1)Webshell检测。通过识别web目录,结合正则库,相似度匹配,沙箱等多种检测方法,定时检测文件变化,从而及时发现Web后门,并对后门影响部分进行清晰标注。

(2)反弹shell检测。通过对用户进程行为的实时监控,发现进程的非法Shell连接操作产生的反弹Shell行为,并提供反弹Shell的详细进程操作树。

(3)本地提权检测。通过对用户进程行为进行实时监控,发现进程的提权操作并通知用户,并提供提权操作的详细信息。

强大容器安全能力背后离不开产品核心架构支撑

青藤蜂巢·容器安全解决方案,在技术实现上采用Agent-Engine的技术架构。该架构有三大优势是:

(1)丰富的安全功能。覆盖容器的整个生命周期,即构建、分发、运行三个阶段;

(2)强大的Agent能力。青藤Agent已经在超过10万台主机上稳定运行,而CPU的消耗一直是小于1%的;

(3)超融合架构。在同一套架构里,解决了容器安全和主机安全两类问题。