当前位置: 首页 > news >正文

Kritis核心功能解析:ImageSecurityPolicy如何拦截不安全容器部署

Kritis核心功能解析:ImageSecurityPolicy如何拦截不安全容器部署

【免费下载链接】kritisDeploy-time Policy Enforcer for Kubernetes applications项目地址: https://gitcode.com/gh_mirrors/kr/kritis

Kritis是一款专为Kubernetes应用设计的部署时策略执行工具,其核心功能ImageSecurityPolicy(ISP)能够有效拦截不安全容器部署,帮助用户构建更安全的容器环境。通过自定义安全策略,Kritis可以在容器部署前对镜像进行全面检查,确保只有符合安全标准的镜像才能在Kubernetes集群中运行。

什么是ImageSecurityPolicy?

ImageSecurityPolicy(ISP)是Kritis提供的一种自定义资源定义(CRD),用于在Kubernetes集群中实施镜像安全策略。它允许用户定义容器镜像的安全要求,包括漏洞容忍级别、允许的镜像列表以及CVE白名单等。

ImageSecurityPolicy是命名空间作用域的,这意味着它只会对同一命名空间内的Pod进行验证。用户可以在不同的命名空间中部署多个ImageSecurityPolicy,以满足不同环境的安全需求。

Kritis Logo - Kubernetes应用的部署时策略执行工具

ImageSecurityPolicy的核心功能

1. 漏洞 severity 控制

ImageSecurityPolicy允许用户设置漏洞的最大容忍级别。通过packageVulnerabilityPolicy.maximumSeverity字段,用户可以指定容器镜像中允许存在的最大漏洞级别。

可用的 severity 级别包括:

  • LOW:仅允许存在低级别漏洞的容器
  • MEDIUM:允许存在低和中级别漏洞的容器
  • HIGH:允许存在低、中和高级别漏洞的容器
  • ALLOW_ALL:允许所有级别的漏洞
  • BLOCK_ALL:阻止所有漏洞,除非在白名单中列出

2. 未修复漏洞控制

除了一般漏洞控制外,ImageSecurityPolicy还提供了对未修复漏洞的专门控制。通过packageVulnerabilityPolicy.maximumFixUnavailableSeverity字段,用户可以指定对无法修复的漏洞的容忍级别。

3. 镜像白名单

ImageSecurityPolicy允许用户定义一个镜像白名单,列入白名单的镜像将不会被准入控制器检查。这对于一些信任的基础镜像或内部镜像非常有用。

4. CVE白名单

用户可以通过packageVulnerabilityPolicy.allowlistCVEs字段指定一个CVE白名单,列出的CVE将被忽略,不会导致镜像部署被阻止。

ImageSecurityPolicy的工作流程

  1. 当用户尝试在Kubernetes集群中创建或更新Pod时,Kritis的准入控制器(Validating Admission Webhook)会拦截请求。

  2. 准入控制器会根据当前命名空间中的ImageSecurityPolicy对Pod中使用的容器镜像进行检查。

  3. 检查过程包括:

    • 验证镜像是否在白名单中
    • 检查镜像中的漏洞是否符合策略要求
    • 验证是否存在必要的证明
  4. 如果镜像符合所有安全策略要求,Pod将被允许部署;否则,部署将被阻止,并返回相应的错误信息。

  5. 此外,Kritis还会运行一个后台定时任务,每小时对集群中的Pod进行策略验证和调和,并为不符合策略的Pod添加标签和注解。

如何创建ImageSecurityPolicy?

创建ImageSecurityPolicy非常简单,只需定义一个YAML文件并使用kubectl应用即可。以下是一个示例:

apiVersion: kritis.grafeas.io/v1beta1 kind: ImageSecurityPolicy metadata: name: my-isp namespace: example-namespace spec: attestationAuthorityName: kritis-authority privateKeySecretName: foo imageAllowlist: - gcr.io/my-project/allowlist-image@sha256:<DIGEST> packageVulnerabilityPolicy: maximumSeverity: MEDIUM allowlistCVEs: - providers/goog-vulnz/notes/CVE-2017-1000082 - providers/goog-vulnz/notes/CVE-2017-1000081

在这个示例中,我们定义了一个名为my-isp的ImageSecurityPolicy,它:

  • 将漏洞的最大容忍级别设置为MEDIUM
  • 白名单中包含了两个CVE
  • 指定了一个允许的镜像
  • 引用了一个用于验证证明的证明机构和私钥密钥

管理ImageSecurityPolicy

查看ImageSecurityPolicy CRD

kubectl describe crd imagesecuritypolicies.kritis.grafeas.io

列出所有ImageSecurityPolicy

kubectl get ImageSecurityPolicy --all-namespaces

示例输出:

NAMESPACE NAME AGE example-namespace my-isp 22h qa qa-isp 11h

查看特定ImageSecurityPolicy的详细信息

kubectl describe ImageSecurityPolicy my-isp

ImageSecurityPolicy的实际应用场景

1. 生产环境严格控制

在生产环境中,可以配置一个严格的ImageSecurityPolicy,将maximumSeverity设置为LOW,maximumFixUnavailableSeverity设置为LOW,并只允许特定的白名单镜像。这可以最大限度地减少安全风险。

2. 开发环境灵活控制

在开发环境中,可以使用相对宽松的策略,将maximumSeverity设置为HIGH,以便开发人员可以更灵活地测试新镜像,同时仍然保持基本的安全控制。

3. 特定应用的定制策略

对于不同的应用,可以创建不同的ImageSecurityPolicy。例如,对于处理敏感数据的应用,可以应用更严格的策略;而对于内部工具类应用,可以使用相对宽松的策略。

总结

ImageSecurityPolicy是Kritis提供的一个强大功能,它允许用户在Kubernetes集群中实施细粒度的镜像安全策略。通过定义漏洞容忍级别、镜像白名单和CVE白名单,用户可以有效地控制哪些镜像可以部署到集群中,从而提高整个容器环境的安全性。

无论是在生产环境还是开发环境,ImageSecurityPolicy都能为Kubernetes应用提供重要的安全保障,是容器安全策略的重要组成部分。

要开始使用Kritis和ImageSecurityPolicy,只需克隆仓库并按照官方文档进行安装和配置:

git clone https://gitcode.com/gh_mirrors/kr/kritis

详细的安装和使用说明可以在项目的docs/install.md中找到。

【免费下载链接】kritisDeploy-time Policy Enforcer for Kubernetes applications项目地址: https://gitcode.com/gh_mirrors/kr/kritis

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/1289771/

相关文章:

  • 2026公考机构怎么选?深度拆解三大头部品牌,看完不纠结 - 天涯视角
  • Apicurio Registry CICD集成:自动化部署流程全指南
  • 终极指南:如何高效使用novel-downloader构建个人数字图书馆
  • 亿企赢实战盘点:什么软件能批量做账省时间 - 速递信息
  • 超棒的ComfyUI自定义节点,ComfyUI好用的节点推荐
  • Vajra框架完全指南:27个Web渗透测试自动化功能如何提升你的漏洞挖掘效率
  • AG Kit安全漏洞修复案例:及时响应安全问题实例
  • 深耕沂蒙用工服务 百城人力劳务外包全场景落地 为临沂企业化解用工多重难题 - 速递信息
  • AOP切入点表达式(execution和annotation)一般用execution
  • 2026优选:学校楼道水磨石施工公司选择——耐磨防滑与环保美观并重的校园地面工程 - 优企名品
  • 深入理解Arcade依赖流:Darc与Maestro实现自动化更新
  • 2026个人创业者AI营销轻量化服务大盘点:合规高效的线上咨询提升方案选型指南及避坑建议 - 产业观察报
  • 如何快速使用palworld-save-tools:幻兽帕鲁存档编辑的完整指南
  • 2026 年七夕海报用什么AI工具可以做?品牌运营实测3个高频场景 - 企业新闻快传
  • 玩转 Playwright + TypeScript:手把手带你封装一个工业级 UI 自动化框架(UI测试第二天)
  • AG Kit核心功能详解:技能、工作流与多代理协作机制全解析
  • 2026 年AI图片设计编辑工具推荐:5款主流AI设计工具综合测评 - 科技快讯
  • 2026学术工具功能TOP6榜单[特殊字符]Paperxie实测排名,毕业党直接抄作业
  • Qwen-Image-Edit-Rapid-AIO:让AI图像编辑像说话一样简单 [特殊字符]
  • 仅限内部培训泄露!某头部AIGC团队禁用的5个扩写陷阱 3个缩写红线,第4条99%人正在踩
  • 微信支付AI Skill接入指南与实战解析
  • 行业内靠谱的GS暖风机公司有哪些
  • 30天随笔7
  • 告别混乱:几个PDF合成一个的实用技巧 - 软件工具教程方法
  • 2026 年七夕海报用什么AI工具可以做?品牌运营实测3个高频场景 - 小随科技
  • 筷子兄弟龙虾值得去吗?一份基于公开信息的深度测评 - 天涯视角
  • 2026 年AI图片设计编辑工具推荐:5款主流AI设计工具综合测评 - 子柔传媒
  • 服装新手拿货总压货?试试这套反向选品法,三个月清空库存
  • 为什么90%的AI视频生成失败?揭秘提示词结构缺陷与3步精准修复法
  • Melt:终极Ed25519 SSH密钥备份工具,助你用助记词轻松恢复密钥