当前位置: 首页 > news >正文

CKS1.28【1】kube-bench 修复不安全项

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 (v1.28 考题中这项没给出,但最好也检查一下)

修复针对 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 FAIL

 参考资料:

https://kubernetes.io/zh/docs/reference/config-api/kubelet-config.v1beta1/

答题:

1、切换到 Master 的 root 下

ssh master01
sudo -i

2、修改api-server

#备份配置文件
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

3、修改kubelet

cp /var/lib/kubelet/config.yaml /tmp
vim /var/lib/kubelet/config.yaml
#修改
apiVersion: kubelet.config.k8s.io/v1beta1
authentication:anonymous: #修改 anonymous 下的,将 true 改为 falseenabled: false #将 true 改为 falsewebhook:cacheTTL: 0senabled: true #修改为 true。注意,这两个 enabled 千万不要搞混,anonymous 应该为 false,webhook 应该为 true。考试时,可能只有一个是错误的。x509:clientCAFile: /etc/kubernetes/pki/ca.crt
authorization: #修改 authorization 下的mode: Webhook #改为 Webhookwebhook:
......

4、修改etcd

cp /etc/kubernetes/manifests/etcd.yaml /tmp
vim /etc/kubernetes/manifests/etcd.yaml
修改- --client-cert-auth=true #修改为 true
#编辑完后重新加载配置文件,并重启 kubelet
systemctl daemon-reload
systemctl restart kubelet

修改完成后,等待 5 分钟,再检查一下所有 pod,确保模拟环境里的所有 pod 都正常。

kubectl get pod -A

http://www.lryc.cn/news/294610.html

相关文章:

  • 6.s081 学习实验记录(五)traps
  • 探索设计模式的魅力:从单一继承到组合模式-软件设计的演变与未来
  • 文心一言4.0API接入指南
  • Python循环语句——while循环的嵌套应用
  • 数据库管理-第145期 最强Oracle监控EMCC深入使用-02(20240205)
  • Centos 7系统安装proftpd-1.3.8过程
  • DevExpress ASP.NET Web Forms v23.2最新版本系统环境配置要求
  • 5分钟快速掌握 XML (Extensible Markup Language)
  • Python中的HTTP代理服务器和客户端的区别与联系
  • 升级Oracle 单实例数据库19.3到19.22
  • 在Vue中如何动态绑定class和style属性
  • 使用Docker部署DashDot服务器仪表盘并结合cpolar实现公网监测服务器
  • Android kernel logcat时间戳显示错乱修改
  • 2024年考PMP还有什么用?
  • 解决zabbix图像中文乱码
  • centos间文件传输
  • 2.0 Zookeeper 安装配置
  • Matomo 访问图形显示异常
  • MySQL学习记录——사 表结构的操作
  • 【华为 ICT HCIA eNSP 习题汇总】——题目集12
  • Redis发布订阅及事务管理
  • 设计模式第五天|代理模式 7-小明买房子 装饰模式 8-咖啡加糖
  • mongodb数据库集合(表)的创建和数据修改
  • MySQL 的UI
  • Leetcode 3026. Maximum Good Subarray Sum
  • elementUI之el-form-item的嵌套的场景
  • Linux项目自动化构建工具之make/Makefile演示gcc编译
  • ChatGPT 官方中文页面上线
  • 算法学习——华为机考题库10(HJ64 - HJ69)
  • [office] Excel中去除表格小数点后面数字的操作方法 #知识分享#学习方法