您现在的位置是:人工智能 >>正文
紧急!Spring Boot安全漏洞
人工智能484人已围观
简介环境:Spring Boot 2.7.181. 简介Spring Boot Actuator 模块提供了 Spring Boot 生产就绪的所有功能。Actuator提供的所有接口可让你监控应用程序各 ...
环境 :Spring Boot 2.7.18
1. 简介
Spring Boot Actuator 模块提供了 Spring Boot 生产就绪的紧急所有功能 。Actuator提供的安全所有接口可让你监控应用程序各种信息并与之交互。Spring Boot 包含许多内置接口 ,漏洞你还可以添加自定义的紧急接口。例如,安全health 接口提供基本的漏洞应用程序健康信息。有关Actuator的紧急更多介绍可以查看官方文档,本篇文章主要讲解关于在生产环境中对Actuator的安全使用或控制不当,可能会引发安全隐患 。漏洞为了避免这些问题,紧急我们需要谨慎配置和使用Actuator。高防服务器安全
2. 安全漏洞
当在项目中启用Actuator后,漏洞默认情况下我们是紧急可以没有限制的访问任意一个接口的 ,如下配置:
复制management: endpoints: web: cors: allow-credentials: true allowed-headers: * allowed-origins: base-path: /ac exposure: include: *1.2.3.4.5.6.7.8.9.10.以上配置 ,安全暴露了默认Actuator的漏洞所有接口 。而这些接口中有些接口暴露的信息就非常的敏感,如:/env ,/configprops,/threaddump等接口,这些接口直接会将所有信息展现出来 。
/configprops接口
图片
图片
图片
上面这些接口任其随意访问是云计算有很大风险的(安全部门只要扫到你网站有这些问题都会通知你处理)尤其是上面的/configprops接口,很可能无意间就暴露了你的隐私信息。
3. 解决办法
3.1 配置属性针对/configprops接口在上面的图中你会发现对于password这样的key系统默认会进行脱敏处理,在默认情况下springboot会对如下的key进行处理 :以 "password"、"secret"、"key" 、"token" 、"vcap_services" 、"sun.java.command "结尾的亿华云key都会被完全清除。
注意 :只要是以这些key结尾的都会处理
自定义的属性配置bean是否会处理呢 ?验证如下:
复制@ConfigurationProperties(prefix = "pack.sys") public class PackProperties { private String name ; private String password ; private String idNo ; } // 配置文件 pack: sys: name: pack password: 123123 idNo: 110991119199191911.2.3.4.5.6.7.8.9.10.11.12.13.14.查看结果:
图片
password字段被自动的脱敏处理 。但是对于这里的idNo我也希望能够脱敏处理又该如何处理呢?通过修改字段名以支持SpringBoot支持的默认命名规则 ,你应该不会去修改字段名称吧~ !如下修改后的效果:
图片
其实完全没有必要这样做 ,SpringBoot提供了自定义key的方式
复制management: endpoint: configprops: additional-keys-to-sanitize: - idNo1.2.3.4.5.通过上面的建站模板属性节点 ,可以添加你需要处理的key。
图片
当你的key是以这种模式命名时:.*credentials.* 包含credentials时系统也会自动的进行脱敏处理
图片
此外 ,Spring Boot 还会对带有以下结尾之一的key的 URI 类值的敏感部分进行脱敏:
addressaddressesuriurisurlurlsURI 的敏感部分使用<scheme>://<username>:<password>@<host>:<port>/格式标识 。如下配置示例:
复制pack: sys: name: pack password: 123123 idNo: 11099111919919191 packCredentials: 66666666 ftpUrl: ftp://pack:123456@xxxooo.pack.com/1.2.3.4.5.6.7.展示结果 :
图片
自动将密码部分脱敏处理。
3.2 环境信息对于/env接口 ,也是有对应的源码库配置属性进行配置
复制management: endpoint: env: additional-keys-to-sanitize: - port - ... 添加更多的自定义key1.2.3.4.5.6.与配置属性一样通过通用的方式添加额外的key进行脱敏处理。
注意 :对于env和configprops接口都有一个相同的属性keys-to-sanitize,该属性也可以定义你需要脱敏处理的key,该属性有相同的默认值:password,secret,key,token,.credentials.,vcap_services,sun.java.command
3.3 自定义脱敏规则如果你希望更多的控制脱敏规则,那么你可以通过自定义SanitizingFunction Bean 。
复制@Component public class PackSanitizingFunction implements SanitizingFunction { @Override public SanitizableData apply(SanitizableData data) { if (data.getKey().endsWith("email")) { return data.withValue("###") ; } return data ; } }1.2.3.4.5.6.7.8.9.10.11.12.输出结果:
图片
对于像/threaddump,/heapdump这样的接口,我们要么将其禁用 ,服务器租用要么通过Spring Security进行安全控制,如下示例通过Spring Security进行安全控制。
复制@Bean SecurityFilterChain actuatorSecurityFilterChain(HttpSecurity http) throws Exception { http.csrf(csrf -> csrf.disable()); http.authorizeHttpRequests().antMatchers("/ac/env").hasRole("ADMIN") ; http.authorizeHttpRequests().antMatchers("/ac/**").hasRole("ACTUATOR") ; http.authorizeHttpRequests().anyRequest().permitAll() ; http.formLogin(customizer -> Customizer.withDefaults()) ; return http.build() ; }1.2.3.4.5.6.7.8.9.基于用到了Security ,你完全可以对所有的接口进行拦截控制 ,也就没必要进行上面那些操作了 。
Tags:
转载:欢迎各位朋友分享到网络,但转载请说明文章出处“商站动力”。http://www.noorid.com/html/795d699198.html
相关文章
美官方为软件供应商提出供应链安全指南
人工智能10月31日,美国国家安全局NSA)、网络安全及基础设施安全局CISA)、国家情报总监办公室ODNI)携手发布了保护软件供应链的实操指南。该指南内容总共有40页,主要提及了软件供应商在供应链中所需要承 ...
【人工智能】
阅读更多深入了解PE系统还原技术(通过学习PE系统还原教程,掌握系统还原技术的关键要点)
人工智能随着计算机技术的快速发展,PE系统还原作为一种重要的技术手段,可以帮助我们快速恢复计算机系统、修复问题和进行安全测试。本文将介绍PE系统还原的基本概念和原理,以及通过学习教程来掌握这一技术的关键要点。 ...
【人工智能】
阅读更多中兴Z2手机的综合评测(打破传统,中兴Z2开启新时代)
人工智能中兴Z2手机作为中兴公司最新发布的旗舰手机,引起了广大消费者的关注。其独特的设计与强大的功能使其成为了手机市场上的一颗新星。本文将从外观设计、性能表现、拍照效果、系统体验等方面对中兴Z2手机进行全面评 ...
【人工智能】
阅读更多
热门文章
最新文章
友情链接
- Excel表格突出显示包含某个字的单元格的方法教程
- 安卓手机如何打开USB调试模式?安卓手机打开U
- BIOS基本设置教程(完整指南教你如何正确使用BIOS来配置电脑系统)
- 苹果六的特色与性能解析(深入了解苹果六的优势与不足)
- 简单实用的电脑系统删除教程(快速删除电脑系统,轻松清理硬盘空间)
- 微信收款助手小程序怎么用 微信收款助手申请收
- Moto Defy也能升级Android 5.0
- 小米58.2.1系统的卓越表现(以稳定、快速和个性化为核心的全面升级)
- 从零开始学习以希捷F3教程转表(详解希捷F3教程中的转表功能,助你轻松应对数据处理需求)
- Android 5.0的拍照相对之前的系统有提升吗? 企业服务器源码库云服务器网站建设b2b信息平台亿华云香港物理机