OpenShift Security 16 - 用 RHACS 为加固应用镜像安全提供线索(附视频)

89 篇文章 3 订阅
76 篇文章 6 订阅

OpenShift 4.x HOL教程汇总
本文在 OpenShift 4.15 + RHACS 4.4.3 环境中进行验证。

部署测试应用

  1. 向 OpenShift 导入一个老版本的 “httpd” 镜像以作为安全漏洞较多的基础镜像。
$ oc import-image httpd:2.4-el7-120 --from=registry.redhat.io/rhscl/httpd-24-rhel7:2.4-120 --confirm -n openshift
  1. 基于老版本的 “httpd” 镜像在 “fix-cve” 项目中部署应用,然后再进行确认测试。
$ oc new-project fix-cve
$ oc new-app openshift/httpd:2.4-el7-120~https://github.com/sclorg/httpd-ex.git --name=http-sample -n fix-cve
$ oc expose svc http-sample -n fix-cve
$ curl -o /dev/null -w '%{http_code}\n' $(oc get route http-sample -n fix-cve -o jsonpath={.spec.host})
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 37451  100 37451    0     0  5224k      0 --:--:-- --:--:-- --:--:-- 5224k
200

镜像漏洞分析

  1. 在RHACS控制台的 Vulnerability Management 中通过 “fix-cve” 的 Namespace 过滤条件找到 “image-registry.openshift-image-registry.svc:5000/fix-cve/http-sample@sha256:b2d0b4f5894b0f84ac0ceab2cbec8f2b70754b29be8165be31195887a32dd743
    ” 镜像,确认 CVEs 显示有 “37 Fixable”。
    在这里插入图片描述
  2. 在 OpenShift 控制台的 “fix-cve” 项目的 “镜像流” 中可以看到识别符同样为 “sha256:b2d0b4f5894b0f84ac0ceab2cbec8f2b70754b29be8165be31195887a32dd743” 的镜像标签。
    在这里插入图片描述
  3. 在 OpenShift 控制台查看名为“http-sample”的构建,确认该构建使用了 “OpenShift” 命名空间中名为 “httpd:2.4-el7-120” 的 “ImageStreamTag” 作为基础镜像(在 OpenShift 中也称为 Builder Image)。
    在这里插入图片描述
  4. 在 “OpenShift” 命名空间中名为 “http” 的镜像流中找到 “httpd:2.4-el7-120” 标签,确认它是来自红帽的 “registry.redhat.io/rhscl/httpd-24-rhel7:2.4-120” 镜像,且标识符为 “sha256:7622abadb8bf1a8c7b1a3aace288e67a0db37df7bbaa7c5b5d7f52b378a0c8c9”。
    在这里插入图片描述
  5. 查看红帽官方 “https://catalog.redhat.com/software/containers/rhscl/httpd-24-rhel7/57ea8d049c624c035f96f42e?tag=2.4-120&push_date=1600138150000&container-tabs=gti&gti-tabs=registry-tokens”,这就是上一步使用的 “registry.redhat.io/rhscl/httpd-24-rhel7:2.4-120” 镜像。根据镜像的 Tag 可以知道它不是最新的版本,因此其中包含的 CVE 较多。
    在这里插入图片描述

应用镜像安全加固

  1. 在 Tag 中找到 “rhscl/httpd-24-rhel7” 镜像的最新版本(有可能有比下图的 “2.4-172” 更新的版本)。然后复制 “Image Manifest” 后面的字符串。
    在这里插入图片描述
  2. 在 OpenShift 控制台中查看 “openshift” 项目中的 “httpd” 镜像流,确认其中也有标识符为“sha256:e41f578420cc135583b3cbc6e9d49f5a3590acce09749ce4eb36bbc2b1a31d39” 的标签,标签名为 “httpd:2.4-el7”。
    在这里插入图片描述
  3. 在OpenShift 控制台中修改 “fix-cvs” 项目中名为 “http-sample” 的构建配置。按照下图,使用 ImageStreamTag 名为 “httpd:2.4-el7” 的镜像,再将 “lastTriggeredImageID” 后面改为“sha256:e41f578420cc135583b3cbc6e9d49f5a3590acce09749ce4eb36bbc2b1a31d39”,最后保存修改。
    在这里插入图片描述
  4. 查看 “http-sample” 构建配置中的 “构建”,确认有新的 “http-sample-2” 在运行。在完成运行后可再次确认应用可以访问。
    在这里插入图片描述
  5. 在 RHACS 中再次找到 “fix-cve” 命名空间的 Image,此时可以看到新的应用镜像已经没有 “Fixable” 的 CVE 了,这样就加固了应用镜像的安全。
    在这里插入图片描述

演示视频

视频

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值