K8s安全配置:CIS基准与kube-bench工具

这篇具有很好参考价值的文章主要介绍了K8s安全配置:CIS基准与kube-bench工具。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

01、概述

K8s集群往往会因为配置不当导致存在入侵风险,如K8S组件的未授权访问、容器逃逸和横向攻击等。为了保护K8s集群的安全,我们必须仔细检查安全配置。

CIS Kubernetes基准提供了集群安全配置的最佳实践,主要聚焦在两个方面:主节点安全配置和工作节点安全配置。主节点安全配置涵盖了控制平面节点配置文件、APIServer、Controller Manager、Scheduler、etcd等关键组件,而工作节点安全配置则专注于Kubelet和相关配置文件。通过遵循CIS Kubernetes基准,确保集群安全,降低入侵风险,保护敏感数据和业务连续性。

CIS Kubernetes基准包含了一百多个检查项,手动逐项检测效率较低,因此我们需要相应的工具来简化这个过程。kube-bench是一个主要用于检查Kubernetes集群是否符合CIS Kubernetes基准中列出的安全配置建议的工具。它能够自动化地进行检查,帮助我们快速发现并解决潜在的安全问题,提高集群的安全性和符合性。这样,我们可以更高效地确保Kubernetes集群的安全可靠。

02、Kube-bench部署使用

(1)安装部署

Ubuntu下,最简单的方式就是使用dpkg命令安装软件包。

wget https://github.com/aquasecurity/kube-bench/releases/download/v0.6.17/kube-bench_0.6.17_linux_amd64.deb
dpkg -i  kube-bench_0.6.17_linux_amd64.deb

(2)安全检测

检测master组件:

kube-bench run --targets=master  --benchmark=cis-1.24

K8s安全配置:CIS基准与kube-bench工具,kubernetes,安全,容器,云原生

03、自定义检测规则

(1)kube-bench的规则文件是用YAML文件配置,提供了自定义检测规则的能力。例如,我们可以通过编写CIS自定义规则文件,用于检查集群中是否有容器在特权模式下运行。

root@master01:/etc/kube-bench/cfg/cis-1.24# vi controlplane.yaml 
      - id: 3.2.3
        text: "Ensure that the container does not use privileged mode (Manual)"
        audit: "if test -z $(kubectl get pods --all-namespaces -o jsonpath='{.items[*].spec.containers[?(@.securityContext.privileged==true)].name}'|sed 's/calico-node//g'|sed 's/kube-proxy//g');then echo ok;else echo err;fi;"
        tests:
          test_items:
            - flag: "ok"
        remediation: "If you do not need to use a container in privileged mode, turn off privileged mode"
        scored: true

(2)使用特权模式运行pod,添加privileged参数为true。

apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:
    run: pod1
  name: pod1
spec:
  containers:
  - image: busybox
    name: pod1
    command: ['/bin/sh','-c','sleep 24h']    
    securityContext:
      privileged: true

(3)使用kube-bench检测,存在特权容器,检测状态为FAIL。

K8s安全配置:CIS基准与kube-bench工具,kubernetes,安全,容器,云原生

删除对应的特权容器,再次检测,检测状态为PASS。

K8s安全配置:CIS基准与kube-bench工具,kubernetes,安全,容器,云原生文章来源地址https://www.toymoban.com/news/detail-622458.html

到了这里,关于K8s安全配置:CIS基准与kube-bench工具的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • K8S集群安全升级(CIS CNI Calico)

    1.1.1 CIS基础 学习目标 这一节,我们从 基准测试、基准手册、小结 三个方面来学习 基准测试 简介 CIS CIS基准 Kubernetes CIS 基准测试 基准手册 简介 K8s CIS手册 小结 1.1.2 测试工具 学习目标 这一节,我们从 工具简介、工具解析、小结 三个方面来学习 工具简介 简介 工具部署 工

    2024年02月12日
    浏览(45)
  • 【K8S系列】深入解析k8s 网络插件—kube-router

    做一件事并不难,难的是在于坚持。坚持一下也不难,难的是坚持到底。 文章标记颜色说明: 黄色 :重要标题 红色 :用来标记结论 绿色 :用来标记论点 蓝色 :用来标记论点 在现代容器化应用程序的世界中,容器编排平台Kubernetes已经成为标准。Kubernetes是一个分布式系统

    2024年02月08日
    浏览(36)
  • k8s kube-proxy详解

    kube-proxy是kubernetes中网络核心组件,实现了服务暴露和转发等网络功能。kube-proxy支持userspace,ipvs和iptables三种代理模式。userspace性能问题较严重,基本不再使用,应用最多的是iptables和ipvs模式。 kube-proxy 以daemonset的方式运行在每个Node计算节点上,负责Pod网络代理, 它会定时通

    2024年02月10日
    浏览(58)
  • 详解K8s 镜像缓存管理kube-fledged

    本文分享自华为云社区《K8s 镜像缓存管理 kube-fledged 认知》,作者: 山河已无恙。 我们知道  k8s  上的容器调度需要在调度的节点行拉取当前容器的镜像,在一些特殊场景中, 需要 快速启动和/或扩展 的应用程序。例如,由于数据量激增,执行实时数据处理的应用程序需要

    2024年04月15日
    浏览(48)
  • k8s安装kube-promethues(0.7版本)

    目录 k8s安装kube-promethues(0.7版本) 一.检查本地k8s版本,下载对应安装包 二.安装前准备 1.文件分类整理 2.查看K8s集群是否安装NFS持久化存储,如果没有则需要安装配置 1).安装NFS服务 2).k8s注册nfs服务 3.修改Prometheus 持久化 4.修改grafana持久化配置 5.修改 promethus和Grafana的Service 端口

    2024年02月08日
    浏览(40)
  • k8s安装promethues,kube-promethues安装法

    目录 k8s安装kube-promethues(0.7版本) 一.检查本地k8s版本,下载对应安装包 二.安装前准备 1.文件分类整理 2.查看K8s集群是否安装NFS持久化存储,如果没有则需要安装配置 1).安装NFS服务 2).k8s注册nfs服务 3.修改Prometheus 持久化 4.修改grafana持久化配置 5.修改 promethus和Grafana的Service 端口

    2024年02月08日
    浏览(74)
  • k8s安装promethues监控,kube-promethues安装法

    目录 k8s安装kube-promethues(0.7版本) 一.检查本地k8s版本,下载对应安装包 二.安装前准备 1.文件分类整理 2.查看K8s集群是否安装NFS持久化存储,如果没有则需要安装配置 1).安装NFS服务 2).k8s注册nfs服务 3.修改Prometheus 持久化 4.修改grafana持久化配置 5.修改 promethus和Grafana的Service 端口

    2024年02月08日
    浏览(34)
  • 记录k8s kube-controller-manager-k8s-master kube-scheduler-k8s-master重启

    1、报错如下 I0529 01:47:12.679312       1 event.go:307] \\\"Event occurred\\\" object=\\\"k8s-node-1\\\" fieldPath=\\\"\\\" kind=\\\"Node\\\" apiVersion=\\\"v1\\\" type=\\\"Normal\\\" reason=\\\"CIDRNotAvailable\\\" message=\\\"Node k8s-node-1 status is now: CIDRNotAvailable\\\" E0529 01:48:44.516760       1 controller_utils.go:262] Error while processing Node Add/Delete: failed to allocate cid

    2024年02月09日
    浏览(42)
  • 夜莺(Flashcat)V6监控(五):夜莺监控k8s组件(下)---使用kube-state-metrics监控K8s对象

    目录 (一)前言 (二)categraf作为Daemonset的方式去运行监控k8s组件  (1)1.24版本以下的k8s集群部署方法: ①创建autu.yaml绑定权限 ②Daemonset部署categraf采集监控kubelet,kube-proxy ③测试数据是否采集成功  (2)1.24版本以上的k8s集群部署方法: ①创建secret token 绑定sa账号 ③测试认证 ④Daemo

    2024年02月09日
    浏览(43)
  • prometheus监控k8s kube-proxy target down

    解决 修改配置 删除 kube-proxy pod 使之重启应用配置

    2024年02月14日
    浏览(48)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包