CKS认证-禁⽌匿名访问

13. 禁⽌匿名访问

问题:

由 kubeadm 创建的 cluster 的 Kubernetes APl服务器,出于测试目的,临时配置为允许未经身份验证和未经授权的访问,授予匿名用户 cluster-admin 的访问权限。
Task
重新配置 cluster 的Kubernetes API 服务器以确保只允许经过身份验证和授权的 REST 请求。
使用授权模式 Node,RBAC 和准入控制器NodeRestriction。
删除用户 system:anonymous 的ClusterRoleBinding 来进行清理。

所有 kubectl 配置环境/文件也被配置为使用未经身份验证和未经授权的访问。您不必更改它,但请注意,一旦完成 cluster 的安全加固, kubectl 的配置将无法工作。

:::info
您可以使用位于 cluster 的 master 节点上, cluster 原本的 kubectl 配置文件/etc/kubernetes/admin.conf,以确保经过身份验证和授权的请求仍然被允许。
:::

正确答案:

题干要求解析:

一、重新配置 cluster 的Kubernetes API 服务器
每次看到api服务器的时候,一定要想到这个会不会是apiservice的配置文件呢?
带着这个疑问,我们一定要去查帮助文档,刚开始肯定摸不着头脑要去哪里查帮助文档,如果以后遇到配置文件类型的问题,去这个位置查找帮助文档。
image.png
二、确保只允许经过身份验证授权的 REST 请求
这里一定要注意,kubelet必须要满足两个条件:1、通过身份验证,2、授权REST请求。
考试时一定要检查这两个参数是否存在,多加会报错
–anonymous-auth:这个参数仅仅是把授权请求开启了
–enable-bootstrap-token-auth:这个参数才是开启身份验证
所以必须得加两个参数,之前加的一个参数是错的。切记!切记!切记!
image.png
–anonymous-auth 这个参数正好对应的这个要求,值需要修改成false,表示必须得进行身份验证和授权。如果你改成true的话,那么就表示允许匿名访问了。
image.png
–enable-bootstrap-token-auth 这个参数正好对应的了通过身份验证的要求,值需要修改为ture,表示我需要开启TLS引导身份验证。
**三、**使用授权模式 Node,RBAC 和准入控制器NodeRestriction。
image.png
image.png
**四、**删除用户 system:anonymous 的ClusterRoleBinding
为什么要删除这个用户呢?是为了更加的安全,权限太大了。

更改授权模式为Node,RBAC并添加准⼊控制器NodeRestriction:

1 candidate@hk8s-master01:~$ sudo vim /etc/kubernetes/manifests/kubeapiserver.yaml
2 - --authorization-mode=Node,RBAC #考试环境中修改这两⾏
3 - --enable-admission-plugins=NodeRestriction #添加这个
  - --client-ca-file=/etc/kubernetes/pki/ca.crt   #又新加了这两个参数,需要核实一下
  - --enable-bootstrap-token-auth=true   #
  - --anonymous-auth=false   ##这个也加上,可能这个人做的也不对

  • 21
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值