【云原生-K8s】Kubernetes安全组件CIS基准kube-beach安装及使用

这篇具有很好参考价值的文章主要介绍了【云原生-K8s】Kubernetes安全组件CIS基准kube-beach安装及使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基础介绍

  • 为了保证集群以及容器应用的安全,Kubernetes 提供了多种安全机制,限制容器的行为,减少容器和集群的攻击面,保证整个系统的安全性。
  • 互联网安全中心(CIS,Center for Internet Security),是一个非盈利组织,致力为互联网提供免费的安全防御解决方案
  • 官网:https://www.cisecurity.org/
  • k8s安全基准:https://www.cisecurity.org/benchmark/kubernetes

kube-beach介绍

  • Kube-bench是容器安全厂商Aquq推出的工具,以CIS K8s基准作为基础,来检查K8s是否安全部署。
  • 主要查找不安全的配置参数、敏感的文件权限、不安全的帐户或公开端口等等。
  • 开源地址:https://github.com/aquasecurity/kube-bench
  • 二进制包下载地址:https://github.com/aquasecurity/kube-bench/releases
  • 大家根据需求下载相应版本
    【云原生-K8s】Kubernetes安全组件CIS基准kube-beach安装及使用,CNCF,# Kubernetes,云原生,kubernetes,安全,kube-beach

kube-beach 下载

百度网盘下载

链接:https://pan.baidu.com/s/17AGxkwTDUkiDYSSZpPu45A?pwd=vqew
提取码:vqew
–来自百度网盘超级会员V7的分享

wget下载
wget https://github.com/aquasecurity/kube-bench/releases/download/v0.6.19/kube-bench_0.6.19_linux_amd64.tar.gz

kube-beach安装

  • 解压
tar -zxf kube-bench_0.6.19_linux_amd64.tar.gz
  • 创建默认配置路径
mkdir -p /etc/kube-bench
  • 复制配置文件至默认目录
mv cfg /etc/kube-bench/cfg
  • 设置为系统命令
mv kube-bench /usr/bin/

kube-beach使用

基础参数

  • 使用kube-bench run进行测试,该指令有以下常用参数

  • –targets 指定要基础测试的目标,默认配置目标包括:master, controlplane, node, etcd, policies

  • –version:指定k8s版本,如果未指定会自动检测

  • –benchmark:手动指定CIS基准版本,不能与–version一起使用

  • 查看帮助信息

kube-bench --help

【云原生-K8s】Kubernetes安全组件CIS基准kube-beach安装及使用,CNCF,# Kubernetes,云原生,kubernetes,安全,kube-beach

配置信息解读

  • 在该目录下 /etc/kube-bench/cfg
    【云原生-K8s】Kubernetes安全组件CIS基准kube-beach安装及使用,CNCF,# Kubernetes,云原生,kubernetes,安全,kube-beach
  • 该版本默认使用 cis-1.7
  • 也支持其他 云厂商的验证基准 【ack-1.0 容器服务 Kubernetes 版 ACK】

示例

  • 检查master组件安全配置
kube-bench run --targets=master

【云原生-K8s】Kubernetes安全组件CIS基准kube-beach安装及使用,CNCF,# Kubernetes,云原生,kubernetes,安全,kube-beach
【云原生-K8s】Kubernetes安全组件CIS基准kube-beach安装及使用,CNCF,# Kubernetes,云原生,kubernetes,安全,kube-beach

修复建议

【云原生-K8s】Kubernetes安全组件CIS基准kube-beach安装及使用,CNCF,# Kubernetes,云原生,kubernetes,安全,kube-beach

修复一个安全漏洞【1.2.18】

  • 安全漏洞
[FAIL] 1.2.18 Ensure that the --profiling argument is set to false (Automated)
  • 修复建议
1.2.18 Edit the API server pod specification file /etc/kubernetes/manifests/kube-apiserver.yaml
on the control plane node and set the below parameter.
--profiling=false
  • 编辑 kube-apiserver.yaml ,增加 --profiling=false
    【云原生-K8s】Kubernetes安全组件CIS基准kube-beach安装及使用,CNCF,# Kubernetes,云原生,kubernetes,安全,kube-beach
  • 修改完后 kube-apiserver 静态pod进行重启
  • 已通过安全扫描
    【云原生-K8s】Kubernetes安全组件CIS基准kube-beach安装及使用,CNCF,# Kubernetes,云原生,kubernetes,安全,kube-beach

结果说明

  • [PASS]:测试通过
  • [FAIL]:测试未通过,重点关注,在测试结果会给出修复建议
  • [WARN]:警告,可做了解
  • [INFO]:信息
  • 大家可以根据实际情况,推荐的修复方案进行实际的修复措施。

kube-beach跳过漏洞

  • kube-beach 所有扫描出来的漏洞不一定需要全部修复,如果需要跳过我们需要修改kube-beach的漏洞定义配置文件

漏洞定义

[FAIL] 1.4.1 Ensure that the --profiling argument is set to false (Automated)
  • 在 /etc/kube-bench/cfg/cis-1.23【具体k8s版本】 目录编辑 master.yaml
  • 找到 1.4.1 配置信息
- id: 1.4.1
        text: "Ensure that the --profiling argument is set to false (Automated)"
        audit: "/bin/ps -ef | grep $schedulerbin | grep -v grep"
        tests:
          test_items:
            - flag: "--profiling"
              compare:
                op: eq
                value: false
        remediation: |
          Edit the Scheduler pod specification file $schedulerconf file
          on the control plane node and set the below parameter.
          --profiling=false
        scored: true

漏洞定义yaml说明

  • id:编号
  • text:提示的文本
  • tests:测试项目
  • remediation:修复方案
  • scored:如果为true,kube-bench无法正常测试,则会生成FAIL,如果为false,无法正常测试,则会生成WARN。
  • type:如果为manual则会生成WARN,如果为skip,则会生成INFO

漏洞生成为INFO

【云原生-K8s】Kubernetes安全组件CIS基准kube-beach安装及使用,CNCF,# Kubernetes,云原生,kubernetes,安全,kube-beach
【云原生-K8s】Kubernetes安全组件CIS基准kube-beach安装及使用,CNCF,# Kubernetes,云原生,kubernetes,安全,kube-beach文章来源地址https://www.toymoban.com/news/detail-737870.html

  • 修改后的yaml
- id: 1.4.1
        text: "Ensure zhangzihao that the --profiling argument is set to false (Automated)"
        audit: "/bin/ps -ef | grep $schedulerbin | grep -v grep"
        tests:
          test_items:
            - flag: "--profiling"
              compare:
                op: eq
                value: false
        remediation: |
          Edit the Scheduler pod specification file $schedulerconf file
          on the control plane node and set the below parameter.
          --profiling=false
        scored: true
        type: "skip"

到了这里,关于【云原生-K8s】Kubernetes安全组件CIS基准kube-beach安装及使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 2023年基准Kubernetes报告:6个K8s可靠性失误

    云计算日益成为组织构建应用程序和服务的首选目的地。尽管一年来经济不确定性的头条新闻主要集中在通货膨胀增长和银行动荡方面,但大多数组织预计今年的云使用和支出将与计划的相同(45%),或高于计划的(45%)。Flexera公司2023年云现状报告中的新数据显示, 仅有

    2024年02月15日
    浏览(34)
  • kubernetes CIS 安全基准 Kube-bench 安全工具

    开头语 写在前面:如有问题,以你为准, 目前24年应届生,各位大佬轻喷,部分资料与图片来自网络 内容较长,页面右上角目录方便跳转 问题:下载pdf后,根据里面的基准来检查K8s集群配置,但内容量太大,一般会采用相关工具来完成这项工作。 Kube-bench 是容器安全厂商

    2024年02月02日
    浏览(46)
  • 云上攻防-云原生篇&Kubernetes&K8s安全&API&Kubelet未授权访问&容器执行

    Kubernetes是一个开源的, 用于编排云平台中多个主机上的容器化的应用,目标是让部署容器化的应用能简单并且高效的使用, 提供了应用部署,规划,更新,维护的一种机制 。其核心的特点就是能够自主的管理容器来保证云平台中的容器按照用户的期望状态运行着,管理员可

    2024年02月08日
    浏览(86)
  • 云原生Kubernetes:K8S概述

    目录 一、理论 1.云原生 2.K8S 3.k8s集群架构与组件 4.K8S网络 二、总结 (1)概念 云原生是一种基于容器、微服务和自动化运维的软件开发和部署方法。它可以使应用程序更加高效、可靠和可扩展,适用于各种不同的云平台。 如果要更直接通俗的来解释下上面的概念,云原生更

    2024年02月10日
    浏览(55)
  • CKS之k8s安全基准工具:kube-bench

            CIS Kubernetes Benchmark 由互联网安全中心(CIS)社区维护,旨在提供 Kubernetes 的安全配置基线,旨在为互联网环境提供免费的安全防御方案。CIS是一个非营利性组织,其制定的安全基准覆盖了多个领域,包括操作系统、中间件、应用程序等多个层面。         CIS官网:

    2024年04月10日
    浏览(45)
  • 【云原生 • Kubernetes】认识 k8s、k8s 架构、核心概念点介绍

    目录 一、Kubernetes 简介 二、Kubernetes 架构 三、Kunbernetes 有哪些核心概念? 1. 集群 Cluster 2. 容器 Container 3. POD 4. 副本集 ReplicaSet 5. 服务 service 6. 发布 Deployment 7. ConfigMap/Secret 8. DaemonSet 9. 核心概念总结 Kubernetes 简称 k8s,是支持云原生部署的一个平台,起源于谷歌。谷歌早在十几

    2024年02月03日
    浏览(199)
  • 云上攻防-云原生篇&;Kubernetes&;K8s安全&;API&;Kubelet未授权访问&;容器执行

    curl -XPOST -k “https://192.168.139.132:10250/run///” -d “cmd=id” 执行的命令是test03容器里的命令,需要进行容器逃逸。 1、攻击8080端口:API Server(Master)未授权访问 旧版本的k8s的API Server默认会开启两个端口:8080和6443。 6443是安全端口,安全端口使用TLS加密;但是8080端口无需认证,

    2024年04月22日
    浏览(76)
  • 【云原生 • Kubernetes】认识 k8s 网络、外部网络访问 k8s 内部服务

    目录 一、认识 Kubernetes 网络 二、外部网络如何访问 k8s 内部服务 1. NodePort 2. Load Balancer 3. Ingress Kubernetes 最底层的网络为节点网络,用来保证 k8s 集群的节点(master 和 worker、worker 节点之间)能够做正常的 IP 寻址和通讯。 Kubernetes 第二层网络就是 Pod 网络,构建于节点网络之上

    2024年01月16日
    浏览(71)
  • 云原生Kubernetes:K8S存储卷

    目录 一、理论 1.存储卷 2.emptyDir 存储卷 3.hostPath卷 4.NFS共享存储 5.PVC 和 PV 6.静态创建PV 7.动态创建PV 二、实验  1.emptyDir 存储卷 2.hostPath卷 3.NFS共享存储 4.静态创建PV 5.动态创建PV 三、问题 1.生成pod一直pending 2.shoumount -e未显示共享目录 3.静态创建pv 报错 4.使用 Deployment 来创建

    2024年02月07日
    浏览(73)
  • 【云原生K8S】Kubernetes之探针

    目录 一、探针是什么 二、探针类型  Ⅰ、livenessProbe 容器重启策略  Ⅱ、readinessProbe Ⅲ、startupProbe 执行顺序: 字段详情 三、探测机制 Ⅰ、HTTP GET探针 Ⅱ、TCP套接字探针 Ⅲ、Exec探针 探针:是由 kubelet 对容器执行的定期诊断 要执行诊断,则需kubelet 调用由容器实现的 Handler。

    2024年02月09日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包