关于rancher:通过-Rancher-实现-NeuVector-安全事件监控和告警

8次阅读

共计 2401 个字符,预计需要花费 7 分钟才能阅读完成。

作者简介
涂家英,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 内容如下:

<pre data-tool="mdnice 编辑器" style="margin: 10px 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; border-radius: 5px; box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;">`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` </pre>

配置实现后,能够通过 Rancher 进入 prometheus 的页面中查看 target 是否生成:

确定 exporter 数据采集和传输失常后,能够在 prometheus 的页面查看到 NeuVector 的相干数据:

下载 Grafana Dashboard 文件,地址为:https://gitee.com/leotuss/neu…

将 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 实现单点登录等。

正文完
 0