CIS安全扫描是Rancher 2.4推出的其中一个重磅功能,旨在帮助用户快速、有效地加强集群的安全性。本文将详细介绍CIS安全扫描这一功能,包含详细的操作demo。


本文来自Rancher Labs

对于任何成功的Kubernetes策略来说,集群安全是至关重要的部分。近期,一份由AimPoint发布的调查报告显示,44%的受访者表示由于Kubernetes容器的安全问题,推迟了应用程序进入生产环境。

然而,Kubernetes安全是一台复杂的机器,其中包含许多活动部件、集成件以及旋钮和杠杆。这会使本来就充满挑战的安全工作变得更加困难。

业界应用最为广泛的Kubernetes管理平台创建者Rancher Labs一直在为用户寻找各种高效的方式,因此我们十分高兴在Rancher 2.4中推出了CIS安全扫描功能。这项Rancher托管集群的新功能可以让你针对互联网安全中心发布的100多个CIS基准运行RKE集群的ad-hoc安全扫描以及定期的扫描。使用CIS安全扫描,你可以创建自定义测试配置并生成包含通过/失败信息的报告。根据报告内容,你可以采取各种措施以确保你的集群满足所有安全要求。

CIS基准已经被广泛接受为保障Kubernetes集群安全的事实标准。它提供了行业认可的指标,该指标可以用来衡量Kubernetes集群的安全状况。它将信息安全社区领域的知识与Kubernetes中的API、交互和总体控制路径的深刻理解相结合。当工程师试图了解他们保护集群所需的所有位置时,他们可以从基准中了解到数十种攻击的可能性以及如何缓解它们。

为什么IT Ops需要CIS安全扫描?

根据CIS基准手动评估集群是一个十分耗时且容易失败的过程。而现实中,我们的系统不断变化,因此我们需要经常进行重新评估。这就是kube-bench大展身手之处。这是Aqua创建的一种开源工具,用于根据CIS Benchmark自动评估集群。

Rancher 2.4使用kube-bench作为安全引擎,并且对其进行了一些补充。借助Rancher 2.4中的CIS安全扫描,你可以一键编排集群扫描。Rancher负责获取kube-bench工具并将其连接到集群。然后,Rancher将从所有节点的结果中总结出一个易于阅读的报告,该报告会展示集群通过或失败的区域。此外,Rancher还能让你在集群级别安排周期扫描。该设置可以在集群模板级别启用,并在默认情况下,允许管理员为计划的扫描配置模板,以便针对Rancher设置中任何用户创建的每个新集群运行扫描。最后,Rancher为CIS安全扫描提供自定义告警和通知,由于集群的配置改动导致安全不合规,或者本身集群配置就不合规的时候通过邮件、微信等方式通知安全管理员。

在Rancher 2.4中动手实践CIS集群

让我们启动一个Rancher RKE集群。

前期准备:CentOS VM(至少2核),并安装好Docker

Step1:运行Rancher Server

[root@rancher-rke ~]# sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:v2.4.0-rc3
Unable to find image 'rancher/rancher:v2.4.0-rc3' locally
Trying to pull repository docker.io/rancher/rancher ...
v2.4.0-rc3: Pulling from docker.io/rancher/rancher
423ae2b273f4: Pull complete
de83a2304fa1: Pull complete
f9a83bce3af0: Pull complete
b6b53be908de: Pull complete
b365c90117f7: Pull complete
c939267bea55: Pull complete
7669306d1ae0: Pull complete
25e0f5e123a3: Pull complete
d6664495480f: Pull complete
99f55ceed479: Pull complete
edd7d0bc05aa: Pull complete
77e4b172baa4: Pull complete
48f474afa2cd: Pull complete
2270fe22f735: Pull complete
44c4786f7637: Pull complete
45e3db8be413: Pull complete
6be735114771: Pull complete
dfa5473bfef3: Pull complete
Digest: sha256:496bd1d204744099d70f191e86d6a35a5827f86501322b55f11c686206010b51
Status: Downloaded newer image for docker.io/rancher/rancher:v2.4.0-rc3
a145d93e8fa66a6a08b4f0e936dafc4b9717a93c59013e78118a4c5af8209a53
[root@rancher-rke ~]# docker psCONTAINER ID        IMAGE                        COMMAND             CREATED              STATUS              PORTS                                      NAMES
a145d93e8fa6        rancher/rancher:v2.4.0-rc3   "entrypoint.sh"     About a minute ago   Up About a minute   0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   distracted_albattani

Step2:访问Rancher URL并安装RKEhttp://{hostIP}

设置密码和URL

设置Rancher密码和URL作为host IP

添加一个新集群并选择From existing nodes (Custom)(从现有节点添加)

选择默认选项并选择etcd、控制平面和worker,因为我们将在一个VM上安装这一切。

复制以上命令并运行在VM实例上

[root@rancher-rke ~]# **sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.4.0-rc3 --server https://185.136.233.195 --token** hwpf4kpjf49gk9wq5xvw7gdjxtj257j8wmnn5rj6lb98csz2zmkcgq --ca-checksum 3f9640ab12533287fd5e0ad1663cccf354a4ce2a76243cd6735abcfb085bdbf2 --etcd --controlplane --worker
Unable to find image 'rancher/rancher-agent:v2.4.0-rc3' locally
Trying to pull repository docker.io/rancher/rancher-agent ...
v2.4.0-rc3: Pulling from docker.io/rancher/rancher-agent
423ae2b273f4: Already exists
de83a2304fa1: Already exists
f9a83bce3af0: Already exists
b6b53be908de: Already exists
931af2228ddf: Pull complete
94b51e50d654: Pull complete
7e7961efe32b: Pull complete
85725dc92c8d: Pull complete
5a82c6e509a6: Pull complete
3b675e73aee3: Pull complete
Digest: sha256:89017bd846a8cc597186f41eb17cfe1520aa0f7e6d86b48d8c32a5490c588f1e
Status: Downloaded newer image for docker.io/rancher/rancher-agent:v2.4.0-rc3
5aaa9fab48db4557c84b7ce0c61816384075570ed3e593446795bf8443610b64

在Rancher UI中导入集群,我们可以看到集群的状态为active:

现在点击集群,并从【工具】菜单栏中,选择CIS安全扫描。

当前CIS安全扫描仅针对RKE集群,有两个扫描配置文件:宽松(Permissive)和严格(Hardened)。

  • Permissive(宽松):该配置文件具有一组将被跳过的测试,因为它们对于刚开始使用Kubernetes的用户来说没有必要。

  • Hardened(严格):此配置文件不会跳过任何测试。该配置针对高阶用户以及安全专家。

对于每种配置类型,其中一些测试会被标记为不适用,因为它们不适用于RKE集群。

现在我们选择“宽松”配置文件并运行扫描。结果是所有标准RKE集群都通过。

为了看到更多关于测试执行的细节,点击该测试,然后就能显示整个测试列表,包含失败/跳过/通过的信息。

现在,我们使用“严格”配置文件来执行相同的测试,我们将会看到上次跳过的测试失败。

如你所见,根据CIS基准测试,失败的结果提供了描述以及补救步骤。这十分有效,因为你不仅可以根据CIS基准了解集群中哪些东西会崩溃,而且还可以根据建议来修复集群。

加强集群安全性的后续步骤

尽管一键单击就能运行CIS安全扫描,但是能够自动化执行则更好。也可以在Rancher中进行配置。定期进行安全扫描可以让你高枕无忧,也是团队的一针定心剂。如果集群中的确出现了某些不合规的情况,你也能够更快找到它。

现在,如果集群中出现某些不合规的情况怎么办?解决方案很简单:查看Rancher安全加固指南。本指南提供了特定于Rancher的步骤,以使你的集群符合每个CIS检查的要求。Rancher世界一流的支持团队也精通于解决此类问题,十分欢迎你购买我们的订阅服务,详情请添加小助手(微信号:rancher3)咨询。

一键运行CIS安全扫描,集群安全无忧!相关推荐

  1. Kubernetes集群安全概述

    转自Kubernetes集群安全概述 - 我是程序员 - 博客园 (cnblogs.com) API的访问安全性 API Server的端口和地址 在默认情况下,API Server通过本地端口和安全 ...

  2. k8s(六):配置管理与集群安全机制

    文章目录 1. 配置管理 1.1 Secret 1.1.1 变量形式挂载到Pod 1.1.2 数据卷形式挂载 1.2 ConfigMap 1.2.1 数据卷形式挂载到pod容器中 1.2.1 变量形式 ...

  3. Kubernetes API Server 之集群安全认证

    文章目录 前言 一.为什么要有 api-server 集群安全认证? 二.安全机制的三个流程 三.HTTP Bearer Token 认证 四.HTTPS 双向证书认证 总结 前言 kubernete ...

  4. EMR集群安全认证和授权管理

    简介:介绍EMR高安全集群如何使用Kerberos和Apache Ranger进行鉴权和访问授权管理 直达最佳实践:[EMR集群安全认证和授权管理] 最佳实践频道:[点击查看更多上云最佳实践] 这里有 ...

  5. Kubernetes 集群安全机制详解

    本文主要介绍 Kubernetes 的安全机制,如何使用一系列概念.技术点.机制确保集群的访问是安全的,涉及到的关键词有:api-server,认证,授权,准入控制,RBAC,Service Acco ...

  6. 【Linux集群教程】12 集群安全防御 - 安全防御概述和Linux防火墙

    1 安全防御概述 1.1 常见的攻击手段 拒绝服务(DOS): 通过大量访问请求使服务器资源耗尽,无法向正常用户处理请求连接.常见解决手段将提供服务的机器配置的足够多,性能足够好 或者 使用云服务商的 ...

  7. kubernetes集群安全——认证、鉴权、准入控制

    机制说明 Kubernetes 作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务.API Server 是集群内部各个组件通信的中介,也是外部控制的入口.所以 Kubernetes 的 ...

  8. 11、Kubernetes集群安全机制

    文章目录 一.概述 1.1 认证 1.2 鉴权 1.3 准入控制 二.RBAC介绍 三.RBAC实现鉴权 3.1 创建命名空间 3.2 命名空间创建Pod 3.3 创建角色 3.4 创建角色绑定 3. ...

  9. kafka集群安全化之启用kerberos与acl

    一.背景 在我们部署完kafka之后,虽然我们已经可以"肆意"的用kafka了,但是在一个大公司的实际生产环境中,kafka集群往往十分庞大,每个使用者都应该只关心自己所负责的To ...

最新文章

  1. CSS中关于margin的理解误区
  2. _linux运维正确安装oracle流程
  3. 哪些因素不会限制linux服务器并发,嵌入式技术工程师 经典面试题(含答案)
  4. c++/cli中调用C#类库中的out参数
  5. const常量与define宏定义的区别
  6. 通电就可以工作,这些单片机真香!
  7. spring cloud连载第一篇之bootstrap context
  8. 计算机PS英语词汇,操作计算机必读(必会)的53个英文单词共享
  9. 平均月薪超过1万的北京人是这样上班的|大数据解读(视频)
  10. The Suspects(并查集入门)
  11. ftp搜索文件_CrossFTP for Mac(FTP客户端)
  12. CentOS桥接网卡配置
  13. VS2017+Qt5.12新建.qrc文件报错
  14. shader篇-程序纹理
  15. 文明与征服李世民最强阵容推荐
  16. 树莓派4B最新系统bullseye更换国内源方法
  17. 个人信用报告内容组成和解读(七) ---本人声明、异议标注、查询等
  18. 剑指Offer —— 面试题(十六)
  19. Dweb3.0的核心基础设施?NA(Nirvana)Chain加速开凿链上域名流量通道
  20. 【githubboy】一个可用于运行 Windows 2000 系统的 Docker 镜像:Windows 2000 on Docker,带你回到过去

热门文章

  1. 《西雅图不眠夜》因爱难眠
  2. svg制作画笔画直线
  3. jenkins学习17 - 添加环境变量(Environment Injector)
  4. 数组初始化的三种方式
  5. epic gameslauncher打不开,显示显卡需升级问题新的解决方法
  6. 使用nvm管理node.js版本以及更换npm淘宝镜像源
  7. C语言实现“输入年月求对应月份天数”
  8. IT人员出差(远程工作)装备
  9. CUMCM 2021-B:乙醇偶合制备C4烯烃(2)
  10. 打开Excel出现“The setup controller has encountered a problem during install. Please