Prometheus网络通信安全核心在于强制启用TLS加密,覆盖Web接口、抓取目标、远程写入及Alertmanager全链路;需通过web-config.yml配置PEM证书、TLS版本与密码套件,并严格管理证书生命周期。
Prometheus 的网络通信安全核心在于 TLS 加密,它不是可选附加项,而是生产环境的强制底线。没有 TLS,所有指标拉取、API 访问、管理接口的数据都在明文传输,相当于把监控拓扑、目标地址、告警规则甚至凭证直接摊开在网络里。
不是只给 Web UI 加 HTTPS 就算完成——真正需要加密的是全部对外通信链路:
从 Prometheus 2.24 开始,原生支持通过 web-config.yml 启用服务端 TLS:
600)min_version 建议设为 TLS12,禁用 TLS 1.0/1.1;max_version 可设为 TLS13
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,避免使用 CBC 模式或 SHA-1--web.config.file=/etc/prometheus/web-config.yml,否则配置不生效很多团队只加固了 Server,却忽略了反向通信的安全性:
scrape_configs.tls_config.ca_file 中提供可信 CA 证书,不能设 insecure_skip_verify: true
ca_file 外,还需配置 cert_file 和 key_file,且证书需被目标服务信任tlsConfig 必须正确引用 Secret,且该 Secret 需挂载到 Prometheus Pod 的对应路径TLS 安全性不仅取决于配置,更依赖证书生命周期管理:
/etc/prometheus/tls/),禁止放入配置仓库或镜像层prometheus_tls_certificate_expiration_seconds 实现自动告警