Kubernetes 安全系列之 内部服务暴露

您公司的威胁情报部门已经通知您,黑客活动分子刚刚在社交媒体上发帖,声称他们可以通过利用Kubernetes服务访问内部网络,该服务可从互联网公开访问。请确认报告的真实性,并尽快关闭开放服务

验证攻击

验证内部服务是否如报告的那样可以外部互联网访问,如果可以,攻击者将如何滥用它。

假设,目前公司集群中,已部署的资源如下:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

我们在浏览器中打开报告中攻击者用来访问服务的URL。
在这里插入图片描述

可以看到此服务如何允许我们在管理工具容器上运行任意命令,从而使外部攻击者访问公司网络内变得更加容易。

原因:

为何内部服务 admin-tool 应用会被暴露在集群外?
(Tips:详见Service类型NodePort 作用)

解决:

只需要确保服务只在内部暴露即可,更改Serive Type类型

重写 admin-service服务 使得 admin-tool 只在内部访问
在这里插入图片描述

重新部署服务资源后,验证下确保服务不是公开的,而是可以从集群内访问的。 在集群中app POD 里执行 curl http://admin-service:8080.

在这里插入图片描述

外部浏览器已经无法打开

在这里插入图片描述

原文关注公众号:“云原生SRE”

猜你喜欢

转载自blog.csdn.net/dongshi_89757/article/details/125691439