前文提要:
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(也称为“约束模板”)用于扩展策略库
https://www.openpolicyagent.org/docs/latest/ 此外,Gatekeeper还提供审计功能,通过准入控制器 webhook 扩展 Kubernetes API 服务器功能,以在创建、更新或删除资源时调用。Gatekeeper被安装为验证并执行 Kubernetes 自定义资源定义定义的策略。除此之外,Gatekeeper还能够审计集群中的现有资源,并标记对已启用策略的违反。详细信息,请参阅以下网址:
同样,我们可以在集群工具中安装该应用
安装完成之后我们可以尝试创建个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集群的独立应用,需要使用受支持的容器运行时,例如containerd或CRI-O。SUSE Rancher集成版本提供了与启用单点登录和基于角色的访问控制的协同作用。Rancher在安装Neuvector集群工具后,我们可以很方便地通过UI打开其管理操作界面。
NeuVector 可以帮助用户保护容器环境的安全性,包括防御容器运行时攻击、管理容器镜像漏洞、控制网络访问和满足合规性要求等,有关Neuvector更多使用技巧,我会在后续的文章里做进一步的学习分享。
今天的内容就到这,我们下期见!!