欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

node-exporter被檢測出來pprof調試信息泄露漏洞問題

 更新時間:2024年04月12日 11:05:19   作者:Meepoljd  
這篇文章主要介紹了node-exporter被檢測出來pprof調試信息泄露漏洞問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

說在前面

慣例開篇吐槽,有些仔仔習慣搞點自研的安全掃描工具,然后加點DIY元素,他也不管掃的準不準,就要給你報個高中危的漏洞,然后就要去修復,這次遇到個其他的就是node-exporter默認引入了pprof做一些性能指標的采集,然后仔仔的漏洞掃描工具就給你掃出來這么一條奇葩漏洞:

先不說處理方法,去github看了一圈,確實有人提了issue:

看到是中文我就大概知道這些仔仔可能是從同一個貨源采購的安全掃描工具,對于這個問題官方在另一個issue中提了一下:

node-exporter[issues]-1911

大概意思是開發(fā)者并沒有發(fā)現(xiàn)pprof會泄漏啥信息,issue提出者使用的是gosec工具做的靜態(tài)安全掃描,可能產生很多編譯期間的誤報,然后社區(qū)達成一致的結論是和prometheus社區(qū)保持一致,轉而使用codeql工具。

解決方法

但是為了能過所謂的安全檢查還是要處理這個事情,處理之前,打開http://{node-exporter-ip}:{port}/debug/pprof的訪問鏈接會出現(xiàn)這樣的內容;

原因也很簡單,就是因為在node-exporter.go中引用了pprof包,我們要做的就是把引用刪除,重新編譯:

import (
	"fmt"
	stdlog "log"
	"net/http"
	_ "net/http/pprof" // 刪除這一行
	"os"
	"os/user"
	"runtime"
	"sort"

	"github.com/prometheus/common/promlog"
	"github.com/prometheus/common/promlog/flag"

	"github.com/go-kit/log"
	"github.com/go-kit/log/level"
	"github.com/prometheus/client_golang/prometheus"
	promcollectors "github.com/prometheus/client_golang/prometheus/collectors"
	"github.com/prometheus/client_golang/prometheus/promhttp"
	"github.com/prometheus/common/version"
	"github.com/prometheus/exporter-toolkit/web"
	"github.com/prometheus/exporter-toolkit/web/kingpinflag"
	"github.com/prometheus/node_exporter/collector"
	kingpin "gopkg.in/alecthomas/kingpin.v2"
)

把二進制包替換掉原來的,然后重啟一下,再訪問/debug/pprof就會直接跳到Metrics主頁了:

結語

這種操作就是關閉了pprof性能指標的采集,適用于大部分版本的node-exporter,其他類似的go程序也可以這樣進行操作。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Go語言接口用法實例

    Go語言接口用法實例

    這篇文章主要介紹了Go語言接口用法,實例分析了Go語言接口的功能、定義及使用技巧,需要的朋友可以參考下
    2015-02-02
  • Golang配置解析神器go?viper使用詳解

    Golang配置解析神器go?viper使用詳解

    viper是一個很完善的Go項目配置解決方案,很多著名的開源項目都在使用,比如Hugo,Docker都使用了該庫,使用viper可以讓我們專注于自己的項目代碼,而不用自己寫那些配置解析代碼,本文給大家介紹Golang配置解析神器go?viper使用,感興趣的朋友一起看看吧
    2022-05-05
  • 深入理解Go語言對象池

    深入理解Go語言對象池

    對象池是一種在編程中用于優(yōu)化資源管理的技術,本文主要介紹了深入理解Go語言對象池,對象池通常通過sync.Pool包或自定義數(shù)據結構實現(xiàn),下面就來介紹一下
    2024-01-01
  • Go?連接?MySQL之?MySQL?預處理詳解

    Go?連接?MySQL之?MySQL?預處理詳解

    Go語言提供了豐富的庫和工具,可以方便地連接MySQL數(shù)據庫。MySQL預處理是一種提高數(shù)據庫操作效率和安全性的技術。Go語言中的第三方庫提供了MySQL預處理的支持,通過使用預處理語句,可以避免SQL注入攻擊,并且可以提高數(shù)據庫操作的效率。
    2023-06-06
  • 在Golang中使用iota案例詳解

    在Golang中使用iota案例詳解

    在Go語言中,iota是一個預定義的標識符,用于在常量聲明中生成連續(xù)的遞增值,iota的值從0開始,每次在常量聲明中使用時遞增,本就給大家講解一下Golang中iota的使用案例,感興趣的同學跟著小編一起來看看吧
    2023-07-07
  • golang?run時報undefined錯誤的解決

    golang?run時報undefined錯誤的解決

    這篇文章主要介紹了golang?run時報undefined錯誤的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • golang?metrics各個指標含義講解說明

    golang?metrics各個指標含義講解說明

    這篇文章主要為大家介紹了golang?metrics各個指標含義講解說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • 關于Golang標準庫flag的全面講解

    關于Golang標準庫flag的全面講解

    這篇文章主要介紹了關于Golang標準庫flag的全面講解,這個庫的代碼量只有1000行左右,卻提供了非常完善的命令行參數(shù)解析功能,更多相關內容需要的朋友可以參考一下
    2022-09-09
  • Go語言斷言和類型查詢的實現(xiàn)

    Go語言斷言和類型查詢的實現(xiàn)

    Go語言變量類型包含基礎類型和復合類型,類型斷言一般是對基礎類型的處理,本文主要介紹了Go語言斷言和類型查詢的實現(xiàn),感興趣的可以了解一下
    2024-01-01
  • 在goland中讀取tpl文件的圖文操作

    在goland中讀取tpl文件的圖文操作

    這篇文章主要介紹了在goland中讀取tpl文件的圖文操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12

最新評論