CKS 模拟真题 Killer.sh | Question 8 | Secure Kubernetes Dashboard
Task weight: 3%
Use context: kubectl config use-context workload-prod
The Kubernetes Dashboard is installed in Namespace kubernetes-dashboard and is configured to:
- Allow users to “skip login”
- Allow insecure access (HTTP without authentication)
- Allow basic authentication
- Allow access from outside the cluster
You are asked to make it more secure by:
- Deny users to “skip login”
- Deny insecure access, enforce HTTPS (self signed certificates are ok for now)
- Add the
--auto-generate-certificatesargument - Enforce authentication using a token (with possibility to use RBAC)
- Allow only cluster internal access
译文
任务权重:3%。
使用环境: kubectl config use-context workload-prod
Kubernetes Dashboard 安装在命名空间 kubernetes-dashboard 中,并被配置为。
- 允许用户 “跳过登录”。
- 允许不安全的访问(无认证的HTTP)。
- 允许基本认证
- 允许从集群外访问
要求你通过以下方式使其更加安全。
- 拒绝用户 “跳过登录”。
- 拒绝不安全的访问,强制执行HTTPS(自签名的证书目前还可以)。
- 添加–自动生成证书的参数
- 使用令牌强制认证(可以使用RBAC)。
- 只允许集群内部访问
解答
检查 命名空间 kubernetes-dashboard
k -n kubernetes-dashboard get pod,svc |

修复: 备份 deploy 配置 后 进行编辑
k -n kubernetes-dashboard get deploy kubernetes-dashboard -oyaml > 8_deploy_kubernetes-dashboard.yaml |
template: |
备份 svc配置 后编辑
k -n kubernetes-dashboard get svc kubernetes-dashboard -o yaml > 8_svc_kubernetes-dashboard.yaml |
spec: |
验证: 新建一个容器进行模拟访问, curl -k 是忽略证书
k run tmp --image=nginx:1.19.2 --restart=Never --rm -it -- bash |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Hao DevSecOps!
评论



