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

73e901bc0d74033459b10aa9aa9ab89d.png

03、自定义检测规则

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

root@master01:/etc/kube-bench/cfg/cis-1.24# vi controlplane.yaml - id: 3.2.3text: "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: nulllabels:run: pod1name: pod1
spec:containers:- image: busyboxname: pod1command: ['/bin/sh','-c','sleep 24h']    securityContext:privileged: true

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

2edfb8632439775333b5709858e63d89.png

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

fec1d016182223e72bc53a02424f09bb.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/16946.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言指针进阶-2

本篇文章带 1. 数组传参和指针传参 2. 函数指针 3. 函数指针数组 的相关知识详细讲解! 如果您觉得文章不错,期待你的一键三连哦,你的鼓励是我创作动力的源泉,让我们一起加油,一起奔跑,让我们顶峰相见&…

(文章复现)梯级水光互补系统最大化可消纳电量期望短期优化调度模型matlab代码

参考文献: [1]罗彬,陈永灿,刘昭伟等.梯级水光互补系统最大化可消纳电量期望短期优化调度模型[J].电力系统自动化,2023,47(10):66-75. 1.基本原理 1.1 目标函数 考虑光伏出力的不确定性,以梯级水光互补系统的可消纳电量期望最大为目标,函数…

kernel32.dll如何修复,快速解决kernel32.dll缺失的方法

Kernel32.dll是Windows操作系统中一个重要的系统文件,对于系统的正常运行至关重要。然而,由于各种原因,用户可能会遇到kernel32.dll文件的缺失问题。今天小编就来给大家详细的介绍一下kernel32.dll这个文件,并且详细的介绍一下ker…

Iptables

常用名词 容器:存放东西 表(table):存放链的容器,防火墙的最大概念 链(chain):存放规则的容器 规则(policy):准许或拒绝规则 Iptables处理流程 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上…

小程序通过ip+port+路径获取服务器中的图片

配置IIS 首先需要配置IIS。 打开控制面板,接下来的流程按下图所示。 安装好后,按“win”键,搜索IIS 选择一个ip地址,或手动填写,端口号按需更改 填写别名和物理路径,别名就是后续通过url访问物理…

html5播放器视频切换和连续播放的实例

当前播放器实例可以使用changeVid接口切换正在播放的视频。当有多个视频,在上一个视频播放完毕时,自动播放下一个视频时也可采用该处理方式。 const option {vid: 88083abbf5bcf1356e05d39666be527a_8,//autoplay: true,//playsafe: , //PC端播放加密视…

牛客网Verilog刷题——VL41

牛客网Verilog刷题——VL41 题目答案 题目 请设计一个可以实现任意小数分频的时钟分频器,比如说8.7分频的时钟信号,注意rst为低电平复位。提示:其实本质上是一个简单的数学问题,即如何使用最小公倍数得到时钟周期的分别频比。设小…

数据中台系列2:rabbitMQ 安装使用之 window 篇

RabbitMQ 是一个开源的消息队列系统,是高级消息队列协议(AMQP)的标准实现,用 erlang 语言开发。 因此安装 RabbitMQ 之前要先安装好 erlang。 1、安装 erlang 到 这里 下载本机能运行的最新版 erlang 安装包。如果本机没有装过 …

Mac/win开发快捷键、vs插件、库源码、开发中的专业名词

目录 触控板手势(2/3指) 鼠标右键 快捷键 鼠标选择后shift⬅️→改变选择 mac command⬅️:删除←边的全部内容 commadtab显示下栏 commandshiftz向后撤回 commandc/v复制粘贴 command ⬅️→回到行首/末 commandshift3/4截图 飞…

PHP使用PhpSpreadsheet实现导出Excel时带下拉框列表 (可支持三级联动)

因项目需要导出Excel表 需要支持下拉 且 还需要支持三级联动功能 目前应为PHPExcel 不在维护,固采用 PhpSpreadsheet 效果如图: 第一步:首先 使用composer 获取PhpSpreadsheet 我这里PHP 版本 7.4 命令如下: composer r…

富士通“Actlyzer”提供基于AI的基于视频的行为分析

想象一下这样的场景:一个男人走近一个家的前门,蹲下并检查钥匙孔。这是丢失房屋钥匙的居民还是客人?还是寻找入口点的窃贼?“Actlyzer”是一种新的人工智能安全系统,旨在区分这种情况。富士通实验室和研发中心的行为分…

k8s安装Jenkins

目录 ​编辑 一、环境准备 1.1 环境说明 二、安装nfs 2.1 安装NFS 2.2 创建NFS共享文件夹 2.3 配置共享文件夹 2.4 使配置生效 2.5 查看所有共享目录 2.6 启动nfs 2.7 其他节点安装nfs-utils 三、创建PVC卷 3.1 创建namespace 3.2 创建nfs 客户端sa授权 3.3 创建…

XtraBackup 8.0.33-28 prepare 速度提升 20 倍!

在这篇博文中,我们将描述 Percona XtraBackup 8.0.33-28 的改进,这显著减少了备份准备所需的时间,以便进行恢复操作。 Percona XtraBackup 中的这一改进显着缩短了新节点加入 Percona XtraDB 集群(PXC) 所需的时间。 …

Python - OpenCV识别条形码、二维码(已封装,拿来即用)

此代码可识别条形码和二维码,已封装好,拿来即用: import cv2 import pyzbar.pyzbar as pyzbar import numpy from PIL import Image, ImageDraw, ImageFontclass CodeScan():def __init__(self):super(CodeScan, self).__init__()def decode…

阿丹千问vue页面升级-使用Markdown形式展示回答--markdown-it库

阿丹: 在之前开发的阿丹千问 发现回复的文章格式使用 Markdown的格式。所以想使用Markdown的方式来给页面来个升级。 下面就是升级以及开发的过程。 升级思路 使用vue中的markdown-it库 在Vue页面中使用Markdown文档 安装markdown-it: 在Vue项目中…

【活动总结】0730-COC深圳社区AI●CMeetup第4期——畅谈AI+智能制造与机器人的现状与未来

【活动总结】0730-COC深圳社区AI●CMeetup第4期——畅谈AI智能制造与机器人的现状与未来 在过去的半年里,AI 相关技术取得了革命性突破,CSDN CMeet策划推出系列研讨会,深度探讨技术更新后的开发实践。然而,更重要的是如何对 AI 实…

设计模式:生成器模式

这个模式书上讲的比较简单,但是感觉精华应该是讲到了。 引用下其它博客的总结:生成器模式的核心在于分离构建算法和具体的构造实现,从而使得构建算法可以重用。 【设计模式】建造者模式_鼠晓的博客-CSDN博客

fiddler过滤器

1、fiddler Fiddler是一个免费、强大、跨平台的HTTP抓包工具。下载地址 2、为什么适用过滤器 不适用过滤器时,所有的报文都会被抓包。 我们在开发或测试时,只需要抓包某个域名下的报文 ,以“www.baidu.com”为例,不设置过滤器&…

iOS开发-实现3DTouch按压App快捷选项shortcutItems及跳转功能

iOS开发-实现3DTouch按压App快捷选项shortcutItems及跳转功能 App的应用图标通过3D Touch按压App图标,会显示快捷选项,点击选项可快速进入到App的特定页面。 这里用到了UIApplicationShortcutItem与UIMutableApplicationShortcutItem 一、效果图 这里…

性能压力测试的重要性与实施方法

性能压力测试是在软件开发过程中评估系统在不同负载条件下的表现和稳定性的关键步骤。这种测试是为了确定系统在正常和峰值负载下的性能表现,以验证系统是否能够满足用户需求,同时发现潜在的性能问题并加以解决。 首先,性能压力测试对于确保系…