vulhub与Prometheus集成:漏洞环境监控指标配置

vulhub与Prometheus集成:漏洞环境监控指标配置

【免费下载链接】vulhub 【免费下载链接】vulhub 项目地址: https://gitcode.com/gh_mirrors/vul/vulhub

引言

在网络安全领域,及时发现和响应漏洞至关重要。vulhub作为一个开源的漏洞环境集合,为安全研究人员和开发人员提供了丰富的漏洞测试环境。而Prometheus作为一款强大的监控工具,可以帮助我们实时监控这些漏洞环境的运行状态。本文将详细介绍如何将vulhub与Prometheus集成,配置漏洞环境的监控指标。

Prometheus简介

Prometheus是一个开源的系统监控和警报工具包,最初由SoundCloud开发。它采用了时间序列数据模型,通过HTTP协议采集指标数据,并提供了灵活的查询语言和可视化界面。Prometheus的主要特点包括:

  • 多维数据模型:通过键值对的方式标识时间序列数据
  • 灵活的查询语言PromQL:可以对采集的指标数据进行复杂的查询和聚合操作
  • 无依赖的分布式存储:每个服务器都是独立的,不需要分布式存储
  • 基于HTTP的拉取方式:可以通过HTTP协议主动拉取指标数据
  • 支持推送网关:用于采集瞬时任务的指标数据
  • 多种可视化方式:支持Grafana等可视化工具

vulhub中Prometheus相关配置

在vulhub项目中,我们发现了一些与Prometheus相关的配置文件。例如,在apisix/CVE-2021-45232/dashboard.yml文件中,配置了Prometheus插件:

plugins:                          # plugin list (sorted in alphabetical order)
  - api-breaker
  - authz-keycloak
  - basic-auth
  - batch-requests
  - consumer-restriction
  - cors
  # - dubbo-proxy
  - echo
  # - error-log-logger
  # - example-plugin
  - fault-injection
  - grpc-transcode
  - hmac-auth
  - http-logger
  - ip-restriction
  - jwt-auth
  - kafka-logger
  - key-auth
  - limit-conn
  - limit-count
  - limit-req
  # - log-rotate
  # - node-status
  - openid-connect
  - prometheus
  - proxy-cache
  - proxy-mirror
  - proxy-rewrite
  - redirect
  - referer-restriction
  - request-id
  - request-validation
  - response-rewrite
  - serverless-post-function
  - serverless-pre-function
  # - skywalking
  - sls-logger
  - syslog
  - tcp-logger
  - udp-logger
  - uri-blocker
  - wolf-rbac
  - zipkin
  - server-info
  - traffic-split

apisix/CVE-2021-45232/dashboard.yml

这个配置文件中启用了Prometheus插件,说明vulhub中的某些漏洞环境已经支持Prometheus监控。

集成步骤

1. 安装Prometheus

首先,我们需要安装Prometheus。可以从Prometheus官方网站下载最新版本的Prometheus,也可以通过包管理器安装。这里我们以Docker方式安装为例:

docker pull prom/prometheus
docker run -d -p 9090:9090 --name prometheus prom/prometheus

2. 配置Prometheus

接下来,我们需要配置Prometheus以采集vulhub漏洞环境的指标数据。创建一个prometheus.yml配置文件:

global:
  scrape_interval: 15s

scrape_configs:
  - job_name: 'vulhub'
    static_configs:
      - targets: ['vulhub-environment-1:9100', 'vulhub-environment-2:9100']

在这个配置中,我们定义了一个名为'vulhub'的作业,指定了要采集指标数据的目标地址。这些目标地址应该是vulhub中各个漏洞环境的地址和Prometheus指标暴露端口。

3. 配置vulhub漏洞环境

对于vulhub中的每个漏洞环境,我们需要确保其已经启用了Prometheus指标暴露功能。以apisix/CVE-2021-45232为例,我们已经在dashboard.yml中看到Prometheus插件被启用。对于其他漏洞环境,我们需要检查其配置文件,确保Prometheus相关的插件或模块被正确配置。

例如,在某些使用Docker Compose的漏洞环境中,我们可能需要添加Prometheus相关的服务和配置。以一个假设的docker-compose.yml为例:

version: '3'

services:
  vulnerability-environment:
    build: .
    ports:
      - "8080:8080"
    expose:
      - "9100"
    environment:
      - PROMETHEUS_ENABLED=true
      - PROMETHEUS_PORT=9100

  prometheus-exporter:
    image: prom/node-exporter
    ports:
      - "9100:9100"
    volumes:
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      - /:/rootfs:ro
    command:
      - '--path.procfs=/host/proc'
      - '--path.sysfs=/host/sys'
      - '--collector.filesystem.ignored-mount-points=^/(sys|proc|dev|host|etc)($$|/)'

在这个示例中,我们添加了一个prometheus-exporter服务,用于暴露漏洞环境的系统指标。同时,在漏洞环境服务中,我们通过环境变量启用了Prometheus指标暴露功能。

4. 启动并验证集成

完成上述配置后,我们可以启动Prometheus和vulhub漏洞环境:

docker start prometheus
cd vulhub/apisix/CVE-2021-45232
docker-compose up -d

然后,访问Prometheus的Web界面(通常在http://localhost:9090),在"Targets"页面中可以查看vulhub漏洞环境的指标采集状态。如果一切正常,我们应该能够看到所有目标都处于"UP"状态。

在"Graph"页面中,我们可以使用PromQL查询和可视化漏洞环境的指标数据。例如,查询某个漏洞环境的CPU使用率:

rate(node_cpu_seconds_total{job="vulhub", instance="vulhub-environment-1:9100"}[5m])

常用监控指标

以下是一些常用的vulhub漏洞环境监控指标:

  1. 系统指标:

    • node_cpu_seconds_total:CPU使用时间
    • node_memory_MemTotal_bytes:总内存
    • node_memory_MemFree_bytes:空闲内存
    • node_disk_io_bytes_total:磁盘IO字节数
  2. 应用指标(根据具体漏洞环境可能有所不同):

    • http_requests_total:HTTP请求总数
    • http_request_duration_seconds:HTTP请求持续时间
    • process_cpu_seconds_total:进程CPU使用时间
    • process_memory_bytes:进程内存使用量

结论

通过将vulhub与Prometheus集成,我们可以实时监控漏洞环境的运行状态,及时发现潜在的问题和异常。本文介绍了集成的基本步骤和常用监控指标,希望能为安全研究人员和开发人员提供帮助。

在实际使用过程中,我们还可以结合Grafana等可视化工具,创建更加直观和美观的监控仪表盘,进一步提升漏洞环境的监控效果。

最后,建议定期更新vulhub和Prometheus到最新版本,以获取最新的漏洞环境和监控功能。

【免费下载链接】vulhub 【免费下载链接】vulhub 项目地址: https://gitcode.com/gh_mirrors/vul/vulhub

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值