NSA和CISA发布提高Kubernetes集群安全性的文档

NSA和CISA发布提高Kubernetes集群安全性的文档

NSA 和 CISA 更新了他们的建议,以帮助强化 Kubernetes 集群抵御攻击。

美国国家安全局 (NSA) 和网络安全与基础设施安全局 (CISA) 发布了有关如何强化 Kubernetes 以管理容器应用程序的更新指南。 

Kubernetes 是一个开源系统,可以自动部署、扩展和管理在容器中运行的应用程序。

更新后的指南更新了两家机构自 2021 年 8 月起发布的第一份关于 Kubernetes 强化指南的网络安全技术报告。CISA 表示,该更新包含基于行业反馈的更多详细信息 和解释,包括有关日志记录和威胁检测的更详细信息以及其他说明。

NSA和CISA发布提高Kubernetes集群安全性的文档

一些更新对于保护 Kubernetes 集群的人来说是微妙但重要的。NSA 和 CISA 并未在更新后的指南中列出更改内容,但最初的建议并未得到普遍认可。 

例如, NCC Group 指出,关于 Kubernetes 身份验证的建议“在声明 Kubernetes 默认不提供身份验证方法时基本上是不正确的”,而 NCCGroup 已经审查了大多数客户实施“同时支持令牌和证书身份验证,这两者都是本机支持的。” NCCGroup 建议不要在生产负载中使用这两种方法,因为 Kubernetes 不支持证书吊销,如果攻击者获得了对颁发给特权帐户的证书的访问权限,这可能会成为一个问题。更新后的指南现在说“支持几种用户身份验证机制,但默认情况下不启用。”

否则,原始文档的关键点似乎没有变化。它着眼于典型 Kubernetes 集群设计的上下文中的强化,包括控制平面、工作节点(用于为集群运行容器化应用程序)以及托管在这些节点上的容器的 pod。这些集群通常托管在云中,并且通常跨越 AWS、Azure、Google 和其他地方的多个云。   

这些机构坚持认为,Kubernetes 通常是数据盗窃、计算能力盗窃或拒绝服务的目标。从历史上看,Kubernetes 中的缺陷和各种依赖项以及错误配置已被用于在受害者的基础设施上部署加密矿工。    

它还认为 Kubernetes 面临着巨大的供应链风险,因为集群通常具有由第三方开发人员构建的软件和硬件依赖关系。 

例如,安全分析师去年警告称,通过错误配置的 Argo Workflows 容器工作流引擎针对 K8s 集群对 Kubernetes 集群的攻击。  

除了供应链风险之外,机构威胁模型中的其他关键参与者还包括恶意的外部威胁和内部威胁。这些有助于定义其强化建议。

例如,有一个常见的云案例,其中不由给定 Kubernetes 集群管理的工作负载共享相同的物理网络。在这种情况下,工作负载可能有权访问 kubelet 和控制平面组件,例如 API 服务器。因此,这些机构建议进行网络级隔离。   

鉴于 Kubernetes 默认情况下不保证这种分离,这些机构就如何确保在集群中同一节点上运行的 Pod 之间严格的工作负载隔离提供建议。  

NSA 在宣布更新后的指南时说:“主要行动包括扫描容器和 Pod 的漏洞或错误配置,以尽可能低的权限运行容器和 Pod,以及使用网络隔离、防火墙、强身份验证和日志审计。”

这些机构还建议定期审查 Kubernetes 设置和漏洞扫描,以确保考虑到适当的风险并应用安全补丁。 

但是在 Kubernetes 的环境中打补丁并不容易。CISA 会定期发布有关新的 Kubernetes 相关漏洞的警报。例如,在 2 月,它警告了一个严重的(严重性得分为 8.8 分,满分 10 分)提权漏洞 CVE-2022-23652,它影响了 Capsule Operator 的 capsule-proxy 反向代理。 

但正如 NCCGroup 指出的那样:“修补一切都很困难”,部分原因是避免停机的压力,还因为相关漏洞跨越 Kubernetes、  Containerd、runc、Linux 内核等。

“这是 Kubernetes 可以提供帮助的事情,因为整个编排概念旨在让服务在节点上线和下线时也能保持运行。尽管如此,我们仍然经常看到客户运行的节点几个月都没有应用补丁“ 

文档目录列表

NSA和CISA发布提高Kubernetes集群安全性的文档

英文:

Kubernetes Hardening Guide
Executive summary
Contents
Introduction
Recommendations
Architectural overview
Threat model
Kubernetes Pod security
“Non-root” containers and “rootless” container engines
Immutable container file systems
Building secure container images
Pod security enforcement
Protecting Pod service account tokens
Hardening container environments
Network separation and hardening
Namespaces
Network policies
Resource policies
Control plane hardening
Etcd
Kubeconfig Files
Worker node segmentation
Encryption
Secrets
Protecting sensitive cloud infrastructure
Authentication and authorization
Authentication
Role-based access control
Audit Logging and Threat Detection
Logging
Kubernetes native audit logging configuration
Worker node and container logging
Seccomp: audit mode
Syslog
SIEM platforms
Service meshes
Fault tolerance
Threat Detection
Alerting
Tools
Upgrading and application security practices
Works cited
Appendix A: Example Dockerfile for non-root application
Appendix B: Example deployment template for read-only file system
Appendix C: Pod Security Policies (deprecated)
Appendix D: Example Pod Security Policy
Appendix E: Example namespace
Appendix F: Example network policy
Appendix G: Example LimitRange
Appendix H: Example ResourceQuota
Appendix I: Example encryption
Appendix J: Example KMS configuration
Appendix K: Example pod-reader RBAC Role
Appendix L: Example RBAC RoleBinding and ClusterRoleBinding
Appendix M: Audit Policy
Appendix N: Example Flags to Enable Audit Logging
Figures
    Figure 1: High-level view of Kubernetes cluster components
    Figure 2: Kubernetes architecture
    Figure 3: Example of container supply chain dependencies introducing malicious code 
    into a cluster
    Figure 4: Pod components with sidecar proxy as logging container
    Figure 5: A hardened container build workflow
    Figure 6: Possible Role, ClusterRole, RoleBinding, and ClusterRoleBinding combinations 
    to assign access
    Figure 7: Cluster leveraging service mesh to integrate logging with network security
Tables
    Table I: Control plane ports
    Table II: Worker node ports
    Table III: Remote logging configuration
    Table IV: Detection recommendations
    Table V: Pod Security Policy components

中文:

Kubernetes强化指南
执行概要
内容
介绍
建议
体系结构概述
威胁模型
Kubernetes舱安全
“非root”容器和“无root”容器引擎
不可变容器文件系统
构建安全容器图像
舱安全运行
保护Pod服务账号令牌
强化容器环境
网络隔离加固
名称空间
网络策略
资源政策
控制平面硬化
Etcd
Kubeconfig文件
工作者节点分割
加密
秘密
保护敏感的云基础设施
身份验证和授权
身份验证
基于角色的访问控制
审计日志和威胁检测
日志记录
Kubernetes本地审计日志配置
工作节点和容器日志记录
Seccomp:审计模式
Syslog
SIEM平台
服务网格
容错
威胁检测
报警
工具
升级和应用程序安全实践
作品的引用
附录A:非根应用程序的Dockerfile示例
附录B:只读文件系统部署模板示例
附录C: Pod安全策略(已弃用)
附录D: Pod安全策略示例
附录E:命名空间示例
附录F:网络策略示例
附录G:示例LimitRange
附录H: ResourceQuota示例
附录I:加密示例
附录J: KMS配置举例
附录K: pod-reader示例RBAC角色
附录L: RBAC RoleBinding和ClusterRoleBinding示例
附录M:审计策略
附录N:启用审计日志的标志示例
数据
    图1:Kubernetes集群组件的高层视图
    图2:Kubernetes架构
    图3:容器供应链依赖引入恶意代码的例子
    到一个集群
    图4:使用sidecar代理作为日志容器的Pod组件
    图5:加固的容器构建工作流
    图6:可能的角色、ClusterRole、RoleBinding和ClusterRoleBinding组合
    分配访问
    图7:集群利用服务网格来集成日志和网络安全
表
    表I:控制平面接口
    表二:Worker节点端口
    表三:远程日志配置
    表四:检测建议
    表V: Pod安全策略组件

文档下载地址:

NSA和CISA发布提高Kubernetes集群安全性的文档

①官网

https://media.defense.gov/2021/Aug/03/2002820425/-1/-1/0/CTR_Kubernetes_Hardening_Guidance_1.1_20220315.PDF

NSA和CISA发布提高Kubernetes集群安全性的文档

②云中转网盘:

英文原版:
CTR_Kubernetes_Hardening_Guidance_1.1_20220315.PDF

中文机器翻译:
translated_CTR_Kubernetes_Hardening_Guidance_1.1_20220315.PDF

翻译过来部分文章看起来奇奇怪怪的,自行参照原文查看.

NSA和CISA发布提高Kubernetes集群安全性的文档
NSA和CISA发布提高Kubernetes集群安全性的文档

Kubernetes Hardening Guidance

转载请注明出处及链接

Leave a Reply

您的电子邮箱地址不会被公开。