我们最近发布了一款叫做Kube-hunter 的免费工具。你只需提供你的Kubernetes集群的IP或者DNS名称,Kube-hunter就会探查集群中的安全漏洞——这个过程就像是自动化的渗透测试。
注意:这个工具目的是为了帮助测试你自己部署的集群,以便你找到潜在的安全问题。请不要用这个工具探测不属于你的集群!如果你的集群的Kubernetes监控面板被暴露到公网或者你的kubelets可以被外界访问,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渗透测试的开源工具