概述
库平格科尔报告领导力指南:集装箱安全
图像和注册表可能被滥用
未屏蔽的容器通信
默认容器网络策略
集装箱和Kubernetes合规性
运行时
构建阶段安全性
使用最小的基础图像。 避免将映像与操作系统(OS)包管理器或外壳一起使用,因为它们可能包含未知的漏洞,或者稍后删除包管理器。 使用可信来源。 仅选择来自可信源且托管在信誉良好的注册表中的基本映像。 不要添加不必要的组件。 根据经验,常见工具在包含在图像中时可能会带来安全风险。 仅使用最新的图像。 更新组件版本。 使用图像扫描仪。 识别图像中的漏洞-按层分解。 将安全性集成到CI/CD管道中。 自动化将失败的可重复安全方面 持续集成 针对严重、可修复的漏洞构建并生成警报。 标记永久性漏洞。 将无法修复、不重要或不需要立即修复的已知漏洞添加到允许列表中。 深入实施防御。 标准化策略检查和修复工作流,以检测和更新易受攻击的图像。
部署阶段安全
使用名称空间。 将工作负载划分为名称空间有助于遏制攻击,并限制授权用户错误或破坏性行为的影响。 使用网络策略。 Kubernetes默认情况下允许每个pod与其他pod联系,但控制应用程序进出流量的网络分段策略和插件可以覆盖该默认设置。 将权限限制为机密。 仅装载部署所需的机密。 评估容器权限。 仅提供允许容器执行其功能的功能、角色和权限。 评估图像来源。 使用已知注册表中的图像。 扫描部署。 根据扫描结果强制执行策略。 使用标签和注释。 使用负责集装箱化应用程序的团队的联系信息标记或注释部署,以简化分类。 启用基于角色的访问控制(RBAC)。 RBAC控制用户和服务帐户授权以访问群集的 Kubernetes API公司 服务器。
运行时阶段安全
使用上下文信息。 使用Kubernetes中的构建和部署时间信息评估运行时观察到的活动与预期活动,以便检测可疑活动。 扫描正在运行的部署。 监视正在运行的部署,以查看容器映像中最近发现的相同漏洞。 使用内置控件。 配置pods的安全上下文以限制其功能。 监控网络流量。 观察并比较实时网络流量与Kubernetes网络策略允许识别意外通信的流量。 使用允许列表。 确定在应用程序运行时的正常过程中执行的进程,以创建允许列表。 比较类似部署的pods中的运行时活动。 有重大偏差的复制品需要调查。 将可疑吊舱归零。 通过自动指示Kubernetes将可疑pod扩展到零,或销毁并重新启动实例,使用Kubernetes本地控件来遏制违规行为。
Kubernetes基础设施安全
应用Kubernetes更新。 更新Kubernetes发行版将应用安全补丁并安装新的安全工具。 保护Kubernetes API服务器。 Kubernetes API服务器是Kubernete控制平面的网关。 禁用未经身份验证/匿名访问,并对kubelets和API服务器之间的连接使用TLS加密。 还应启用审核日志,以便查看非典型API调用。 安全etcd。 etcd(etcd) 是Kubernetes用于 数据 访问。 保护kubelet以最小化攻击面。 通过使用--anonymous-auth=false标志启动kubelet来禁用对kubelet的匿名访问,并使用NodeRestruction许可控制器限制kubelet可以访问的内容。
云安全
容器图像: 来源、内容和漏洞 部署: 网络服务, 存储 、和权限 配置管理: 角色、组、角色绑定和服务帐户 应用程序: Kubernetes机密管理、标签和注释 网络细分: Kubernetes集群中的网络策略 运行时间: 威胁检测和事件响应