K8S Dashboard未授权访问
K8S环境搭建
参考:https://mp.weixin.qq.com/s/-fOfP9r61JRiZnmyVnFEQg
K8S DashBoard配置
从 1.10.1 版本起,Dashboard默认禁用了“跳过”按钮。如果需要添加跳过,则需要添加–enable-skip-login命令。1
2
3
4kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
#这个命令是生成一个API,进而控制整个集群,不过这个命令只能本地访问
kubectl proxy
访问 localhost:8001
访问dashboard地址:1
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/.
这里需要凭证,token或者config文件
创建account.yaml文件1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21# Creating a Service Account
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
---
# Creating a ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard
使用文件:1
kubectl apply -f account.yaml
创建admin-user用户:1
kubectl create -f account.yaml
生成token1
kubectl -n kubernetes-dashboard get secret $(kubectl -n kubernetes-dashboard get sa/admin-user -o jsonpath="{.secrets[0].name}") -o go-template="{{.data.token | base64decode}}"
这里可能报错非安全登录,运行以下命令:1
kubectl -n kubernetes-dashboard port-forward svc/kubernetes-dashboard --address 0.0.0.0 9090:443
输入token后进入后台:
点击这里就可以直接进入pod执行命令了:
进入后台创建pod挂载到宿主机上,然后chroot获取宿主机权限
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 sher10cksec@foxmail.com
文章标题:K8S Dashboard未授权访问
本文作者:sher10ck
发布时间:2023-02-13, 19:47:04
最后更新:2023-02-15, 16:08:13
原始链接:http://sherlocz.github.io/2023/02/13/K8S-Dashboard未授权访问/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。