你的K8s 运行时环境安全吗? KubeXray帮你保护K8s环境及应用

引言

大多数安全措施都是为了防止漏洞逃跑而设计的, 在此之前,我们也分享了一些第三方安全扫描的文章(请移步到历史文章中查看),尽早识别应用程序的风险意味着您可以防止或限制它部署到您的系统中(安全左移策略)。有了这些知识或工具,容器中任何可能造成损坏的漏洞都可以安全地留在由您的安全策略围栏后面。


但是,当这些漏洞已经逃跑时,我们能做什么呢? 如何确保已经在Kubernetes pods中运行的容器和应用程序符合您当前的风险和策略?


背景(运行时安全管控)

由于大多数应用程序严重依赖于包管理器和开源存储库,因此它们很容易受到来自这些源的恶意或不安全代码的攻击。想象我们交付的软件 Application 是一张饼,我们自己开发的代码仅占其中很小一部分,见下图:



最近,当Javascript社区得知npm module中流行的事件流包被一个针对比特币钱包平台的恶意包更新时,他们非常愤怒。在被发现和报道之前的三个月里,这个包被下载了近800万次。

虽然来自社区包管理器的此类事件并不常见,但并不少见。一年前,npm发现并删除了39个恶意包。所以很多包在我们安全策略发现之前可能已经进入到了生产环境


解决方案

在介绍如何对运行时进行安全控制之前,先回顾一下常见漏洞扫描工具的原理:这里以JFrog  Xray 为例:

通用二进制分析工具和策略引擎JFrog Xray,会实时扫描Artifactory制品库中的容器镜像,war包,以及Npm module 等二进制制品,执行深度递归扫描,逐层检查应用程序的所有组件,并与多个漏洞数据源(已知漏洞数据库)进行一一对比,从而判断是否存在已知漏洞或License许可证策略问题,同时为被扫描文件(Docker 镜像,Npm Module)添加相关元数据。


Xray 漏洞扫描平台分析

DevOps管理员可以根据Xray扫描平台所发现的风险级别,配置策略来限制或阻止Kubernetes部署这些Docker 镜像。但是可以发现仅仅使用Xray,只能将漏洞限制在运行时之前。


为了解决这个问题,JFrog提供了KubeXray 组件,这是一个开源软件项目,它将通用二进制安全分析工具Xray的安全性扩展到Kubernetes pods运行时。

使用Xray扫描容器映像生成的元数据,KubeXray可以对已经部署的内容(容器镜像等)进行安全策略管控

KubeXray监控所有活动Kubernetes Pod资源,以帮助您:

1. 捕捉当前在所有Kubernetes吊舱中运行的应用程序中最新报告的风险或漏洞

2. 对正在运行的应用程序强制执行当前策略,即使您已经更改了这些策略

3. 对未被Xray扫描且风险未知的正在运行的应用程序执行策略


通过这种方式,KubeXray可以帮助您将逃逸的漏洞进行安全的控制。


KubeXray 是什么?


在Kubernetes将容器镜像部署到pods之前,Xray检测风险并将策略应用于容器镜像,KubeXray检测风险并将策略应用于已经运行或即将运行的Kubernetes pod。

KubeXray监视来自Kubernetes服务器和Xray的安全事件,并为Kubernetes运行的所有pods执行当前的安全策略。KubeXray监听这些事件流:

1. 部署新服务(Pod)

2. 升级现有服务

3. 新的许可证策略,例如某个License许可证类型不允许在运行时使用

4. 一个新的安全问题


当检测到问题时,KubeXray会根据您设置的当前策略进行响应。您可以选择以下可能的操作之一:


· Scaledown为直到0。所需的服务状态更新为0,使其在仍然可以查询时处于非活动状态

· 删除漏洞容器镜像的相应Kubernetes资源

· 忽略它,让pod继续运行


KubeXray还了解不同Kubernetes资源(状态集和部署)之间的差异,并允许对每种资源应用不同的策略操作。



虽然KubeXray主要是将Xray的深度扫描安全性扩展到运行Kubernetes pods,但它也为未被Xray扫描的pods提供了一些策略控制,例如从存储库(而不是Artifactory)部署的容器映像。对于没有经过x射线扫描的pod,因此其风险是未知的,您可以指定要采取的单独策略操作。


KubeXray 工作原理

KubeXray监听Kubernetes集群中运行的每个pod,并使用Xray元数据(何时可用以及是否可用)来确定安全策略控制。

1. 对于Kubernetes上的每个pod(运行或计划运行),KubeXray检查Xray元数据中的漏洞或License许可证策略问题。如果发现任何风险,KubeXray将采取相应的控制操作。


2. 如果Kubernetes pod中的任何容器镜像(正在运行或计划运行)没有被Xray识别——因为它没有被扫描,或者因为它没有从Artifactory 下载——那么KubeXray将以未知风险来应用当前的策略集。


每当在Xray上添加或更新新策略,或报告新漏洞时,KubeXray都会检测到此更改,并检查现有pod是否存在问题。如果发现任何风险,KubeXray将立即根据当前安全策略进行安全控制。


如下图所式: 显示对漏洞pod的每个策略操作过程(忽略/删除/缩容)。





上面提到:KubeXray根据发现的风险和DevOps管理员配置的策略应用策略操作。

策略操作是在一个 values.yaml 文件中设置。您可以为以下条件配置策略操作(缩容、删除或忽略):


·未扫描——未被 Xray扫描deployments ,您还可以指定命名空间的白名单;使用这些命名空间的deployments 将不应用安全策略操作。

·安全性——由于漏洞而存在安全问题的deployments 。

·License许可证——许可证不符合策略的deployments 。


上述每种条件都为Deployments 和StatefulSets提供了单独的策略操作设置。


KubeXray安装使用

KubeXray工具是一个开源软件项目,可以在Github存储库中找到并安装它(https://github.com/jfrog/kubexray)。

要使用KubeXray,您必须具备:

·一个已获授权及正在运行Artifactory 服务

·一个已获授权及正在运行Xray服务

·一个 正在运行的Kubernetes集群

·客户端Kubectl

·Helm客户端以及Helm服务端配置(Tiler) 


快速安装KubeXray:

JFrog Helm仓库中提供的一个Helm Chart,可以快速安装或升级JFrog KubeXray到正在运行的Kubernetes集群。要自定义KubeXray的配置,请参阅Github Readme文档。


安装KubeXray后,可以在values.yaml中设置前文提到的策略操作。让JFrog KubeXray监视您的Kubernetes pod,控制Kubernetes 集群运行时存在的安全漏洞或License 许可证问题。


总结

常见的第三方漏洞安全监管工具一般只在控制运行时之前进行安全控制,在运行时未能做到相应的监管控制,KubeXray可以帮助我们快速对运行时资源进行安全管控,并且其作为一个开源软件项目,我们期待着继续增强KubeXray以获得更健壮的操作和特性,并欢迎开发人员在社区提出改进意见和提交代码。


更多技术分享请关注公众号:JFrog杰蛙DevOps

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,324评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,356评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,328评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,147评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,160评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,115评论 1 296
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,025评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,867评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,307评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,528评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,688评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,409评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,001评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,657评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,811评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,685评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,573评论 2 353

推荐阅读更多精彩内容