Myluzh Blog

Prometheus blackbox-exporter自定义User-Agent

发布时间: 2024-10-29 文章作者: myluzh 分类名称: Kubernetes 朗读文章


0x01 前言
在使用blackbox-exporter进行黑盒监控地址的时候,请求的URL被WAF拦截下来了,原因是blackbox-exporter请求时候UA太像扫描器了,"User-Agent: Go-http-client/1.1",导致被waf拦截了请直接返回403,实际状态码应该是200。
可以修改blackbox-exporter的请求UA,然后在waf上放行UA白名单。

0x02 修改blackbox-exporter请求的UA
1. 找到配置文件
blackbox-exporter 的配置文件通常名为 config.yml,可以在安装目录下找到。该文件定义了不同的探测模块及其相关参数。

2. 编辑配置文件
使用文本编辑器打开 config.yml 文件。您需要找到或添加 modules 部分,然后在其中定义 http_2xx 模块的配置。

3. 修改 http_2xx 模块的配置
在 http_2xx 模块中,您可以添加或修改 http 请求的 headers 字段,以设置自定义的 User-Agent。以下是修改后的示例配置:
"modules":
  "http_2xx":
    "http":
      "headers":
        "User-Agent": "Mozilla/5.0 (compatible; Prometheus Blackbox)"
      "preferred_ip_protocol": "ip4"
    "prober": "http"
  "http_post_2xx":
    "http":
      "method": "POST"
      "preferred_ip_protocol": "ip4"
    "prober": "http"
  "irc_banner":
    "prober": "tcp"
    "tcp":
      "preferred_ip_protocol": "ip4"
      "query_response":
      - "send": "NICK prober"
      - "send": "USER prober prober prober :prober"
      - "expect": "PING :([^ ]+)"
        "send": "PONG ${1}"
      - "expect": "^:[^ ]+ 001"
  "pop3s_banner":
    "prober": "tcp"
    "tcp":
      "preferred_ip_protocol": "ip4"
      "query_response":
      - "expect": "^+OK"
      "tls": true
      "tls_config":
        "insecure_skip_verify": false
  "ssh_banner":
    "prober": "tcp"
    "tcp":
      "preferred_ip_protocol": "ip4"
      "query_response":
      - "expect": "^SSH-2.0-"
  "tcp_connect":
    "prober": "tcp"
    "tcp":
      "preferred_ip_protocol": "ip4"

标签: waf Prometheus blackbox-exporter user-agent ua

发表评论