首页
/ UDS Core 项目中的Pepr策略详解

UDS Core 项目中的Pepr策略详解

2025-06-19 03:28:25作者:余洋婵Anita

概述

在Kubernetes环境中,安全策略是保障集群安全运行的关键要素。UDS Core项目通过Pepr策略提供了一套全面的安全控制机制,这些策略主要针对Pod、Service等Kubernetes资源进行安全限制和配置规范。

策略分类

UDS Core中的Pepr策略主要分为两大类:变异策略(Mutations)和验证策略(Validations)。

变异策略

变异策略会自动修改资源定义,确保它们符合安全规范:

  1. 禁止权限提升(Disallow Privilege Escalation)

    • 作用对象:容器
    • 功能:自动将allowPrivilegeEscalation设为false,除非容器是特权容器或添加了CAP_SYS_ADMIN能力
  2. 要求非root用户(Require Non-root User)

    • 作用对象:Pod
    • 功能:自动设置runAsNonRoot: true,默认用户和组ID为1000
    • 自定义:可通过uds/useruds/groupuds/fsgroup标签指定用户/组ID
  3. 丢弃所有能力(Drop All Capabilities)

    • 作用对象:容器
    • 功能:自动设置capabilities.drop: ["ALL"],确保所有能力被丢弃

验证策略

验证策略会检查资源定义是否符合规范,不符合则拒绝创建/更新:

网络安全类

  1. 禁止主机命名空间(Disallow Host Namespaces)

    • 严重性:高
    • 确保Pod不使用主机PID、IPC或网络命名空间
  2. 禁止NodePort服务(Disallow NodePort Services)

    • 严重性:中
    • 禁止创建NodePort类型的Service
  3. 限制外部名称(Restrict External Names)

    • 严重性:中
    • 防止CVE-2020-8554漏洞,限制Service使用外部名称
  4. 限制主机端口(Restrict Host Ports)

    • 严重性:高
    • 只允许使用预先批准的主机端口

安全配置类

  1. 禁止特权(Disallow Privileged)

    • 严重性:高
    • 禁止特权容器和权限提升
  2. 限制能力(Restrict Capabilities)

    • 严重性:高
    • 只允许添加特定能力,禁止随意添加
  3. 限制SELinux选项(Disallow SELinux Options)

    • 严重性:高
    • 禁止使用SELinux选项
  4. 限制proc挂载(Restrict Proc Mount)

    • 严重性:高
    • 只允许默认的proc挂载方式
  5. 限制Seccomp(Restrict Seccomp)

    • 严重性:高
    • 只允许使用RuntimeDefault或Localhost seccomp配置文件

存储类

  1. 限制卷类型(Restrict Volume Types)

    • 严重性:中
    • 限制可用的卷类型,特别是限制hostPath
  2. 限制hostPath可写路径(Restrict hostPath Volume Writable Paths)

    • 严重性:中
    • 确保hostPath卷以只读方式挂载

豁免机制

UDS Core提供了灵活的豁免机制:

  1. 通过UDS Exemption CR可以豁免特定资源
  2. 被豁免的资源会被标记为uds-core.pepr.dev/uds-core-policies.<POLICY>: exempted
  3. 变异策略和验证策略使用相同的豁免引用

最佳实践建议

  1. 最小权限原则:尽可能使用非root用户运行容器,默认策略已自动实现这一点
  2. 能力控制:使用"Drop All Capabilities"策略,只添加必要的能力
  3. 网络隔离:避免使用主机网络命名空间和NodePort服务
  4. 存储安全:限制volume类型,特别是hostPath的使用
  5. 安全配置:利用Seccomp和SELinux限制增强安全性

未实现策略说明

当前版本中,以下策略尚未实现但值得关注:

  1. 限制sysctls配置
  2. 限制镜像仓库
  3. 限制hostPath PV路径
  4. 要求镜像签名
  5. 禁止自动挂载ServiceAccount令牌

这些策略将在未来版本中逐步实现,以提供更全面的安全保护。

总结

UDS Core的Pepr策略提供了一套全面的Kubernetes安全控制机制,通过自动变异和严格验证相结合的方式,确保集群工作负载遵循安全最佳实践。这些策略基于行业标准设计,能够有效降低容器逃逸、权限提升等安全风险,是构建安全Kubernetes环境的重要保障。

登录后查看全文
热门项目推荐

项目优选

收起
openHiTLS-examplesopenHiTLS-examples
本仓将为广大高校开发者提供开源实践和创新开发平台,收集和展示openHiTLS示例代码及创新应用,欢迎大家投稿,让全世界看到您的精巧密码实现设计,也让更多人通过您的优秀成果,理解、喜爱上密码技术。
C
53
465
kernelkernel
deepin linux kernel
C
22
5
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
349
381
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
7
0
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
132
185
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
876
517
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
336
1.1 K
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
179
264
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
610
59
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
83
4