Spring Boot Actuator配置错误导致监控数据泄露的踩坑记录
在Spring Boot应用监控实践中,我们曾因Actuator配置不当导致敏感监控数据泄露,特此记录以警示同行。
问题背景
某项目使用Spring Boot 2.5版本,集成Actuator用于应用健康检查和监控。初始配置中,我们启用了所有端点并设置了默认的访问规则。
配置错误代码
management:
endpoints:
web:
exposure:
include: "*"
endpoint:
health:
show-details: ALWAYS
上述配置存在严重安全隐患:
exposure.include: "*"暴露所有端点,包括敏感的env、configprops等show-details: ALWAYS暴露完整的健康检查详情
复现步骤
- 启动应用后访问
http://localhost:8080/actuator - 查看返回的端点列表,发现包括
/env,/configprops等敏感路径 - 访问具体路径如
http://localhost:8080/actuator/env可获取完整环境变量
正确配置方案
management:
endpoints:
web:
exposure:
include: "health,info,metrics"
endpoint:
health:
show-details: WHEN_AUTHENTICATED
建议仅暴露必要端点,如健康检查、指标等核心监控功能,避免泄露系统内部配置信息。

讨论