监控系统安全要先收紧入口
监控系统安全要先收紧入口可观测性系统保存着服务拓扑、资源使用和数据源配置安全设计不能只放在仪表盘之后。Prometheus、Grafana 和各类 Exporter 一旦暴露在不应访问的网络范围内攻击面并不小于普通业务系统。先盘点入口、认证方式和服务账号权限再决定哪些 API 可以开启。敏感配置应交给受管的密钥系统或运行时注入不要写进示例、仓库或命令历史。下面的配置片段应按本地版本和安全策略验证后再使用。Prometheus/Grafana 监控体系安全架构收紧为了将监控体系暴露面降至最低必须建立包含 TLS 传输加密、 Basic Auth / OAuth2 认证以及 API 风险拦截在内的三道安全防线。第一防线Prometheus 通信加密与 Basic Auth 配置默认情况下Prometheus 的 HTTP Server 既不支持 TLS也不提供密码验证。从 Prometheus 2.24.0 开始官方原生支持通过web-config.yml配置 HTTPS 与 Basic Auth。1. 生成加密密码 Hash使用bcrypt将管理员密码进行哈希处理# 安装 python bcrypt 库并生成密文 python3 -c import bcrypt; print(bcrypt.hashpw(bchange-me, bcrypt.gensalt()).decode()) # 输出: $2b$12$e8r6pQ5Z2g... (保存此 Hash)2. 编写web-config.yml配置文件# /etc/prometheus/web-config.yml tls_server_config: cert_file: /etc/prometheus/certs/prometheus.crt key_file: /etc/prometheus/certs/prometheus.key client_auth_type: RequireAndVerifyClientCert client_ca_file: /etc/prometheus/certs/ca.crt basic_auth_users: admin: $2b$12$e8r6pQ5Z2g... # 上一步生成的 bcrypt 密文3. 启动 Prometheus 并应用安全配置prometheus \ --config.file/etc/prometheus/prometheus.yml \ --web.config.file/etc/prometheus/web-config.yml \ --web.enable-lifecyclefalse \ --no-web.enable-admin-api--no-web.enable-admin-api彻底关闭删除时序数据的危险 API。--web.enable-lifecyclefalse禁止通过未经授权的 HTTP 请求触发配置重载。第二防线Grafana 凭据加固与数据源安全隔离Grafana 是监控数据的最终展现层也是数据源密码的集中存储库。1. 禁用默认 Admin 弱密码与匿名访问编辑grafana.ini配置文件[security] # 修改默认管理员用户名和密码 admin_user sys_admin_prod admin_password # 通过安全的部署配置或密钥系统注入 # 禁用默认秘钥使用强随机字符串用于 Cookie 加密 secret_key # 使用随机值并由密钥系统管理 [auth.anonymous] # 绝对禁止生产环境开启匿名访问 enabled false [users] # 禁止普通用户自行注册账户 allow_sign_up false2. 保护数据源中的秘钥在配置 Prometheus/InfluxDB/MySQL 数据源时绝不要使用具有root或写权限的数据库账户。为 Grafana 单独创建“只读Read-Only”权限的专用账号。第三防线Exporter 暴露面收敛与白名单控制例如node_exporter或kube-state-metrics如果直接暴露在公网攻击者可以轻易收集到宿主机的内核版本、磁盘挂载点和进程列表。安全规范禁止 Exporter 监听0.0.0.0限制 Exporter 仅监听内网 IP如127.0.0.1或 Pod 内网网卡。Prometheus 抓取加密在prometheus.yml中使用 Bearer Token 抓取 Targetscrape_configs: - job_name: node_exporter scheme: https tls_config: ca_file: /etc/prometheus/certs/ca.crt insecure_skip_verify: false bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token static_configs: - targets: [10.244.1.15:9100]现场安全核查诊断命令行指南运维人员应当定期对在线监控系统执行以下安全渗透式自我诊断诊断 1验证 Prometheus Admin API 是否泄露在终端发起测试请求确认危险 API 是否已被安全拦截# 尝试调用删除时序 API (如果防护生效必须返回 403/404 或 Unauthorized) curl -I https://prometheus.internal.net:9090/-/ready # 预期未带授权信息时不应获得受保护接口的数据。诊断 2核查 Grafana 数据源中是否存在明文密码暴露检查 Grafana 数据库中data_source表的加密情况# 查看 Grafana SQLite/MySQL 数据库中的敏感字段是否全量加密 sqlite3 /var/lib/grafana/grafana.db \ SELECT name, type, access, basic_auth_user FROM data_source;诊断 3检查 Prometheus 配置文件语法与安全规范使用promtool校验配置文件的合法性# 使用 promtool 检查配置文件 promtool check config /etc/prometheus/prometheus.yml监控体系安全加固 CheckList对外入口应有认证、加密和网络访问控制管理 API 仅在明确需要且受保护时开启。Grafana 等组件访问下游时使用最小权限的专用身份密钥不落入版本库。Exporter 放在受控网络内并定期检查监听地址、抓取身份与暴露的指标内容。

相关新闻

交付流水线不能只依赖单元测试

交付流水线不能只依赖单元测试

交付流水线不能只依赖单元测试单元测试通过只能说明被覆盖的逻辑符合预期,不能证明真实依赖、协议和部署配置也能正常协作。尤其是升级 Redis、数据库驱动或消息客户端时,Mock 能验证调用路径,却不一定能发现序列化、命令语义或认证方式的变化…

2026/11/10 17:25:54 阅读更多 →
从大模型到AI Agent:RAG与工具调用的工程实践指南

从大模型到AI Agent:RAG与工具调用的工程实践指南

之前看到不少人转发一句话:“People who tell you AI is changing everything are lying.”(那些告诉你“AI正在改变一切”的人在撒谎)。这句话放在社交平台上很吸睛,也容易引发站队。但作为一个长期做后端开发、也持续跟进 AI 应…

2026/10/25 11:58:22 阅读更多 →
低功耗无线MCU与蓝牙5.3 LE:协议新特性及选型实战指南

低功耗无线MCU与蓝牙5.3 LE:协议新特性及选型实战指南

在消费电子和工业物联网的圈子里摸爬滚打这些年,我越来越觉得一件事:低功耗无线连接已经从"能用就行"变成了产品差异化的核心战场。最近两年评估过不少项目,只要涉及可穿戴设备、电子价签、智能门锁、医疗监测这类电池供电的场景&a…

2026/11/9 19:15:30 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/9 14:01:10 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/9 14:56:39 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/10 2:03:25 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/10 16:14:15 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/10 12:51:50 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/9 14:01:11 阅读更多 →

日新闻

周新闻

月新闻