springboot actuator 漏洞修復(fù)實踐

  • Spring Boot Actuator 模塊提供了生產(chǎn)級別的功能,比如健康檢查,審計,指標(biāo)收集,HTTP 跟蹤等,幫助我們監(jiān)控和管理Spring Boot 應(yīng)用
  • 這個模塊是一個采集應(yīng)用內(nèi)部信息暴露給外部的模塊,上述的功能都可以通過HTTP 和 JMX 訪問
  • 因為暴露內(nèi)部信息的特性,Actuator 也可以和一些外部的應(yīng)用監(jiān)控系統(tǒng)整合(Prometheus, Graphite, DataDog, Influx, Wavefront, New Relic等)
  • 在 Actuator 啟用的情況下,如果沒有做好相關(guān)權(quán)限控制,非法用戶可通過訪問默認的執(zhí)行器端點(endpoints)來獲取應(yīng)用系統(tǒng)中的監(jiān)控信息
  • 本文著重于介紹在開啟Actuator情況下,且服務(wù)有接入Prometheus、k8s健康檢查情況下配置的實踐

一、springboot 2.0

  • 示例修改如下
management:
  endpoint:
    env:
      keys-to-sanitize: non
    health:
      show-details: always
  endpoints:
    web:
      base-path: /
      exposure:
        include: health, prometheus # 開放/health、/prometheus接口
  • 這種情況下僅將/health、/prometheus接口開放,用于Prometheus、k8s健康檢查

二、springboot 1.5

  • 示例修改如下
management:
  security:
    enabled: false
  endpoints:
    web:
      base-path: /
endpoints:
  # 禁用端點
  enabled: false
  beans:
    enabled: false
  # 開放/prometheus接口
  prometheus:
    enabled: true
  # 開放/health接口
  health:
    enabled: true
  • 這種情況下僅將/health、/prometheus接口開放,用于Prometheus、k8s健康檢查
  • “management.security.enabled” 有部分教程建議設(shè)置為“true”,我這邊實踐的結(jié)果是,設(shè)置為true后,調(diào)用/prometheus接口會報“full authentication is required to access this resource”錯誤,無法正常獲取到信息

三、參考資料

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容