本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。

4.x 版本发行说明

4.x 的发行说明

4.4.4-s3 安全补丁 2022年4月

  • 更新所有镜像以修复 busybox (alpine) 中的高风险 CVE-2022-28391 漏洞。

4.4.4-s2 安全补丁 2022年3月

4.4.4-s1 安全补丁 2022年2月

其他更新 2022年2月

  • 将 Helm Chart 更新到 1.9.1。允许用户指定不同的镜像 SHA 哈希而不是标签,增加对 Rancher UI 中 k3s 的支持。

  • 社区操作员更新到 1.3.5 以支持 4.4.4。

  • 认证操作员更新到 1.3.2 以支持 4.4.4。

4.4.4 2022年2月

增强功能

  • 为 Enforcer 添加环境变量以关闭密钥扫描,在某些环境中可能会消耗资源。设置为 ENF_NO_SECRET_SCANS=1

  • 在漏洞浏览器 > CSV 下载中,将受影响的容器显示为多行,而不是在同一单元格中。

Bug 修复

  • 减少 Enforcer 的密钥扫描,以避免可能导致长时间运行的扫描任务,这可能会消耗内存。这可能是由于大型镜像注册表或本地数据库扫描造成的。

  • 修复在漏洞浏览器 > 安全风险 → 漏洞中尝试导出 CSV 时的错误,如果未使用过滤器,CSV 文件为空。

  • 修复从 4.2.2 升级时的时序问题,这可能导致所有流量的隐式拒绝。最近的修复与滚动更新期间的 XFF 设置有关。

其他

4.4.3 2022年1月

增强功能

  • 用新的自签名证书替换即将于 2022 年 1 月 23 日到期的 Manager 证书,新证书将于 2024 年 1 月到期。

  • 改进在网络活动图中显示不相关的未管理工作负载的功能。

Bug 修复

  • 修复扫描 GitLab 注册表时导致控制器崩溃的问题。

  • 某些镜像的准入控制未阻止。这是因为在多个软件包中发现的漏洞在控制器的准入控制中被视为 1 个漏洞并已修复。

  • 从 4.2.2 升级到 4.3.2 时,如果在滚动升级期间流量较高,则所有流量将隐式拒绝。

其他

  • Helm Chart v1.8.9 已发布用于 5.0.0 部署。

4.4.2 2021年12月

增强功能

  • 添加对扫描嵌入式 Java JAR 和无 Maven 文件的 JAR 的支持,例如 log4j-core-2.5.jar,当 pom.xml 不存在时。

  • 添加 CVE 数据库来源为 GitHub 针对 Maven 的安全公告,从扫描器/CVE 数据库版本 2.531 开始。

  • REST API 参考文档 已更新至 4.4.1 和 4.4.2。

Bug 修复

  • 修复在 Enforcer 中检测到的内存泄漏。

4.4.1 2021年12月

增强功能

  • 添加对 cgroup v2 的支持,这在某些环境中是必需的,例如 SUSE Linux Enterprise Server 15 SP3。

Bug 修复

  • 修复 Enforcer 无法在运行的容器中检测到 CVE-2021-44228 的问题。

  • 减少/修复 Enforcer 在某些环境中的高内存使用。

  • 修复 nv.ip 组策略的导入/导出问题。

  • 修复删除没有容器成员的组的问题。

  • 修复间歇性无法使用 neuvector-prometheus-exporter 登录的问题。

  • 修复 REST API 端点 /v1/response/rule?scope=local 未能删除所有响应规则的问题。

Helm Chart 更新 1.8.7

  • 支持控制器、扫描器和管理器的亲和性和容忍度自定义。

  • 为控制器、管理器、扫描器和更新器 Pod 添加 nodeSelector 支持。

  • 支持控制器容器的用户定义环境变量。

Splunk APP 已发布。

4.4.0 2021年12月

增强功能

  • 添加接受漏洞 (CVE) 的能力,以将其排除在报告、视图、风险评分等之外。可以在多个屏幕上选择漏洞并点击接受按钮,例如安全风险 → 漏洞、资产 → 容器等。一旦接受,它将被添加到安全风险 → 漏洞概况列表中。可以在此处查看、导出和编辑。请注意,此接受功能可以限制为列出的镜像和/或名称空间。也可以从此屏幕手动添加新条目到此列表。

  • 启用对 Kubernetes 部署 yaml 文件的配置评估。从策略 → Admission Control 上传 yaml 文件,将根据所有 Admission Control 规则进行审核,以查看是否会触发任何规则。可以从此窗口下载评估报告。

Bug 修复

  • 固定数据包捕获不适用于带有 Istio sidecar 代理的 Pod。

  • 删除 Allinone 对 /dev/null.json 的写入。

4.3.2-s1 2021年11月

  • 发布安全补丁,修复在 4.3.2 版本中发现的与 'curl' 相关的库中的漏洞。发现的 CVE 包括 CVE-2021-22945、CVE-2021-22946 和 CVE-2021-22947。

4.3.2 2021年9月

增强功能

  • 支持 Openshift CIS 基准 1.0.0 和 1.1.0。

  • 支持准入控制试运行选项。

  • 改善准入控制标准来源的描述。改善准入控制中的标签标准,以添加其他标准。

  • 支持 GitLab 云 (SaaS) 注册表扫描。

  • 支持多架构镜像扫描。

  • ConfigMap 覆盖选项,以在控制器启动时重置配置。在任何 configMap yaml 中可以使用 'always_reload: true',以强制在每次控制器启动时重新加载该 yaml。

  • 包含预构建的 PSP 最佳实践准入控制规则。

  • 测试支持 AppArmor 控制文件,以便以非特权容器运行 SUSE® Security。

  • 允许用户在安全事件列表中点击组名,以转到策略 → 组选择。

Bug 修复

  • 添加准入控制标准的指示器,以确定是否需要扫描结果。

  • 如果所有 SUSE® Security 组件未运行相同版本,则发出警告。

  • 在网络活动 → 视图中显示 Docker Swarm/Mirantis 平台 → 显示系统。通过为 Enforcer NV_SYSTEM_GROUPS 添加环境变量来启用此功能。

其他

  • 在 helm chart 中更新 cronjob 版本 (v.1.8.3).

  • 支持 Jenkins 主从配置的 Jenkins 插件。

2021 年 8 月 4.3.1

增强功能

  • 在资产 → 节点下显示节点标签。

  • 在资产 → 系统组件中显示控制器的统计信息。

  • 在使用 REST API 扫描镜像时,如果漏洞存在于基础镜像层中,则报告该漏洞。基础镜像必须在 API 调用中被识别,如下面的示例所示。

curl -k -H "Content-Type: application/json" -H "X-Auth-Token: $_TOKEN_" -d '{"request": {"registry": "https://registry.hub.docker.com/", "repository": "garricktam/debian", "tag": "latest", "scan_layers": false, "base_image": "2244...../nodejs:3.2......"}}' "https://$RESTURL/v1/scan/repository"
{noformat}

限制: 如果要扫描的镜像是远程镜像,并且指定了 "registry",则基础镜像也必须是远程镜像,且名称必须以 http 或 https 开头。如果要扫描的镜像是本地镜像,则基础镜像也必须是本地镜像。 例如,

{"request": {"repository": "neuvector/manager", "tag": "4.0.2", "scan_layers": true, "base_image": "alpine:3.12.0"}}
{"request": {"registry": "https://10.1.127.12:5000/", "repository": "neuvector/manager", "tag": "4.0.0", "scan_layers": true, "base_image": "https://registry.hub.docker.com/alpine:3.12.0"}}
{"request": {"repository": "neuvector/manager", "tag": "4.0.2", "scan_layers": true, "base_image": "10.1.127.12:5000/neuvector/manager:4.0.2”}}

Bug 修复

  • 使 Enforcer 列表高度可调。

  • 清理所有显示字段以防止 XSS 攻击。

2021 年 7 月 4.3

增强功能

  • 控制台中的新网络活动显示改善了性能和对象图标设计。新的 UI 框架显著提高了显示数千个对象的加载时间。会话过滤器在网络活动、安全风险和其他菜单中保持直到注销。启用 GPU 加速,如果这导致显示问题,可以禁用。注意:某些启用 GPU 的 Windows 电脑存在已知问题。

  • 添加从控制台导入组策略(CRD 文件 yaml 格式)的能力,以支持非 Kubernetes 环境。重要说明:从控制台导入的 CRD 不会被分类并显示为 CRD 规则。它们可以通过控制台进行编辑,不同于通过 Kubernetes 应用的 CRD。

  • 支持多个 Webhook 端点。在设置 → 配置中,可以添加多个 Webhook 端点。在响应规则中,创建规则使用户能够选择通过 Webhook 通知哪些端点。

  • 支持在联合规则中配置多个 Webhook。

  • 支持 JSON 格式的 Webhook。现在可以在创建 Webhook 时配置 JSON、键值对或 Slack 作为 Webhook 的格式。

  • 支持自定义用户角色以映射到名称空间用户。目录集成支持将组映射到角色,角色可以限制到名称空间。限制:如果用户在多个组中,则将分配“第一个匹配”组的角色。请按照配置顺序进行,以确保正确的行为。

  • 下载外部IP列表以进行出站连接。在仪表板页面的 Ingress 和 Egress Exposure 部分,新增了下载报告/CSV 文件的功能。

  • 在响应规则中支持中等CVE标准。

  • 将预配置的 PSP 最佳实践规则添加到准入控制规则中。例如,以下预设标准可以警报/阻止部署:以特权身份运行,以 root 身份运行,分享主机的 IPC 名称空间 = true,分享主机的网络 = true,分享主机的 PIC 名称空间 = true。

  • 支持在资产报告的 PDF 中使用名称空间作为安全风险漏洞与合规性的高级过滤器。

  • 支持基于 CVE 评分的准入控制规则标准。

  • 在配置支持此功能的注册表(如 Docker 和 JFrog)的注册表扫描时,添加测试注册表按钮。

  • 改善支持日志下载和控制器调试设置。启用下载设置,例如cPath和下载哪些组件日志。

  • 添加对Kubernetes 1.21的支持。

Bug 修复

  • 支持 Kubernetes 1.21 和 containerd 1.4.4。containerd 运行时 v1.4.4 更改了其 cgroup 表示。

  • 扫描器将操作系统识别为 ol:7.9,并出现误报 CVE。

  • 支持在 Azure DevOps 扩展中独立部署扫描器。

其他更改

  • Helm Chart v1.8.0 更新为默认使用 registry.neuvector.com 作为默认注册表。注意:必须手动指定版本标签。

  • 在 Helm Chart 中添加可配置参数,例如控制器 API 注释。从版本 1.7.6+ 开始可用。

  • 社区操作员 1.2.6,认证操作员 1.2.7 更新以反映 Helm Chart 更新,包括在启用 controller.apisvc.type 时添加 OpenShift 路由。认证操作员 1.2.7 部署 SUSE® Security 版本 4.2.2。

  • 在 Jenkins 管道扫描结果中添加扫描结果的 HTML 输出格式。

  • 在 Prometheus 导出器警报中添加受影响工作负载的名称空间。现在支持 neuvector/prometheus-exporter:4.2.2 及更高版本。

4.2.2 April 2021

增强功能

  • 启用密码策略的强制执行。如果启用此功能,密码必须满足配置的最低安全要求。前往设置 - 用户/角色以设置密码策略,包括所需的最小字符、大小写字母、数字和特殊字符。还会防止猜测和密码重用。

  • 允许在 CRD 组定义中的键/值中使用斜杠。

  • 增强 SAML 以支持 CAC 身份验证。SAML AFDS 通用访问卡 (CAC) 身份验证方法。

  • 验证与 OpenShift 4.7 的兼容性。

Bug 修复

  • 修复 Enforcer 在 OpenShift 更新中延迟节点重启长达 20 分钟的情况。

  • 将未管理节点的术语更正为“节点”。

  • CRD 导入产生了意外结果。提供了一个转换工具,从 SUSE® Security 帮助将之前版本的 CRD 格式转换过来。

  • 在 AKS 中,k8s v1.19+ 创建的 webhook 证书没有 SAN。

  • 联邦策略工作不一致,未按预期运行。改进未管理工作负载的 IP 逻辑,以减少不必要的违规。

4.2.1 版本 2021 年 3 月

Bug 修复

  • 预定义的文件访问规则未在控制台中显示。

  • 在多个控制台视图中,如资产→注册表→模块扫描结果,列标题不正确。一些 PDF 报告也受到影响,现已修复。Sonatype 构建中的其他区域已被修复。

4.2 版本 2021 年 3 月

增强功能

  • 多集群监控。通过在多集群管理页面上显示每个集群的风险评分和集群摘要,集中可见所有管理集群的安全态势。注意:多集群联邦需要单独的许可证。

  • 添加对 IBM Cloud 集成的基于使用的计费支持。

  • 增强 PCI 合规性报告以显示资产视图,按服务列出漏洞。

  • 在列出漏洞之前添加扫描结果摘要。

  • 支持 Red Hat OVAL2 数据库,以满足 Red Hat 漏洞扫描器认证的要求。

  • 支持 Red Hat OpenShift 的 CIS 基准测试的测试版(‘受 CIS 启发’)。当CIS.org发布正式版本时,这将被最终确定。此功能支持OpenShift版本4.3及以上的部署。

  • 允许 API 查询过滤,以检查通过 API 调用允许或拒绝的条件,例如镜像。

  • 添加对CIS Kubernetes基准1.6.0的支持。

  • 在扫描结果中报告和显示扫描期间检测到的图像模块。这在图像扫描结果的一个标签中显示,并包含在来自REST API的扫描结果中。

  • 允许通过控制台编辑注册表、组和响应规则配置中的过滤器。

  • 更新ConfigMap以在oidcinitcfg.yaml和samlinitcfg.yaml中添加group_claim,并在sysinitcfg.yaml中添加Xff_Enabled。

  • API的yaml在自动化部分中更新为4.2。

Bug 修复

  • Enforcer 无法加入现有集群,有时在注册的 Enforcer 过多的情况下需要 10 分钟。这是当 Enforcer 被非正常终止但仍注册进行许可证检查时,导致其他 Enforcer 在达到许可证限制时无法加入的情况。

  • 修复:阻止通配符DNS流量。改善与通配符DNS地址组匹配的DNS结果的缓存。

  • 修复CRD证书在webhook和控制器之间不同步的罕见情况。

  • 在网络活动显示中将“未管理”的图例更正为“节点”。

  • 检测到的节点作为工作负载,导致隐式违规。

其他

  • Jenkins 插件增强:

    • 通过分数覆盖漏洞严重性。

    • 向 JAVA 异常 hudson.AbortException 添加错误消息。

  • 将 Helm 图表更新到 1.7.1。

有关详细信息,请参见发布说明部分 集成与其他组件

4.1.2 2021 年 2 月

增强功能

  • 启用 XFF 转发的切换开关,以禁用 SUSE® Security 策略对其的使用(默认情况下启用)。这与在 4.1.1 中添加的功能有关,以支持 x-forwarded-* 头。要禁用,请转到设置 → 配置。重要说明:请参见下面 XFF-FORWARDED-FOR 行为的详细描述。

Bug 修复

  • 修复未检测到 CVE-2020-1938 的问题。

  • 修复管理器错误 "导出部分 {policy, user, config} 的配置失败。"

  • 修复网络活动图表过滤器无法工作的问题。

  • 改善控制器的 CPU 和内存消耗。

其他

  • Jenkins 插件更新以支持独立扫描仪。 有关详细信息,请参见发布说明部分 集成与其他组件

XFF-FORWARDED-FOR 行为详细信息

在 Kubernetes 集群中,应用程序可以通过 NodePort、LoadBalancer 或 Ingress 服务暴露到集群外部。这些服务在对数据包进行源 NAT (SNAT) 时通常会替换源 IP。由于原始源 IP 被伪装,这阻止了 SUSE® Security 识别连接实际上来自 '外部'。

为了保留原始源 IP 地址,用户需要在外部负载均衡器或 Ingress 控制器的 'spec' 部分中向暴露的服务添加以下行。(参考: https://kubernetes.io/docs/tutorials/services/source-ip/)

"externalTrafficPolicy":"Local"

许多 LoadBalancer 服务和 Ingress 控制器的实现会在 HTTP 请求头中添加 X-FORWARDED-FOR 行,以将真实源 IP 传递给后端应用程序。在 4.1.0 版本中,我们添加了一个功能,以识别这一组 HTTP 头,识别原始源 IP 并根据该 IP 强制执行策略。

这一改进在某些设置中产生了一些意想不到的问题。如果上述行已添加到暴露的服务中,并且 SUSE® Security 网络策略已创建为期望网络连接来自内部代理/ingress 服务,因为我们现在识别连接来自集群的 "外部",正常的应用流量可能会触发警报或在应用程序处于 "保护" 模式时被阻止。

在 4.1.2 中,添加了一个开关以禁用此功能。禁用它会告诉 SUSE® Security 不要使用 X-FORWARDED-FOR 头识别连接来自 "外部"。默认情况下,此功能是启用的,X-FORWARDED-FOR 头在策略执行中被使用。要禁用它,请转到设置 → 配置,并禁用 "基于 X-Forwarded-For 的策略匹配" 设置。

xff_behavior

4.1.1 2021 年 1 月

Bug 修复

  • 添加对 AWS EKS AMI 版本 v20210112 的支持,以修复 ulimit 问题。

4.1 2020 年 12 月

增强功能

  • 允许用户在导出 CRD 时更改策略模式。

  • OIDC 支持来自 /oauth/userinfo 端点的声明。

  • 集群节点刷新支持,以允许节点增长和 pod 在节点之间迁移的临时支持。

  • 生成可从设置 → 配置页面下载的使用报告。

  • 在将用户角色分配给名称空间时,支持名称空间的通配符。

  • 改进组/策略移除逻辑。提供可配置的选项,根据自上次使用以来的时长自动移除未使用的组。

  • 允许用户配置数据包捕获持续时间。

  • 添加对多集群管理读取角色的支持。

  • 独立扫描仪现在使用REST API提交扫描结果。请参见下面的扫描仪详细信息。

  • 检测并阻止在CVE-2020-8554中报告的中间人攻击。

  • 添加对计量(基于使用)许可模型的支持。

  • 从Kubernetes和Openshift的示例部署YAML中删除创建CRD(例如NvSecurityRule)的步骤。这不是必需的(控制器会自动创建这些)。Helm部署也会处理这些。

Bug 修复

  • 改善控制器和执行者的高内存使用。

  • 尝试配置注册表过滤器时返回错误。允许通配符在repo/tag过滤器中的任何位置使用。

  • 阻止策略未按预期工作。添加对x-forwarded-*头的支持。重要说明:请参见4.1.2版本说明中关于XFF-FORWARDED-FOR行为的详细描述。

  • 设置控制器 Ingress 为 true 时的 Helm Chart 错误。

  • 由于网关超时,无法创建、添加和保存网络规则。

  • Configmap示例缺少Group_Claim字段。已添加到configmap文档

  • 终止控制器 pod 时处理控制文件违规。

扫描仪详细信息

为了登录到控制器 REST API,添加了两个额外的环境变量。具有 CICD 集成角色的用户可以提交结果。

新的环境变量:SCANNER_CTRL_API_USERNAME, SCANNER_CTRL_API_PASSWORD

使用示例

docker run --name neuvector.scanner --rm -e SCANNER_REPOSITORY=ubuntu -e SCANNER_TAG=16.04 -e SCANNER_LICENSE=$license -e CLUSTER_JOIN_ADDR=10.1.2.3 CLUSTER_JOIN_PORT=32368 -e SCANNER_CTRL_API_USERNAME=username -e SCANNER_CTRL_API_PASSWORD=secret -v /var/run/docker.sock:/var/run/docker.sock -v /var/neuvector:/var/neuvector neuvector/scanner

Kubernetes 1.19+ 和 CRD 导出

要在 Kubernetes 1.19+ 中使用导出的 CRD,请从每个部分中删除 'version: v1'。这可以在导出的组策略 CRD 的每个部分的末尾或接近末尾找到。

    version: v1

4.0.3 2020 年 12 月

Bug 修复

  • 终止控制器 pod 时处理控制文件违规。

  • 用户创建的地址组使用主机名中的通配符时的隐式违规。

Helm 图表更改

  • 允许用户自定义管理器/控制器/执行者/扫描仪部署的 PriorityClass。我们建议为 SUSE® Security 容器提供更高的优先级,以确保在节点资源紧张或集群升级过程中安全策略得到执行。

  • 为 CRD 创建单独的图表。这允许在部署 SUSE® Security 核心服务之前创建 CRD 策略。如果使用新图表,则核心图表中的 CRD 资源(为向后兼容保留)应通过 crdwebhook.enabled=false 禁用。

  • 允许用户为 SUSE® Security 部署指定服务帐户。之前使用的是名称空间的 'default' 服务帐户。在 SUSE® Security 与其他应用程序一起部署在名称空间时,不建议某些用户使用名称空间的默认服务帐户。

4.0.2 2020 年 12 月

增强功能

  • 控制台 - 容器列表页面资产 → 容器应允许拖动窗口分隔符以调整大小。

  • 为 Pod 共享主机命名空间添加准入控制检查。允许用户选择防止 Pod 共享主机的网络、IPC、进程 ID 命名空间。有关详细信息,参见下文。

  • 能够导出以特权或 'runasroot' 运行的容器列表。

  • 在通知 → 安全事件中,启用轻松显示事件属性信息而无需切换屏幕。

Bug 修复

  • 在某些公有云上启用的巨型帧问题。症状:当 prometheus 组被置于保护模式时,主要 prometheus 应用程序 URI /graph 变得无法访问。

  • 漏洞过滤器中缺少名称空间选项。允许用户选择/输入 SUSE® Security 安装的名称空间作为过滤条目。

  • OpenSSL 版本 1.1.1c-1 中的误报,受 CVE-2020-1967 影响。

  • 使用通配符主机名创建的用户地址组出现意外的隐式拒绝违规。使用 DNS 名称(带通配符)进行防火墙流量时的问题。

  • 改进检测以消除 SQL 注入误报。

Pod 共享的准入控制

  1. HostPID - 控制 Pod 容器是否可以共享主机进程 ID 命名空间。请注意,当与 ptrace 配对时,这可以用于提升容器外的权限(默认情况下禁止 ptrace)。

  2. HostIPC - 控制 Pod 容器是否可以共享主机 IPC 命名空间。

  3. HostNetwork - 控制 Pod 是否可以使用节点网络命名空间。这样做可以让 pod 访问环回设备、监听 localhost 上的服务,并可用于监视同一节点上其他 pod 的网络活动。

4.0.1 2020 年 11 月

对 Helm Chart 结构的更改

SUSE® Security chart 的目录已从 ./neuvector-helm/ 更改为 ./neuvector-helm/charts/core/

如果使用 Helm 升级,请将路径更新为上述路径。

增强功能

  • 添加对无发行版镜像扫描的支持。

  • 添加从注册表触发单个镜像扫描的能力,结果可用于准入控制。

  • 将 JFrog Xray 集成更新为新的 JFrog 平台 API / 认证要求。

  • 在管理器中添加有关扫描仪的信息,例如版本和扫描仪统计信息。

  • 添加快速过滤器以排除安全事件(类似于 grep -v)。

  • 更新 CVE 严重性以与 NVD 漏洞严重性评级对齐。使用 CVSS v2 和 v3 分数中的较大者,评级为高(>=7)和中(>=4)。

  • 支持独立扫描仪部署以进行本地镜像扫描(不需要控制器)。添加新的环境变量 SCANNER_LICENSE、SCANNER_REGISTRY、SCANNER_REPOSITORY、SCANNER_TAG、SCANNER_REGISTRY_USERNAME、SCANNER_REGISTRY_PASSWORD、SCANNER_SCAN_LAYERS、CLUSTER_JOIN_ADDR、CLUSTER_JOIN_PORT。

  • 支持在设置 → 用户模块中创建名称空间用户时使用名称空间自动完成功能。

  • 支持在 Jenkins 扫描器插件中输入豁免 CVE。

  • 添加准入控制标准,以便能够阻止扫描未能检测到操作系统的镜像(例如 archlinux 镜像),因此未发现漏洞。添加了一个新标准 "没有操作系统信息的镜像",当设置为 true 时,表示镜像的基础操作系统不可用。

Bug 修复

  • 降低控制器内存使用。

  • 启用对 webhook 功能的支持,例如 Kubernetes 1.19 中的准入控制和 CRD。

  • 为 Kubernetes 1.19 添加对 apiextensions.k8s.io/v1 部署的支持(在 k8s 1.18 中受支持)。

  • 因父 shell 脚本引起的意外进程控制文件规则违规——该进程位于允许列表中。

  • 为 Harbor 注册表添加对通配符过滤器的支持(使用 Docker 注册表设置进行配置)。

  • 改进 configmap 的处理,如果管理员密码恢复为默认值,则重新加载。这是为了防止在系统从集群级存储故障恢复时出现不安全的访问。

4.0.0.s1 2020 年 10 月

SUSE® Security 容器的安全补丁

  • 此安全发布适用于 SUSE® Security 管理器和 Allinone 容器,以解决在 libx11 包的基础 Alpine 层中发现的高 CVE-2020-14363。 作为更新的一部分,中等 CVE-2020-8927 也得到了处理。此问题虽然不太可能被利用,但影响 SUSE® Security 的管理控制台,并且不影响控制器或执法者容器的操作。

4.0 2020 年 9 月

增强功能

  • 可定制的合规模板。PCI、GDPR、HIPAA、NIST 的预设模板。每个 CIS 基准和自定义检查可以标记一个或多个合规法规。随后可以分别生成报告。安全风险 → 合规配置文件。

  • 漏洞管理工作流支持。跟踪漏洞状态,并根据漏洞发现日期和其他标准创建策略。安全风险 → 漏洞(高级过滤器)和准入控制规则。

  • 秘密审计。包含20多个秘密检查,并在镜像扫描和资源 YAML 中自动运行。结果将在资产 → 注册表和安全风险 → 合规性报告中显示通过/警告。

  • 为 SUSE® Security 用户提供细粒度的 RBAC。为 SUSE® Security 功能创建具有细粒度读/写权限的自定义角色。将用户分配到角色。设置 → 用户/角色。

  • 可扩展和分离的扫描器 Pod。扫描器 Pod 可以根据需要扩展或缩减,以扫描数千个镜像。控制器将扫描任务分配给每个可用的扫描器 Pod。重要提示:控制器不再包含扫描功能,因此需要至少部署一个扫描器 Pod。此外,4.x 扫描器与 3.x 控制器不向后兼容,3.x 外部扫描器的部署应更新为 neuvector/scanner:3。

  • 无服务器扫描和 AWS Lambda 的风险评估。使用无服务器 IDE 插件或在 AWS 账户中扫描 AWS Lambda 函数的漏洞。支持的语言包括 Java、Python、Ruby 和 node.js。通过评估Lambda函数的IAM角色权限进行风险评估,并在启用不必要的权限时发出警报。注意:无服务器安全需要单独的 SUSE® Security 许可证。

  • 在图像扫描期间执行合规检查。还包括部署 YAML 文件。这包括setuid、setgid、CIS(以root身份运行等)、20多个秘密检查。

  • 在仪表板中增强安全风险评分,能够启用/禁用哪些组对风险评分的贡献。策略 → 组 → 可评分复选框。这包括禁用系统容器的风险评分能力。

  • 增加了对命名空间受限用户访问分配注册表的支持。

  • 将扫描 syslog 通知分解为单独的 CVE syslog 事件。

  • 允许命名空间受限用户创建仅对有权访问该命名空间的用户(包括全局用户)可见的注册表。

  • 按命名空间从仪表板下载 PDF 报告。选择一个命名空间以过滤仪表板 PDF 报告。

  • CRD 导入行为已更改为忽略任何 '链接' 组的策略模式,如果链接组已存在,则保持策略模式不变。如果链接组不存在,将自动创建并在设置 → 配置中设置为默认的新服务模式。'链接' 组是指未被选择导出但被网络规则引用的组,因此与所选组一起导出。

Bug 修复

  • 注册表 URL 验证允许没有协议方案前缀的 URL。增加了协议模式验证。

  • 容器扫描失败 - 在某些情况下无法读取文件。修复错误 "无法读取文件 - 错误=<nil>"。

  • 特殊组 "节点" 的组成员列不准确。

  • 从 Docker EE 平台的整体风险评分中折扣(减少)入场控制(4 分),因为它不适用。

  • 仅扫描器控制器可能需要 15-20 分钟才能准备就绪。

  • 安全风险 > 漏洞 “严重性” 分布标题错误地标示为紧急。

  • 安全事件源工作负载:ingress 规则不匹配。在 OpenShift 3.11 平台上,工作负载:Ingress 出现意外的隐式违规。内部子网逻辑已改进,以处理大范围 IP 地址。

  • 执法者报告尝试连接 /var/run/docker.sock 时出错。如果连接丢失,添加恢复功能。

主要操作变更摘要

  • 4.x 扫描器与 3.2.0、3.2.1、3.2.2 控制器不兼容。如果您已部署 3.x 外部扫描器并希望它们继续运行,请确保使用版本 3 标签更新扫描器部署,例如 neuvector/scanner:3。或者,您可以升级到 3.2.3+。

  • 需要启用无服务器安全的许可证

  • 为 Kubernetes 和 OpenShift 添加了新的 clusterolebinding 和 clusterrole。

  • 控制器不再内置扫描器。您必须至少部署 1 个扫描器 Pod。

  • 主要部署示例中的 Yaml 文件更改:

    • 为扫描器 Pod 添加了部署(默认 2 个)

    • 扫描器 Pod 部署中有注释掉的本地扫描案例部分

    • 为扫描器的 CVE 数据库更新添加了更新器 Pod 的 cron 作业

从 3.x 升级到 4.0

对于 Helm 部署,请将 helm chart 更新到新版本 1.6.0。然后,标准更新到 4.0.0 即可(例如,helm upgrade my-release --set imagePullSecrets=regsecret-neuvector,tag=4.0.0 ./neuvector-helm/)。

Kubernetes(对于 OpenShift,请使用等效的 oc 命令)

  • 从设置中备份配置 → 配置

  • 创建两个新的绑定

    • kubectl 创建 clusterrolebinding neuvector-binding-view — clusterrole=view — serviceaccount=neuvector:default

    • kubectl 创建 rolebinding neuvector-admin — clusterrole=admin — serviceaccount=neuvector:default -n neuvector

  • 将 Controller、Manager、Enforcer YAML 文件的版本标签设置为 4.0.0 并应用更新。

  • 创建 扫描器 pods

  • 创建或更新 扫描器 cron 作业

  • 等待几分钟以完成控制器的滚动更新,并在登录后检查所有设置 …​。