《OpenShift 4.x HOL教程汇总》
本文在 OpenShift 4.14 环境中进行验证。
场景说明
在基于 DevSecOps 的应用发布过程中,我们可以使用 RHACS 的策略对镜像进行安全扫描,当发现危险度较高的 CVE 的时候 RHACS 可以阻断 CI/CD 应用发布过程。
但是不同的应用镜像依赖的运行环境不同,修复过程也不尽相同。另外有些时候虽然能发现 CVE 漏洞,但是可能还没有官方修复方案。这些时候就需要针对特定应用镜像包含的特定 CVE 进行精细化处理。
精细化管理安全漏洞
- 参照《OpenShift 4 - DevSecOps (2) - 修复 RHACS 发现的安全隐患》运行 cicd 项目中被修复后的 petlinic-build-dev 管道。运行后可以看到以下三个 “Fixable Severity at least Important” 类型的 HIGH 级别的安全漏洞。
注意:这三个漏洞是本人在修复 petlinic-build-dev 管道中与 springboot 相关的几个漏洞的这段时间,由 RHACS 新发现的 CVE 漏洞。这三个漏洞此时还没有找到修复方法。
- 复制上图中的应用镜像名称,然后进入 RHACS 控制台的 Vulnerability Management 的 Dashboard 界面,在进入 TOP RISKIEST IMAGES 区域的 VIEW ALL。
- 按照 Image 查找前面复制的镜像名称,然后在找到的 Image 中点击名称。
- 在 Image 的详细页面中通过 Fixable = True 的过滤条件选出可修复的 CVE,然后选中前三个 Important 级别的 CVE。最后在 Bulk actions 中选中 Defer CVE 项目。
注意:在写本文的时候只发现三个可修复的 High 级别 CVE,如果以后会能发现更多可修复的 High 级别 CVE,请全部选中它们。
- 在弹出对话框中选择合适的选项,然后点击 Request approval 提出延时处理请求。
- 此时这些 CVE 右侧蓝色图标提示正在等待审核处理。
- 然后进入 RHACS 控制台的 Vulnerability Management 的 Risk Acceptance 界面。在 Pending Approvals 栏目中选中三个项目,然后通过 Bulk actions 中的 Approve deferrals 审核三个延时申请。
- 审核完成后可以在 Approved Deferrals 栏目中看到已通过延时处理的 CVE。
- 最后再次运行名为 petclinic-build-dev 的管道。确认这次可以运行成功,并且在 image-check 任务执行日志中不会再提示 “Fixable Severity at least Important” 类型的 HIGH 级别的安全漏洞了。