Spring Boot actuator框架的一些安全考虑

  微服务铺天盖地的来,引入Spring Boot actuator框架是为了服务作更好的监控与性能查看,Spring Boot actuator是一个为原生端点增加了更多的指标和度量信息,分为应用配置类,度量指标类。操作控制类,但是假如由于开发人员的疏忽把这些监控的请求地址都暴露出来了,攻击者会通过服务的配置信息对服务进行攻击,例如当我们访问/mappings这个返回这个服务控制器映射关系报告,可以查询到所有的服务接口信息包括参数信息,这样太可怕了 都看到了。

那么这么解决呢

1.修改原始的访问路径(在Spring Cloud Eureka环境中)

endpoints.info.path=/appInfo
endpoint.health.path=/checkHealth

eureka.instance.statusPageUrlPath=/${endpoints.info.path}
eureka.instance.healthCheckUrlPath=/${endpoint.health.path}
2.角色管理 

  上面的思路还是感觉不妥只是重定向了~

   思路是我把所有的actuator的访问地址赋予一个角色,这个角色在赋予人 这个人就拥有访问autuator的权限了。

可以使用Spring Cloud Security权限框架 和Shrio权限框架,当然可以写过滤器和拦截器都只是前两者更方便一些。

以Shrio配置为例

filterChainDefinitionMap.put("/notice/refresh", "userAuth,roleAuth");
filterChainDefinitionMap.put("/notice/pause", "userAuth,roleAuth");
filterChainDefinitionMap.put("/notice/env", "userAuth,roleAuth");
filterChainDefinitionMap.put("/notice/env/reset", "userAuth,roleAuth");
filterChainDefinitionMap.put("/notice/restart", "userAuth,roleAuth");
filterChainDefinitionMap.put("/notice/autoconfig", "userAuth,roleAuth");
filterChainDefinitionMap.put("/notice/metrics", "userAuth,roleAuth");
filterChainDefinitionMap.put("/notice/metrics/**", "userAuth,roleAuth");
filterChainDefinitionMap.put("/notice/info", "userAuth,roleAuth");
filterChainDefinitionMap.put("/notice/dump", "userAuth,roleAuth");
filterChainDefinitionMap.put("/notice/logfile", "userAuth,roleAuth");
filterChainDefinitionMap.put("/notice/beans", "userAuth,roleAuth");
filterChainDefinitionMap.put("/notice/health", "userAuth,roleAuth");
filterChainDefinitionMap.put("/notice/configprops", "userAuth,roleAuth");
filterChainDefinitionMap.put("/notice/env", "userAuth,roleAuth");
filterChainDefinitionMap.put("/notice/env/**", "userAuth,roleAuth");
filterChainDefinitionMap.put("/notice/trace", "userAuth,roleAuth");
filterChainDefinitionMap.put("/notice/mappings", "userAuth,roleAuth");
filterChainDefinitionMap.put("/notice/heapdump", "userAuth,roleAuth");
filterChainDefinitionMap.put("/notice/resume", "userAuth,roleAuth");

3.配置管理端口(推荐)

  配置管理端口该端口不对外暴露
  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值