网站建设、公众号开发、微网站、微商城、小程序就找牛创网络 !

7*24小时服务专线: 152-150-65-006 023-68263070 扫描二维码加我微信 在线QQ

网络安全工具团结互助,让我们共同进步!

当前位置:主页 > 技术资讯 > 工具 > 网络安全工具 >

我们的优势: 10年相关行业经验,专业设计师量身定制 设计师一对一服务模式,上百家客户案例! 企业保证,正规流程,正规合作 7*24小时在线服务,售后无忧

Kube-Bench:Kubernete的安全检测工具,基于Go开发的应用程序,可以帮助研究人员在已部署的Kubernete上执行安全检测。

文章来源:重庆小程序开发 发布时间:2020-08-13 16:01:38 围观次数:
分享到:

摘要:Kube-Bench是Kubernete的安全检测工具。本质上,Kube-Bench是基于Go开发的应用程序。它可以帮助研究人员在已部署的Kubernete上执行安全检测。 安全检测原理遵循CIS Kubernetes基准测试。

  Kube-Bench是Kubernete的安全检测工具。本质上,Kube-Bench是基于Go开发的应用程序。它可以帮助研究人员在已部署的Kubernete上执行安全检测。 安全检测原理遵循CIS Kubernetes基准测试。

  测试规则需要通过YAML文件进行配置,因此我们可以轻松地更新该工具的测试规则。


注意


  Kube-Bench尽可能实施CIS Kubernetes Benchmark。

  Kubernete版本和CIS基准版本之间没有一对一的映射。请参考CIS Kubernetes基准支持,以了解基准测试的不同版本中包含哪些Kubernetes版本。

  Kube-Bench无法检查受管群集的主节点,例如GKE,EKS和AKS,因为Kube-Bench无法访问这些节点。但是,Kube-Bench仍可以在这些环境中检查worker节点配置。

blob.png

CIS Kubernetes Benchmark支持


  CIS Kubernetes基准中定义了Kube-Bench支持的Kubernete测试规则:

blob.png

  在默认配置中,Kube-Bench将根据目标设备上运行的Kubernete的版本来确定要运行的测试集,但是请注意,Kube-Bench不会自动检测OpenShift和GKE。


工具下载


  研究人员可以直接使用以下命令在本地托管项目源代码:

  git clone https://github.com/aquasecurity/kube-bench.git

  可以选择在容器中运行Kube-Bench(与主机共享PID名称空间);

  在主机上安装了Kube-Bench的情况下运行容器,然后直接在主机上运行Kube-Bench。

  访问项目Releases页面以下载并安装最新版本的源代码,不要忘记在cfg目录中下载配置文件和测试文件;

  从源代码编译;


工具安装


  安装在容器中


  以下命令将帮助我们在Docker容器中安装Kube-Bench源代码和配置文件(源代码编译仅适用于Linux x86-x64,不能在macOS或Windows上运行):

docker run --rm -v `pwd`:/host aquasec/kube-bench:latest install

./kube-bench [master|node]

源码安装


  首先在设备上安装和配置Go环境,然后运行以下命令:

go get github.com/aquasecurity/kube-bench

cd $GOPATH/src/github.com/aquasecurity/kube-bench

go build -o kube-bench .

# See all supported options

./kube-bench --help

# Run all checks

./kube-bench

在容器中运行


  可以直接通过主机PID命名空间在容器中安装和运行Kube-Bench,并加载配置文件所在的目录,例如“ /etc”或“ /var”:

docker run --pid=host -v /etc:/etc:ro -v /var:/var:ro -t aquasec/kube-bench:latest [master|node] --version 1.13

  如果不想使用“ /opt/kube-bench/cfg/”下的默认配置,也可以通过加载自定义配置文件来使用它们:

docker run --pid=host -v /etc:/etc:ro -v /var:/var:ro -t -v path/to/my-config.yaml:/opt/kube-bench/cfg/config.yam -v $(which kubectl):/usr/local/mount-from-host/bin/kubectl -v ~/.kube:/.kube -e KUBECONFIG=/.kube/config aquasec/kube-bench:latest [master|node]

运行 Kube-Bench


  如果要直接通过命令行工具运行Kube-Bench,则还需要root/sudo权限才能访问所有配置文件。

  Kube-Bench将基于检测到的节点类型和Kubernete运行的集群版本自动选择要使用的“controls”。可以通过定义master或node子命令以及“ --version”命令行参数来修改此行为。

  也可以通过环境变量“ KUBE_BENCH_VERSION”设置Kube-Bench版本。 “ --version”参数将优先生效于“ KUBE_BENCH_VERSION”环境变量。

  例如,我们可以使用Kube-Bench在主机上执行自动版本检测:

  kube-bench master

  或者,使用Kube-Bench针对Kubernete v1.13执行worker节点测试:

  kube-bench node --version 1.13

  kube-bench将根据相应的CIS Benchmark版本映射“ --version”。如果指定“ --version 1.13”,则映射的CIS Benchmark版本为“ cis-1.14”。

  换句话说,还可以指定“ --benchmark”来运行指定的CIS Benchmark版本:

  kube-bench node --benchmark cis-1.4

  如果要指定CIS Benchmark的target,例如主服务器,节点等,则可以运行“ run --targets”子命令:

  kube-bench --benchmark cis-1.4 run --targets master,node

  或

  kube-bench --benchmark cis-1.5 run --targets master,node,etcd,policies

  下表显示了与不同CIS Benchmark版本相对应的有效目标:

blob.png

  如果未指定目标,则Kube-Bench将根据CIS Benchmark版本自动检测合适的目标。可以在“ cfg/”目录中找到不同CIS Benchmark版本的“控件”,例如“ cfg / cis-1.4”。

本文由 重庆小程序开发 整理发布,转载请保留出处,内容部分来自于互联网,如有侵权请联系我们删除。

相关热词搜索:Kube-Bench Kubernete Go 安全检测

上一篇:入侵检测工具snort基于Kali的配置和入侵检测测试
下一篇:Chrome识别阻断插件:帮助红色自动识别WEB蜜罐,重置jsonp接口

热门资讯

鼠标向下滚动