借助Rancher平台工具,给你的K8S集群加点安全的料

文摘   科技   2024-04-01 13:54   北京  

前文提要:

Rancher 使用进阶- 应用部署篇

如何离线安装RKE2 Kubernetes集群

如何使用Rancher简单快速部署K8S集群

SCA in Rancher Manager认证到手,附Rancher基础知识点QA

SCDS in Rancher Manager 2.7 认证,附学习笔记思维导图


前言:

Security安全在现今的IT架构中变得愈发重要,特别是在我们采用Kubernetes作为基础架构的情况下。尽管Kubernetes提供了一些基本的安全功能,但我们仍然需要花费大量精力来构建和强化我们的安全组件。如何在Kubernetes中更好地集成这些安全插件,确保我们的应用和数据免受威胁,是当前亟需解决的问题。

本文将介绍 Rancher 集成的几款云原生安全应用,通过有效的安全策略和工具的部署,可以更好地保护我们的 IT 基础设施,确保下游 Kubernetes 的稳定、可靠和安全运行。


 1.1  CIS Benchmark‍‍‍‍‍‍‍‍‍‍‍


CIS(互联网安全中心)在IT安全领域着重要作用,作为一个非营利组织,其成员包括了大公司、政府机构和学术机构。其主要任务是识别、开发、验证、推广和维持网络防御的最佳实践解决方案,同时建立和领导社区,为网络空间构建信任环境。CIS基准测试被视为目标系统安全配置的最佳实践,相关官方基准文档可通过CIS网站获得。

The CIS Benchmarks are prescriptive configuration recommendations for more than 25+ vendor product families. They represent the consensus-based effort of cybersecurity experts globally to help you protect your systems against threats more confidently.

https://www.cisecurity.org/cis-benchmarks

“主菜单”- “集群工具” 中安装rancher-cis-benchmark应用

安装后, 侧边栏打开CIS-Benchmark

我们来创建个新的扫描

扫描完成, 查看下报告,状态是否通过(失败:7警告:40

点击报告,看看都有哪些安全告警 

告警示例


Ensure that the controller manager pod specification file permissions are set to 600 or more restrictive (Automated)

补救: Run the below command (based on the file location on your system) on the control plane node.
For example, chmod 600 /var/lib/rancher/rke2/agent/pod-manifests/kube-controller-manager.yaml



 2.2  OPA Gatekeeper


OPA Gatekeeper为Kubernetes提供策略控制。它有以下功能点:‍‍‍‍‍‍

  • 自动化

  • 定义并执行策略

  • 确保一致性和合规性

  • 使用策略定义/约束模板



OPA为我们提供了一种高级声明性语言,使管理员可以用代码的形式指定策略并扩展API以应用这些策略的决策。OPA Gatekeeper提供了以下功能:

  • 可扩展且可参数化的策略库

  • 本地Kubernetes CRD(也称为“约束”)用于实例化策略库

  • 本地Kubernetes CRD(也称为“约束模板”)用于扩展策略库


    此外,Gatekeeper还提供审计功能,通过准入控制器 webhook 扩展 Kubernetes API 服务器功能,以在创建、更新或删除资源时调用。Gatekeeper被安装为验证并执行 Kubernetes 自定义资源定义定义的策略。除此之外,Gatekeeper还能够审计集群中的现有资源,并标记对已启用策略的违反。详细信息,请参阅以下网址:https://www.openpolicyagent.org/docs/latest/

同样,我们可以在集群工具中安装该应用

安装完成之后我们可以尝试创建个Policy Template‍‍‍‍‍‍‍‍‍

模版示例:

https://github.com/open-policy-agent/gatekeeper-library/tree/master/library/general

接下来,我们就可以在“Constraint” 里创建相关策略,例如可以限制某个集群或Namespace下Deployment的副本数必须在2~3之间。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

当我们创建的Deployment副本数不符合期望值时,我们会看到如下报错并无法创建该工作负载‍‍‍‍‍



 3.3  Kubewarden

Kubewarden 是一个针对 Kubernetes 的策略引擎,基于动态准入控制实现。它使用在运行时配置的 Webhook,允许或拒绝 Kubernetes 操作,例如创建或更新 Pods。Kubewarden 允许使用您已经了解的语言编写策略,并允许使用现有的注册表来分发策略。这样可以防止不安全的操作和违规的行为,并提高 Kubernetes 集群的整体安全性。Kubewarden 是一个开源项目,旨在帮助组织加强对 Kubernetes 环境的安全性控制。

更多信息详见https://www.kubewarden.io/


 4.4  SUSE Neuvector


Neuvector是一个全生命周期的、端到端的容器安全平台,专为Kubernetes而设计。它以一组容器的形式部署,适用于各种各样的Kubernetes发行版和环境。

同时,SUSE NeuVector可以作为基于本地Kubernetes集群的独立应用,需要使用受支持的容器运行时,例如containerdCRI-O。SUSE Rancher集成版本提供了与启用单点登录和基于角色的访问控制的协同作用。Rancher在安装Neuvector集群工具后,我们可以很方便地通过UI打开其管理操作界面。


NeuVector 可以帮助用户保护容器环境的安全性,包括防御容器运行时攻击、管理容器镜像漏洞、控制网络访问和满足合规性要求等,有关Neuvector更多使用技巧,我会在后续的文章里做进一步的学习分享。

今天的内容就到这,我们下期见!!


云原生SRE
懂点K8S的SRE,关注云原生、DevOps、AI&ChatGPT等技术热点
 最新文章