Kubernetes 是一种流行的开源系统,用于自动部署、扩展和管理容器化应用程序。我们最近开始扫描可访问的 Kubernetes API 实例,这些实例以200 OK HTTP对探测器进行响应。
在我们能够识别的超过 45 万个 Kubernetes API 中,我们每天发现超过 38 万个允许某种形式访问。这些数据每天都会在的 Kubernetes API 访问服务器报告中共享:
https://www.shadowserver.org/what-we-do/network-reporting/accessible-kubernetes-api-server-report/
虽然这并不意味着这些实例完全开放或容易受到攻击,但这种访问级别很可能不是有意的,并且这些实例在不必要的暴露攻击面。它们还泄漏有关版本和构建的信息。
我们每天使用/version
URI 使用 HTTP GET 请求进行扫描。扫描端口 6443 和 443 上的所有 IPv4 空间。只包括响应 200 OK(附带 JSON 响应)的 Kubernetes 服务器,因此在其响应中披露版本信息。我们不会执行任何侵入性检查来确定可以获得的访问级别。
2022 年 5 月 16 日,我们扫描了454,729 个Kubernetes API 实例,扫描结果发现381,645 个唯一 IP以 200 OK HTTP 响应探测。因此,“开放”API 实例占我们可以在 IPv4 互联网上扫描的所有实例的近84% 。
大多数可访问的 Kubernetes API 服务器位于美国 - 201,348 (近 53%)。
可通过唯一 IP 访问 Kubernetes API 服务器 2022-05-16
按唯一 IP 划分的可访问 Kubernetes API 服务器的国家级细分 2022-05-16
可访问的 Kubernetes 主要/次要版本细分
1.2 4
1.5 90
1.6 6
1.7 4
1.8 53
1.9 41
1.10 95
1.11 199
1.12 497
1.13 383
1.14 1542
1.15 1310
1.16 3678
1.17 34918
1.18 33877
1.19 50902
1.20 65487
1.21 148645
1.22 33221
1.23 9518
1.24 585
1.25 4
linux/amd64 384240
linux/arm64 683
linux/ppc64le 134
linux/s390x 8
linux/arm 4
如果您的 APIServer 也是如此,请考虑在防火墙级别实施访问授权或阻止以减少暴露的攻击面。
您可以在此官方指南:
https://kubernetes.io/docs/tasks/administer-cluster/securing-a-cluster/
中阅读有关保护对 Kubernetes API 的访问的更多信息。
如果您的 Kubernetes API 端点在您不期望的 IP 上可用,并且您在 IPVS 模式下使用 kube-proxy,请参阅:
https://github.com/kubernetes/kubernetes/pull/108460
有关扫描工作的更多信息,请查看 Internet 扫描摘要页面:
https://www.shadowserver.org/news/the-scannings-will-continue-until-the-internet-improves/
- END -