2024 CKS题库+详尽解析| 1. kube-bench 修复不安全项

发布于:2025-06-13 ⋅ 阅读:(15) ⋅ 点赞:(0)

目录

免费获取并激活 CKA_v1.31_模拟系统 

1.kube-bench 修复不安全项

题目

开始操作:

1)、切换集群

2)、登录到Master节点并提权

3)、直接按照考试题目要求修改kube-apiserver.yaml

4)、修改 kubelet

5)、修改 etcd

7)、再检查一下所有 pod

8)、退回到node01


免费获取并激活 CKA_v1.31_模拟系统 

1.kube-bench 修复不安全项

题目

您必须在以下Cluster/Node上完成此考题:
Cluster                                         Master node                                        Worker node
CKS00101                                     master                                                 node01
.
设置配置环境:
[candidate@node01]$ kubectl config use-context CKS001001

.

Context

.

针对 kubeadm 创建的 cluster 运行 CIS 基准测试工具时,发现了多个必须立即解决的问题。

.

Task

.

通过配置修复所有问题并重新启动受影响的组件以确保新的设置生效。

修复针对 API 服务器发现的所有以下违规行为:

1.2.7 Ensure that the --authorization-mode argument is not set to AlwaysAllow FAIL

1.2.8 Ensure that the --authorization-mode argument includes Node FAIL

1.2.9 Ensure that the --authorization-mode argument includes RBAC FAIL

1.2.18 Ensure that the --insecure-bind-address argument is not set FAIL

修复针对 kubelet 发现的所有以下违规行为:

Fix all of the following violations that were found against the kubelet:

4.2.1 Ensure that the anonymous-auth argument is set to false FAIL

4.2.2 Ensure that the --authorization-mode argument is not set to AlwaysAllow FAIL

注意:尽可能使用 Webhook 身份验证/授权。

修复针对 etcd 发现的所有以下违规行为:

Fix all of the following violations that were found against etcd:

2.2 Ensure that the --client-cert-auth argument is set to true FAI

开始操作:

1)、切换集群

kubectl config use-context CKS00101

2)、登录到Master节点并提权

ssh master
sudo -i

3)、直接按照考试题目要求修改kube-apiserver.yaml

#配置文件备份
cp /etc/kubernetes/manifests/kube-apiserver.yaml /tmp

#编辑配置文件
vim /etc/kubernetes/manifests/kube-apiserver.yaml

具体修改配置如下:

#修改、添加、删除相关内容
#修改 authorization-mode,注意 Node 和 RBAC 之间的符号是英文状态的逗号,而不是点。
 - --authorization-mode=Node,RBAC

#删除 insecure-bind-address。实际考试中,有可能本来就没写这行。
 - --insecure-bind-address=0.0.0.0

4)、修改 kubelet

#查看kubelet配置文件位置
systemctl status kubelet   

CKS模拟系统截图

 修改配置文件

vim /var/lib/kubelet/config.yaml

具体内容

apiVersion: kubelet.config.k8s.io/v1beta1
authentication:
  anonymous:
    enabled: false                           #将true改成false
  webhook:
    cacheTTL: 0s
    enabled: true                            #将false改成true
  x509:
    clientCAFile: /etc/kubernetes/pki/ca.crt
authorization:
  mode: Webhook                              #模式改成Webhook,注意W大写
  webhook:
    cacheAuthorizedTTL: 0s
    cacheUnauthorizedTTL: 0s

CKS模拟系统截图

5)、修改 etcd

改之前,备份一下配置文件

cp /etc/kubernetes/manifests/etcd.yaml /tmp
vim /etc/kubernetes/manifests/etcd.yaml

修改具体配置项

    - --client-cert-auth=true          #将值改为true

6)、编辑完后重新加载配置文件,并重启 kubelet

systemctl daemon-reload
systemctl restart kubelet

7)、再检查一下所有 pod

kubectl get pod -A

8)、退回到node01

exit

CKA高仿真环境简短演示视频 

CKA高仿真环境简短视频演示