JFrog KubeXray扩展了Kubernetes运行时的深度扫描安全性

大多数安全措施的设计都是为了防止小妖精逃脱。尽早识别应用程序的风险意味着可以防止或限制其部署到系统中。有了这些知识,您的容器中任何可能造成损害的小妖精都可以被安全地保护在您的政策所建立的围栏后面。
但是当小精灵已经逃跑了,你又能做什么呢?如何确保已经在Kubernetes pod中运行的容器应用程序符合您当前对风险和策略的了解?
为了解决这个问题,JFrog提供了KubeXray,这是一个扩展安全的开源软件项目x光,我们的通用二元分析在Kubernetes pod中运行(或即将运行)的应用程序。使用Xray通过扫描容器映像生成的元数据,KubeXray可以在已经部署的内容上执行策略。
KubeXray监控你所有的活动Kubernetes pod来帮助你:
- 捕获当前在所有Kubernetes pod中运行的应用程序中新报告的风险或漏洞
- 对正在运行的应用程序执行当前的策略,即使在更改了这些策略之后也是如此
- 对运行未被x射线扫描且风险未知的应用程序强制执行策略
通过这种方式,KubeXray可以帮助您将松散的小妖精赶回安全地带。
背景
由于大多数应用程序严重依赖于包管理器和开放源代码存储库的依赖性,因此它们很容易受到来自这些源的恶意代码或不安全代码的攻击。
Javascript社区最近很混乱当他们得知流行事件流NPM中的软件包已更新为针对比特币钱包平台的恶意软件包。在它被发现和报告之前的三个月里,这个包已经被下载了将近800万年次了。
虽然来自社区源包管理器的此类事件很少发生,但它们并不罕见。一年前,在NPM中发现并删除了39个恶意软件包。
x射线,JFrog通用二进制分析工具和策略引擎,扫描容器图像Artifactory存储库,以识别从各种来源报告的已知漏洞。它执行深度递归扫描,检查应用程序的所有组件是否存在已知风险和许可策略遵从性,并为映像填充元数据。
DevOps管理员可以根据x射线扫描发现的风险级别,配置策略来限制或阻止Kubernetes部署这些容器映像。通过这种方式,可以阻止易受攻击或不兼容的应用程序运行,或者限制它们在启动时允许执行的操作。
KubeXray做了什么
在Kubernetes将容器映像部署到pod之前,Xray会检测风险并应用策略,而KubeXray会检测风险并对已经运行或即将运行的Kubernetes pod应用策略。
KubeXray监控来自Kubernetes服务器和Xray的事件,并为Kubernetes运行的所有pod执行当前的安全策略。KubeXray监听这些事件流:
- 新服务的部署
- 升级现有服务
- 运行时不允许使用新的license策略,例如新的license类型
- 新的安全问题
当检测到问题时,KubeXray根据您设置的当前策略进行响应。您可以选择以下可能的操作之一:
- Scaledown为0。服务的期望状态更新为0,使其在仍然可以查询时处于非活动状态
- 删除对应的指向易受攻击的容器映像的Kubernetes资源
- 忽略让舱继续运转
KubeXray还理解不同Kubernetes资源(statfulsets和deployment)之间的差异,并允许为每个资源应用不同的策2022世界杯阿根廷预选赛赛程略操作。
虽然KubeXray主要将Xray的深度扫描安全性扩展到运行Kubernetes pod,但它也为未被Xray扫描的pod提供了一些策略控制,例如从Artifactory以外的存储库部署的容器映像。对于未被Xray扫描的pod,因此其风险未知,您可以指定要采取的单独策略操作。
KubeXray是如何工作的
KubeXray监控Kubernetes集群中运行的每个pod,并使用Xray元数据(何时可用,是否可用)来确定策略操作。
- 对于Kubernetes上的每个pod(正在运行或计划运行),KubeXray根据Xray元数据检查漏洞或许可证问题。如果发现任何风险,KubeXray将应用相应的策略动作。
- 如果Kubernetes pod(正在运行或计划运行)中的任何容器映像没有被Xray识别——因为它没有被扫描,或者因为它不是从Artifactory部署的——那么KubeXray将应用当前的策略操作集来应对未知风险。
每当在Xray上添加或更新新策略时,或者报告新的漏洞时,KubeXray都会检测此更改并检查现有pod是否存在问题。如果发现任何风险,KubeXray将应用当前的政策操作。

图1:图表显示了每个策略操作(忽略/删除/缩小)对脆弱pod的影响。
KubeXray根据发现的风险和DevOps管理员配置的策略执行相应的策略动作。
在a中设置策略动作values.yaml文件。您可以针对以下情况配置策略动作(缩减、删除或忽略):
- 未计算的-未被x射线扫描的部署。您还可以指定名称空间的白名单;占用这些名称空间的部署将不应用任何策略操作。
- 安全-由于漏洞而存在安全问题的部署。
- 许可证-许可证不符合策略的部署。
上述每个条件都为deployment和StatefulSets提供了单独的策略操作设置。
使用KubeXray
KubeXray工具是一个开源软件项目,可以在其Github库。
要使用KubeXray,您必须具备:
- 的授权副本Artifactory
- 的授权副本x光
- 正在运行的Kubernetes集群
- Kubectl安装并设置为使用集群
- 舵已安装并设置以使用集群
另外,作为x射线安装的一部分,您必须有一个xray_config.yaml配置文件与正确配置的x射线服务器连接设置。
一个提供舵图在JFrog Helm repository可以轻松地将JFrog KubeXray安装或升级到正在运行的Kubernetes集群中。要自定义配置KubeXray安装,请参见阅读。我的文档。
安装KubeXray后,您可以在values.yaml文件未计算的,安全,许可证条件。
这就是让JFrog KubeXray监控您的Kubernetes pod,并控制您的安全和许可问题所需要的全部内容。
作为一个开源软件项目,我们期待着继续增强KubeXray,以获得更强大的操作和功能,并欢迎开发人员社区进行改进。
你是JFrog产品的新手吗?hth华体会最新官方网站使用一个Artifactory免费试用和免费试用x射线尝试一下KubeXray