《OpenShift 4.x HOL教程汇总》
本文在 OpenShift 4.15 + RHACS 4.4.3 环境中进行验证。
使用 RHACS 基线功能找出容器安全风险
- 在 OpenShift 控制台中部署测试镜像 registry.access.redhat.com/rhscl/httpd-24-rhel7,缺省的 Deployment 名称是 httpd-24-rhel7。
- 在 RHACS 控制台的 Risk 中找到 httpd-24-rhel7 部署,可以在右侧的 RISK INDICATORS 中汇总了有关这个部署的风险。注意,当前 Policy Violations 中有 4 条记录。
- 进入 PROCESS DISCOVERY,可以查看到曾经在容器中运行的进程。
- 在 PROCESS DISCOVERY 中找到下图显示的 Spec Container Baselines 区域,然后选择 httpd-24-rhel7 右方的“上锁”图标(此时上锁图标变为灰色),这样所有当前已知的进程就被加入到安全基线中。
- 在 OpenShift 控制台中进入运行 “httpd-24-rhel7” 部署的 Pod,然后在终端中执行以下命令:
sh-4.2$ echo hello > /var/run/httpd/hello
sh-4.2$ find / -name hello 2>/dev/null
sh-4.2$ more /var/run/httpd/hello
sh-4.2$ curl -w "http_code:%{http_code} content_type:%{content_type}\n" -o /dev/null https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/n/netcat-1.218-5.el7.x86_64.rpm
-
在 RHACS 控制台中再次查看 httpd-24-rhel7 部署的 Risk,确认现在 Policy Violations 已经多了 “Kubernetes Actions: Exec into Pod (severity: High)”。
-
在 PROCESS DISCOVERY 中确认已经出现红色记录,这些是没有在 “baseline” 中的运行进程。可以将 “/usr/bin/more” 和 “/usr/bin/sh” 加入到 baseline 中。
-
查看 “/usr/bin/curl” 记录,可以查看执行参数。