前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >26 Dec 2021 kube-bench使用

26 Dec 2021 kube-bench使用

作者头像
俊采
发布2023-10-17 10:31:59
1360
发布2023-10-17 10:31:59
举报
文章被收录于专栏:LEo的网络日志LEo的网络日志

kube-bench是一个go应用程序,它通过运行cis kubernetes benchmark中记录的规则来检查kubernetes是否安全部署。

安装kuben-bench

代码语言:javascript
复制
curl -L https://github.com/aquasecurity/kube-bench/releases/download/v0.6.2/kube-bench_0.6.2_linux_amd64.deb -o kube-bench_0.6.2_linux_amd64.deb
sudo apt install ./kube-bench_0.6.2_linux_amd64.deb -f

wget https://github.com/aquasecurity/kube-bench/releases/download/v0.6.5/kube-bench_0.6.5_linux_amd64.tar.gz
wget https://github.com/aquasecurity/kube-bench/releases/download/v0.3.0/kube-bench_0.3.0_linux_amd64.tar.gz

使用kube-bench扫描kubernetes

扫描master组件,发现存在以下问题:

代码语言:javascript
复制
$ kube-bench --config-dir=./cfg --config=./cfg/config.yaml run --targets=master
...
== Summary master ==
42 checks PASS
11 checks FAIL
11 checks WARN
0 checks INFO

== Summary total ==
42 checks PASS
11 checks FAIL
11 checks WARN
0 checks INFO

可以根据提示修改相关配置,解决安全隐患。这里的targets仅支持以下组件:

  • master
  • node
  • controlplane
  • etcd
  • policies

比如扫描etcd:

代码语言:javascript
复制
kube-bench --config-dir=./cfg --config=./cfg/config.yaml run --targets=etcd

如果使用老版本的kube-bench,选项和新版本不一样,比如老版本就不支持etcd,如下:

代码语言:javascript
复制
kube-bench master --config-dir=./cfg
kube-bench node --config-dir=./cfg

解决安全隐患

这里以master节点作为例子,手动修改/etc/kubernetes/manifests/kube-apiserver.yaml--authorization-mode参数:

代码语言:javascript
复制
# cat kube-apiserver.yaml | grep authorization-mode
    #- --authorization-mode=Node,RBAC
    - --authorization-mode=AlwaysAllow

将授权模式从Node,RBAC修改成AlwaysAllow,这是不推荐的,使用kube-bench会扫描出该安全隐患:

代码语言:javascript
复制
# kube-bench --config-dir=./cfg --config=./cfg/config.yaml run --targets=master | grep authorization-mode
[FAIL] 1.2.6 Ensure that the --authorization-mode argument is not set to AlwaysAllow (Automated)
[FAIL] 1.2.7 Ensure that the --authorization-mode argument includes Node (Automated)
[FAIL] 1.2.8 Ensure that the --authorization-mode argument includes RBAC (Automated)
on the master node and set the --authorization-mode parameter to values other than AlwaysAllow.
--authorization-mode=RBAC
on the master node and set the --authorization-mode parameter to a value that includes Node.
--authorization-mode=Node,RBAC
on the master node and set the --authorization-mode parameter to a value that includes RBAC,
--authorization-mode=Node,RBAC

按照提示将--authorization-mode参数修改成Node,RBAC即可。

LEo at 00:12

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装kuben-bench
  • 使用kube-bench扫描kubernetes
  • 解决安全隐患
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档