Kube-hunter:一个用于Kubernetes渗透测试的开源工具

Aqua 是一家专注于Docker、Kubernetes、Mesos安全的公司,最近他们开源了一款测试工具叫做kube-hunter。kube-hunter翻译成中文是Kubenetes猎人,而这个猎人寻找的“猎物”就是Kubernetes集群中的安全漏洞。

我们最近发布了一款叫做Kube-hunter 的免费工具。你只需提供你的Kubernetes集群的IP或者DNS名称,Kube-hunter就会探查集群中的安全漏洞——这个过程就像是自动化的渗透测试。

注意:这个工具目的是为了帮助测试你自己部署的集群,以便你找到潜在的安全问题。请不要用这个工具探测不属于你的集群!
如果你的集群的Kubernetes监控面板被暴露到公网或者你的kubelets可以被外界访问,Kube-hunter会向你发出警告。

运行Kube-hunter


Kube-hunter是开源的,我们同时也提供容器化的版本,使它可以很容易的运行起来。容器化的版本需要和我们的kube-hunter网站一起使用,在这个网站上你可以很容易的查看结果,并将结果共享给你的团队。

kube-hunter网站,输入你的email, 你将会得到一个包含token的Docker命令,复制该命令并运行它(确保你安装了Docker),系统将会弹出框提示你输入你想测试的Kubernetes的集群的地址。当所有测试运行完后,你将会看到一个用于查看结果的唯一URL(与之前的token相关联),你可以将这个URL分享给需要查看结果的其他任何人。

被动猎人以及active猎人

(此处应该翻译为主动猎人,但是下文中active更容易理解)

Kube-hunter默认只运行“被动猎人”,被动猎人指的是一系列测试,这些测试是用于探测集群中的潜在访问点(如开放端口)。

你也可以打开“主动打猎”模式,只需要加上--active参数。当使用active模式时,kube-hunter会尝试利用“被动猎人”发现的任何弱点来进行一些额外的测试。active猎人目的是为了展示攻击者可能做的事情,虽然我们并不想这些测试做任何破坏性的操作,但是你应该谨慎使用,因为active猎人可能会改变集群的状态或其中运行的代码。例如:有一个 active猎人 尝试进入一个容器并运行uname命令。

负责任的进行渗透测试

或许我不该强调这么多遍,但是你绝对不能把kube-hunter用于别人的集群!虽然这个工具极大可能被用于攻击其他网站,但是绝对不是我们的目的(如果您使用kube-hunter网站,在您接受的条款和条件中明确的禁止了这类事情)。

在发布kube-hunter之前,我们仔细考虑了它会被坏人利用的可能性;但事实上,他们可能已经通过一些通用工具,例如port scanning (端口扫描)进行了类似的测试。我们希望为Kubernetes管理员,操作员和工程师提供一种简单的方法来识别他们集群中的安全漏洞,以便这些漏洞被攻击者利用之前被解决掉。

测试

你可以在kube-hunter网站上找到已经实现的测试列表,或者使用--list参数运行kube-hunter。这些测试尚不全面,但确实有很多猎人可以发现许多常见问题。

开源测试

基础的测试代码是开源的(你可以在不使用网站的情况下运行),我们欢迎大家的反馈,想法,希望大家能贡献其他猎人的代码!

本文转自DockOne-Kube-hunter:一个用于Kubernetes渗透测试的开源工具

上一篇:Kubernetes最佳实践S01E05:如何优雅地终止


下一篇:实战:如何基于HBase构建图片、 视频数据的统一存储检索方案