风险:Actuator 端点会暴露系统内部状态,如 heapdump(可能泄露密钥、密码)、env(环境变量)、trace(用户请求信息)等。攻击者可能利用泄露的信息进一步渗透。

修复方法

     1、引入安全依赖:在项目中引入 Spring Security。

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-actuator</artifactId>
            </dependency>

     2、配置访问权限:在 application.yml 中关闭 Actuator 的访问权限。

management:
  server:
    port: -1

表示将 Actuator 管理服务器的端口设置为 -1。根据 Spring Boot 的约定,-1 是一个特殊值,代表禁用通过 HTTP 暴露所有 Actuator 端点。这意味着:即使你在 management.endpoints.web.exposure.include 中配置了要暴露的端点,它们也不会通过任何 HTTP 端口(无论是应用主端口还是独立的管理端口)对外提供服务。所有原本可通过 /actuator/xxx 访问的路径都将返回 404 或连接拒绝。

作用:

   由于 Actuator 端点未授权访问造成的。使用 management.server.port: -1 可以立即消除所有 HTTP 暴露风险,攻击者无法再通过 HTTP 获取任何敏感信息(如 heapdump、env 等)。

适合以下场景:

应用本身不需要通过 HTTP 对外提供健康检查、指标收集等功能。

你仅通过 JMX 或其他内部机制监控应用状态。

作为临时应急措施,在配置更精细的安全策略前先关闭暴露面。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐