CKS 考试题整理 (03)-kube-bench 修复不安全项
Context
针对 kubeadm 创建的 cluster 运行 CIS 基准测试工具时,发现了多个必须立即解决的问题。
Task
通过配置修复所有问题并重新启动受影响的组件以确保新的设置生效。
修复只对 API 服务器发现的所有以下违规行为:
1.2.7 Ensure that the --authiruzatuib-mode argument is not set to AlwaysAllow FAIL
1.2.8 Ensure that the --authiruzatuib-mode argument includes Node FAIL
1.2.9 Ensure that the --authiruzatuib-mode argument includes RBAC FAIL
1.2.18 Ensure that the --insecure-bind-address argument is not set FAIL (1.25中这项题目没给出)
1.2.19 Ensure that the --insecure-port argument is set to 0 FAIL (1.25中这项题没给出,不需要再修改了)
修复针对 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-cn/docs/reference/config-api/kubelet-config.v1beta1/

答题
考试时务必执行,切换集群。
kubectl config use-context KSCS00201
1. 切换到master的root下
ssh master01 && sudo -i
2. 修改 api-server
# 可以使用这条命令查
kube-bench master

查出来的,可能很多不安全项,但只修改考题要求的那几项即可。
修改之前,备份下配置文件。
mkdir bak01
cp /etc/kubernetes/manifests/kube-apiserver.yaml bak01/
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
# 可以使用这条命令查询
kube-bench node

systemctl status kubelet

cat /etc/systemd/system/kubelet.service.d/10-kubeadm.conf 中你会看到 Environment="KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml"。
修改这个文件之前先备份一下。
cp /var/lib/kubelet/config.yaml bak01/
vim /var/lib/kubelet/config.yaml
修改
apiVersion: kubelet.config.k8s.io/v1beta1
authentication:
anonymous: # 修改 anonymous 下的,将 true 改为 false
enabled: false # 该为 false
webhook:
cacheTTL: 0s
enabled: true # 这个 webhook 下的 true 不要改
x509:
clientCAFile: /etc/kubernetes/pki/ca.crt
authorization: # 修改 authorization 下的
mode: Webhook # 改为Webhook
webhook:
......
# 编辑完后重新加载配置文件,并重启kubelet
systemctl daemon-reload
systemctl restart kubelet.service
4. 修改etcd
# 可以使用这条命令查
kube-bench

修改之前先备份一下文件。
cp /etc/kubernetes/manifests/etcd.yaml bak01/
vim /etc/kubernetes/manifests/etcd.yaml
修改:
--client-cert-auth=true # 修改为true
修改完后,等待5分钟左右,再检查一下所有pod,确保所有pod都正常。
kubectl get pod -A
# 退出返回到堡垒机 或者重新打开终端
exit
CKS 考试题整理 (03)-kube-bench 修复不安全项的更多相关文章
- linux基础:第三关课前考试题整理
1.如何取得/etc/hosts 文件的权限对应的数字内容,如-rw-r--r-- 为 644, 要求使用命令取得644 这样的数字. [root@server ~]# stat /etc/hosts ...
- 【web前端面试题整理03】来看一点CSS相关的吧
前言 昨天我们整理了14到js的题,今天我们再来整理14到CSS相关的题目,昨天整理时候时间有点晚了我便有点心浮气躁,里面的一些题需要再次解答,好了看看今天有些什么吧. PS:我这里挑一点来做就好了, ...
- node.js整理 03文件操作-遍历目录和文本编码
遍历目录 递归算法 遍历目录时一般使用递归算法,否则就难以编写出简洁的代码. 递归算法与数学归纳法类似,通过不断缩小问题的规模来解决问题 function factorial(n) { if (n = ...
- win7 ubuntu10.04双系统,重装win7后,修复双启动项
进入ubuntu的liveCD(即在试用ubuntu里),在终端里操作 首先要找到自己的ubuntu系统挂载在那个sda下面.可以用sudo fdisk -l 这个命令.然后: 1. sudo -i ...
- 机器学习 —— 基础整理(五)线性回归;二项Logistic回归;Softmax回归及其梯度推导;广义线性模型
本文简单整理了以下内容: (一)线性回归 (二)二分类:二项Logistic回归 (三)多分类:Softmax回归 (四)广义线性模型 闲话:二项Logistic回归是我去年入门机器学习时学的第一个模 ...
- 【Linux】CentOS7 安装,遇到的各种问题,并修复win7启动项
https://www.cnblogs.com/sxdcgaq8080/p/7457255.html ------------------------------------------------- ...
- ubuntu live cd修复grub引导项
1. 通过Ubuntu Live CD(安装盘,选择try Ubuntu)进入Ubuntu系统 打开终端,依次进行如下操作: 1. sudo fdisk -l 出现如下界面: 2. 然后会看到,有好多 ...
- Ubuntu 修复windows启动项
打开终端输入命令sudo gedit /etc/default/grub修改GRUB_TIMEOUT="10"然后在终端中输入sudo update-grubupdate 命令会自 ...
- 2019.03.29 bzoj5463: [APIO2018] 铁人两项(圆方树+树形dp)
传送门 题意简述:给你一张无向图,问你满足存在从a−>b−>ca->b->ca−>b−>c且不经过重复节点的路径的有序点对(a,b,c)(a,b,c)(a,b,c) ...
- Window磁盘错误修复chkdsk
场景: 狗日的垃圾移动磁盘.U盘质量太差劲,会出现磁盘坏道.读写异常~心疼数据.... 命令: 01.Win+R 调出cmd 02.根据移动盘符或磁盘盘符,进行修复 03.执行修复chkdsk /f ...
随机推荐
- 前端根据后端返回的数据流导出excel
首先在utils.js里面声明exportMethod函数,该函数的作用是通过发axios post请求后端导出接口,请求成功后: 1. 在成功函数里面先新建一个a标签: const link = d ...
- Semantic Kernel 知多少 | 开启面向AI编程新篇章
引言 在ChatGPT 火热的当下, 即使没有上手亲自体验,想必也对ChatGPT的强大略有耳闻.当一些人在对ChatGPT犹犹豫豫之时,一些敏锐的企业主和开发者们已经急不可耐的开展基于ChatGPT ...
- MySQL之 InnoDB 内存结构
从MySQL 5.5版本开始默认 使用InnoDB作为引擎,它擅长处理事务,具有自动崩溃恢复的特性,在日常开发中使用非常广泛 下面是官方的InnoDB引擎架构图,主要分为内存结构和磁盘结构两大部分. ...
- tar:Error is not recoverable:exiting now
问题描述:文件包在不同网络跟介质之间传输,导致文件破损,如何使用md5的方式去对比文件的完整性 tar:Child returned status 1 tar:Error is not recover ...
- Redis缓冲区溢出及解决方案
缓冲区(buffer),是内存空间的一部分.也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区. 一.Redis缓冲区溢出影响 在Redis ...
- 【LeetCode动态规划#07】01背包问题一维写法(状态压缩)实战,其二(目标和、零一和)
目标和(放满背包的方法有几种) 力扣题目链接(opens new window) 难度:中等 给定一个非负整数数组,a1, a2, ..., an, 和一个目标数,S.现在你有两个符号 + 和 -.对 ...
- python运维工程师-cmdb项目-day2
1.捕获异常信息 import tracebackdef disk(): int('saaa')def run(): try: disk() except Exception: ret=traceba ...
- RabbitMQ详解(下)
一:序 通过<RabbitMQ详解(上)>一文中,我们可以知道RabbitMQ的一些基本的原生用法,如交换机的创建及消息的投递,但是在企业中我们大部分都是把RabbitMQ集成到Sprin ...
- 注解:@RequiredArgsConstructor、 @Validated、 @Valid、 @Lazy
1. lombok注解:@RequiredArgsConstructor Spring 依赖注入方式 1.通过 @Autowire.@Resource 等注解注入, 2.通过构造器的方式进行依赖注入. ...
- vue-cli3构建和发布 实现分环境打包步骤(给不同的环境配置相对应的打包命令)
https://panjiachen.github.io/vue-element-admin-site/zh/guide/essentials/deploy.html#%E6%9E%84%E5%BB% ...