单位网站建设程序,广东省建设信息中心,数码网站建设图片,wordpress仿卢松松node-exporter被检测出来pprof调试信息泄露漏洞 说在前面解决方法结语 说在前面
惯例开篇吐槽#xff0c;有些二五仔习惯搞点自研的安全扫描工具#xff0c;然后加点DIY元素#xff0c;他也不管扫的准不准#xff0c;就要给你报个高中危的漏洞#xff0c;然后就要去修复有些二五仔习惯搞点自研的安全扫描工具然后加点DIY元素他也不管扫的准不准就要给你报个高中危的漏洞然后就要去修复这次遇到个其他的就是node-exporter默认引入了pprof做一些性能指标的采集然后二五仔的漏洞扫描工具就给你扫出来这么一条奇葩漏洞 先不说处理方法去github看了一圈确实有人提了issue 看到是中文我就大概知道这些二五仔可能是从同一个货源采购的安全扫描工具对于这个问题官方在另一个issue中提了一下
node-exporter[issues]-1911 大概意思是开发者并没有发现pprof会泄漏啥信息issue提出者使用的是gosec工具做的静态安全扫描可能产生很多编译期间的误报然后社区达成一致的结论是和prometheus社区保持一致转而使用codeql工具。 解决方法
但是为了能过所谓的安全检查还是要处理这个事情处理之前打开http://{node-exporter-ip}:{port}/debug/pprof的访问链接会出现这样的内容 原因也很简单就是因为在node-exporter.go中引用了pprof包我们要做的就是把引用删除重新编译
import (fmtstdlog lognet/http_ net/http/pprof // 删除这一行osos/userruntimesortgithub.com/prometheus/common/promloggithub.com/prometheus/common/promlog/flaggithub.com/go-kit/loggithub.com/go-kit/log/levelgithub.com/prometheus/client_golang/prometheuspromcollectors github.com/prometheus/client_golang/prometheus/collectorsgithub.com/prometheus/client_golang/prometheus/promhttpgithub.com/prometheus/common/versiongithub.com/prometheus/exporter-toolkit/webgithub.com/prometheus/exporter-toolkit/web/kingpinflaggithub.com/prometheus/node_exporter/collectorkingpin gopkg.in/alecthomas/kingpin.v2
)把二进制包替换掉原来的然后重启一下再访问/debug/pprof就会直接跳到Metrics主页了 结语
这种操作就是关闭了pprof性能指标的采集适用于大部分版本的node-exporter其他类似的go程序也可以这样进行操作。