当前位置: 首页 > 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

相关文章:

  • Vue3自定义PostCss插件
  • 蓝桥杯---生日蜡烛
  • 【机器学习】基于集成学习的 Amazon 用户评论质量预测
  • 重写Sylar基于协程的服务器(6、HOOK模块的设计)
  • MongoDB 聚合:$listSessions
  • Java 正则匹配sql
  • C#验证字符串的长度,用正则表达式 vs 字符数组长度或字符串的长度
  • 字符函数和字符串函数
  • 数据结构——B/顺序表和链表
  • 自动化报告pptx-python|如何将pandas的表格写入PPTX(二)
  • MAE实战:使用MAE提高主干网络的精度(一)
  • 回归预测 | Matlab实现WOA-CNN-LSTM-Attention鲸鱼算法优化卷积长短期记忆网络注意力多变量回归预测(SE注意力机制)
  • Linux项目自动化构建工具之make/Makefile演示gcc编译
  • [MFC] MFC消息机制的补充
  • 网络安全-端口扫描和服务识别的几种方式
  • exif信息对照
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • Redis 中的布隆过滤器
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • 安卓应用性能调试和优化经验分享
  • 对象引论
  • 分享一份非常强势的Android面试题
  • 给Prometheus造假数据的方法
  • 猴子数据域名防封接口降低小说被封的风险
  • 基于Android乐音识别(2)
  • 如何设计一个比特币钱包服务
  • 优秀架构师必须掌握的架构思维
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • Hibernate主键生成策略及选择
  • #{}和${}的区别?
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (SpringBoot)第二章:Spring创建和使用
  • (补)B+树一些思想
  • (第二周)效能测试
  • (二)换源+apt-get基础配置+搜狗拼音
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (每日持续更新)jdk api之FileReader基础、应用、实战
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (转)socket Aio demo
  • (转)甲方乙方——赵民谈找工作
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .net Stream篇(六)
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .NET 使用配置文件
  • .NET 指南:抽象化实现的基类
  • .Net6支持的操作系统版本(.net8已来,你还在用.netframework4.5吗)
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • .NET中使用Protobuffer 实现序列化和反序列化
  • .pyc文件是什么?
  • @property python知乎_Python3基础之:property
  • @select 怎么写存储过程_你知道select语句和update语句分别是怎么执行的吗?
  • @Transactional 详解
  • [Android Pro] Notification的使用