暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

通过 Rancher 实现 NeuVector 安全事件监控和告警

Rancher by SUSE 2023-02-14
378



作者简介

涂家英,SUSE 资深架构师,专注 Cloud-Native 相关产品和解决方案设计,在企业级云原生平台建设领域拥有丰富的经验。

NeuVector 是 SUSE 开源的端到端的全生命周期容器安全管理平台
,目前 NeuVector 默认只在平台内对安全事件进行提示,并没有直观的对外输出口。站在告警角度来说缺少主动性,本文将介绍如何通过 Rancher 的监控功能实现 NeuVector 安全事件的监控和告警。


—— 监控及展示 ——

整体流程是通过 exporter 采集指标数据,然后通过 ServiceMonitor 实现数据的关联,最后通过 Grafana 和 AlertManager 实现数据的展示和告警:


Rancher 平台中开启监控并安装 NeuVector 服务,Rancher 从 2.6.5 版本开始将 NeuVector 集成在平台中,用户可以在集群工具中直接部署使用:



NeuVector 原生提供了相应的 exporter 服务来采集相应的指标,镜像为:neuvector/prometheus-exporter
,端口为:8068
,我们可以直接通过 Rancher 的 UI 部署到集群system
项目下的cattle-neuvector-system
命名空间中:



部署完成后,我们需要在自动生成的 service 中添加一个 Label,便于 ServiceMonitor 进行关联:



在监控中配置相关的 ServiceMonitor:



具体 Yaml 内容如下:

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  labels:
    app: rancher-monitoring-prometheus # 配置一个prometheus服务的label,可以通过Rancher UI查询
    nv: exporter # 建议和svc的label一致
  name: nv-exporter # 名称建议和svc一致
  namespace: cattle-neuvector-system #命名空间和svc的一致
spec:
  endpoints:
  - interval: 10s # 数据同步周期
    path: / # nv exporte的指标路径
    port: 8068tcp # endpoints中的port名称一致
  namespaceSelector: # 匹配svc的namespace
    matchNames:
    - cattle-neuvector-system
  selector: # 匹配svc的label
    matchLabels:
      nv: exporter


配置完成后,可以通过 Rancher 进入 prometheus 的页面中查看 target 是否生成:



确定 exporter 数据采集和传输正常后,可以在 prometheus 的页面查看到 NeuVector 的相关数据:



下载 Grafana Dashboard 文件,地址为:https://gitee.com/leotuss/neuvector/blob/master/monitor/NV-dashboard.json


将 Dooashboard json 文件内容添加到 Grafana 中:



Rancher 提供的监控中 Grafana 默认账号密码为:admin/prom-operator


添加完成后即可查看相关的集群安全信息:



—— 告警 ——


通常来说,我们需要的告警信息为集群中的安全事件,所以可以基于nv_log_events
这个指标实现,在 Rancher 的监控中创建一个Prometheus Rule



主要关注的配置:

  • PromQL:配置为nv_log_event
    即可,这样当产生安全事件后,就会触发告警

  • 键/值:需要定义,方便 AlertmanagerConfig 进行关联

  • 消息:定义告警消息,可以按照需求定义,如图中toname
    代表触发安全事件的 pod 名称、name
    代表安全事件的名称


配置完 PrometheusRule 后,我们可以配置 AlertmanagerConfig,实现对外告警,在 Rancher 中 AlertmanagerConfig 由两部分组成:

  • 接收器(Receivers):接受告警信息的平台

  • 路由(Route):连接 Receivers 和告警规则的配置


接收器按照实际情况配置即可,路由配置需要选择Receiver
、配置匹配告警规则的 Label 以及相应的告警时间配置:



配置完成后,当集群出现安全事件后,会在 Rancher 的监控服务页面中展示触发的告警信息,并发送信息到后端配置的接收服务中



本示例中没有配置相应的 Receivers,大家可以按照自己的实际环境进行配置,Rancher 提供的告警支持多种接收器,如 Slack、Email、PagerDuty、Opsgenie、Webhook、Teams、SMS、自定义。


—— 总结 ——

NeuVector 作为一款企业级端到端的云原生容器防护平台,提供了基于零信任的、全面的安全防护能力,如:CICD 嵌入式扫描、准入控制、运行时网络安全防护、运行时进程防护、运行时敏感文件防护等。在开放性上 NeuVector 也实现了良好的兼容性,如本文中提到的使用 Prometheus 实现安全事件的监控和告警,还有对接 Syslog、Webhook 或 Splunk 实现平台日志接收,对接 LDAP、AD、SAML 或 OpenID 实现单点登录等。




往期推荐

Rancher Prime 2.7:向企业级容器管理平台深度进化

容器时代的安全防护与供应链完美融合

Rancher 全球化部署最佳实践


 
—— 加入社区 ——



About Rancher


Rancher 是一个开源的企业级 Kubernetes 管理平台,实现了 Kubernetes 集群在混合云+本地数据中心的集中部署与管理。Rancher 一向因操作体验的直观、极简备受用户青睐,被 Forrester 评为“ 2020 年多云容器开发平台领导厂商”以及“ 2018 年全球容器管理平台领导厂商”,被 Gartner 评为“2017年全球最酷的云基础设施供应商”。


目前 Rancher 在全球拥有超过三亿的核心镜像下载量,并拥有包括中国联通、中国平安、中国人寿、上汽集团、三星、施耐德电气、西门子、育碧游戏、LINE、WWK 保险集团、澳电讯公司、德国铁路、厦门航空、新东方等全球著名企业在内的共 40000 家企业客户。


2020 年 12 月,SUSE 完成了对 RancherLabs 的收购,Rancher 成为了 SUSE "创新无处不在 (Innovate Everywhere) "企业愿景的关键组成部分。SUSE 和 Rancher 共同为客户提供了无与伦比的自由和所向披靡的创新能力,通过混合云IT基础架构、云原生转型和IT运维解决方案,简化、现代化并加速企业数字化转型,推动创新无处不在。


当前,SUSE 及 Rancher 在中国大陆的业务由数硕软件(北京)有限公司承载。SUSE 在国内拥有优秀的研发团队、技术支持团队和销售团队,将结合Rancher 领先的云原生技术,为中国的企业客户提供更加及时和可信赖的技术支撑及服务保障。


文章转载自Rancher by SUSE,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论