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 修复不安全项的更多相关文章

  1. linux基础:第三关课前考试题整理

    1.如何取得/etc/hosts 文件的权限对应的数字内容,如-rw-r--r-- 为 644, 要求使用命令取得644 这样的数字. [root@server ~]# stat /etc/hosts ...

  2. 【web前端面试题整理03】来看一点CSS相关的吧

    前言 昨天我们整理了14到js的题,今天我们再来整理14到CSS相关的题目,昨天整理时候时间有点晚了我便有点心浮气躁,里面的一些题需要再次解答,好了看看今天有些什么吧. PS:我这里挑一点来做就好了, ...

  3. node.js整理 03文件操作-遍历目录和文本编码

    遍历目录 递归算法 遍历目录时一般使用递归算法,否则就难以编写出简洁的代码. 递归算法与数学归纳法类似,通过不断缩小问题的规模来解决问题 function factorial(n) { if (n = ...

  4. win7 ubuntu10.04双系统,重装win7后,修复双启动项

    进入ubuntu的liveCD(即在试用ubuntu里),在终端里操作 首先要找到自己的ubuntu系统挂载在那个sda下面.可以用sudo fdisk -l 这个命令.然后: 1. sudo -i ...

  5. 机器学习 —— 基础整理(五)线性回归;二项Logistic回归;Softmax回归及其梯度推导;广义线性模型

    本文简单整理了以下内容: (一)线性回归 (二)二分类:二项Logistic回归 (三)多分类:Softmax回归 (四)广义线性模型 闲话:二项Logistic回归是我去年入门机器学习时学的第一个模 ...

  6. 【Linux】CentOS7 安装,遇到的各种问题,并修复win7启动项

    https://www.cnblogs.com/sxdcgaq8080/p/7457255.html ------------------------------------------------- ...

  7. ubuntu live cd修复grub引导项

    1. 通过Ubuntu Live CD(安装盘,选择try Ubuntu)进入Ubuntu系统 打开终端,依次进行如下操作: 1. sudo fdisk -l 出现如下界面: 2. 然后会看到,有好多 ...

  8. Ubuntu 修复windows启动项

    打开终端输入命令sudo gedit /etc/default/grub修改GRUB_TIMEOUT="10"然后在终端中输入sudo update-grubupdate 命令会自 ...

  9. 2019.03.29 bzoj5463: [APIO2018] 铁人两项(圆方树+树形dp)

    传送门 题意简述:给你一张无向图,问你满足存在从a−>b−>ca->b->ca−>b−>c且不经过重复节点的路径的有序点对(a,b,c)(a,b,c)(a,b,c) ...

  10. Window磁盘错误修复chkdsk

    场景: 狗日的垃圾移动磁盘.U盘质量太差劲,会出现磁盘坏道.读写异常~心疼数据.... 命令: 01.Win+R 调出cmd 02.根据移动盘符或磁盘盘符,进行修复 03.执行修复chkdsk /f  ...

随机推荐

  1. # SpringBoot使用Validation校验参数 ##

    SpringBoot使用Validation校验参数 一.简介 参考 (14条消息) 1. 不吹不擂,第一篇就能提升你对Bean Validation数据校验的认知_@decimalmax和@max_ ...

  2. 迁移学习《Efficient and Robust Pseudo-Labeling for Unsupervised Domain Adaptation》

    论文信息 论文标题:Efficient and Robust Pseudo-Labeling for Unsupervised Domain Adaptation论文作者:Hochang Rhee.N ...

  3. WAL模块主要方法简述

    Method---wal.go Description func Create(lg *zap.Logger, dirpath string, metadata []byte) (*WAL, erro ...

  4. RxJava--create源码分析

    使用示例: Observable.create(new ObservableOnSubscribe<String>() { @Override public void subscribe( ...

  5. 【Vue】前端解决跨域问题

    Vue解决跨域问题 什么是跨域:违背了同源策略,即协议名.主机名.端口号必须一致.浏览器与服务器之间存在跨域问题,而服务器与服务器之间由于通过Http通信是不存在跨域问题的.     如图所示,浏览器 ...

  6. Docker容器网络(基本网络模型)

    解析Docker的4种容器网络 默认网络模型 先介绍默认的网络模型: 安装docker后,输入ifconfig就会发现多了网卡中多了一个docker0: $ ifconfig docker0: fla ...

  7. Kubernetes入门实践(ConfigMap/Secret)

    Kubernetes中用于管理配置信息的两种对象: ConfigMap和Secret,可使用它们来灵活地配置和定制应用.应用程序有很多类别的配置信息,从数据安全的角度看可分为明文配置和机密配置,明文配 ...

  8. YOLO精讲------YOLOV1

    CV小白说YOLOV1 题外话: 目标检测是什么? 它是在图像中对一类或多类感兴趣的目标进行查找和分类,确定它们的类别和位置.由于各类物体有不同的外观.形状和姿态,加上成像时各种因素的干扰,目标检测一 ...

  9. ROS机器人SLAM创建地图

    ROS机器人SLAM创建地图 连接小车 ssh clbrobot@clbrobot 激活树莓派 roslaunch clbrobot bringup.launch 开启雷达 打开另一个终端输入: ss ...

  10. Reshaper 代码清理工具

    reshaper是个好工具,能帮助我们提升开发效率,比如本文要介绍的全局代码清理功能. 如果你的VS安装了reshaper,可以通过Ctrl+E+C快捷键打开代码清理窗口. 代码清理,可以格式化多种文 ...