Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文
Spring boot的优势为很多开发者所知悉:轻量级、代码量减少、模块化等等,因此被区块链行业中的许多交易所使用。然而match,如果开发配置不当,可能会存在系统高危漏洞,一个小小的细节出错都会导致重大的安全事故。
( C; y/ s5 W2 z/ }! [. l
) K8 M2 \6 \/ ^) \% D! y, P/ E9 l多家加密货币交易所使用spring boot用以提高开发效率6 e; E, C) O" e2 z5 M
! ?/ N, u, z6 m- x9 Y; U
现有不少交易所开发者为了更高效快速的部署和监控Web应用,都采用了Spring Boot 框架进行微服务开发,由于该框架使用了特定的方式来进行配置,使开发人员不再需要定义样板化的配置,从而更加高效快速的部署项目。
# j3 e1 A4 r- E+ s0 Q0 W& K: B1 m5 b
Spring Boot使用Actuaotr进行更好的健康的监控
/ V+ s6 d3 b6 p. a0 ^8 E
) x% d, ?% O* j3 @- Y在Spring Boot当中,Actuaotr是Spring Boot项目中非常强大的一个功能,有助于对应用程序进行监控和管理,通过restful api请求来监管、审计、收集应用的运行情况,通过Actuator可以在生产环境监控当前应用的健康,虚拟机等信息,通过前端以可视化的界面展示出来,针对微服务而言它是一个必不可少的环节。
  X9 I) w8 O( c" d! N
9 g6 Z- H5 i- p+ x' c9 x2 D; n行业开发者安全意识的缺乏导致用户信息泄露甚至造成经济损失
4 U& R9 Y( O( V: J
) m# l$ z/ q5 G. x; N; P( ]随着区块链3.0的发展,一些开发者的安全意识比较薄弱,在配置Actuaotr监控端点时,配置不当可能导致系统应用配置信息、度量指标信息泄露等严重安全问题,其中trace路径下动态记录了最近的100条请求记录信息,请求信息中包含了用户认证字段数据,可通过更替认证字段任意操作用户数据,由此几乎可威胁所有用户数据安全。& a* n' ^) l% B7 i1 m9 x

  m3 e- m5 a0 d- k例如在传统行业当中,全球的企业和政府组织每年需要为网络攻击造成的损失支付40亿美元。IBM的资料也显示,全球公司每年因数据泄露造成的平均损失从350万美元上升至380万美元,部分甚至上亿。1 Q  L  H/ J. S

$ r0 ?/ Q1 z3 X+ l随着数据价值的提高,黑客越来越多地将攻击目标转向企业内部存留的用户、员工数据,当企业发生数据泄露,损失的不仅仅是经济利益。一旦企业发生数据泄露,损失的不仅仅是经济利益,更会给品牌形象带来严重的负面影响
% [# N8 G  p  `$ e
! y9 J# ^' i- T/ H, C% lDVP案例分解—配置Actuaotr不当造成的漏洞危害
- k! h* ]+ I9 K; ^+ J: @1 w  U$ t' e; q' J4 M1 A
2018年7月30日,DVP漏洞平台已经收到过关于Spring Boot Actuaotr配置不当导致敏感信息泄露的高危漏洞并且第一时间通报厂商。
% u" a$ h  Y6 Q7 R5 N* Y' s. B. G: |
根据DVP安全研究员介绍:案例当中,攻击者可利用此配置不当,获取到网站的敏感信息和用户个人信息,甚至可通过这些接口控制用户的账号进行一系列的敏感操作。
( s+ }) S: i1 s5 t5 }6 [- t, @. E
以下链接是DVP 漏洞平台公开白帽子发现并演示此漏洞的详情,DVP平台在第一时间向厂商通报了此漏洞。
- t( m* R. {8 D) \$ y: I$ E% V/ M6 v" G; {+ a7 A; m& m" A; {. r$ J& G
https://dvpnet.io/info/detail/id/653
' ~. e- g6 E# T0 n( I- h
' Q9 n/ r9 Z) i8 W) E如果开发人员配置不当,会导致黑客获取敏感数据。如:将接口暴露在公网上或者未配置限制访问,黑客可以使用以下的Actuator监控原生端点获取到一些网站的敏感数据。+ T$ a. P, b- t* m1 {0 }7 b  `1 P$ `

) H/ A/ S: `" E9 g' ]Actuator 提供的接口,具体如下表所示:( w) W. |: l4 D& H
! G7 N/ e. j/ p8 ?; N% u8 ]5 m
在黑客眼里这些端点的作用:
& u4 Y: Q: q3 U6 v  X% }3 h+ w- l5 U. i, X" N. W  w
DVP真实案例:通报后漏洞已修复完成的厂商漏洞拆解
" d- a; K+ }7 K( U9 T  {  b
6 {. ~. \/ _" c8 C攻击者通过访问 /env 端点获取到泄露的环境配置信息7 S( o$ U2 P8 ^. t, |
0 k* ~2 d' _4 C
通过此接口获取用户请求中携带的认证信息或者cookie来获取用户的敏感信息, W; s" `0 J/ ?" {1 \  V# @+ i% b
% r3 W$ z& i- T  W4 X' H. _
还可以通过获取到这些用户敏感信息直接登录用户账号4 Q; i$ c4 @: u9 o. j. J

% ^$ @) E4 D5 e/ W3 W( e攻击者通过访问 /configprops 端点获取到应用中配置的属性信息报告0 j% [  d3 \; S1 k

0 C# N" O+ Y: }2 _7 X9 w7 b攻击者通过访问 /dump 端点获取到程序运行中的线程信息6 g3 }( f& x, O& S# r
! B# k- |* j! U: s$ c7 @2 R
攻击者通过访问 /autoconfig 端点获取到泄露应用的自动化配置报告,包括所有自动化配置的候选项。同时还列出了每个候选项自动化配置的各个先决条件是否满足。7 a- a. U* ]: B' o+ E' K9 t$ s

3 g: |& z# T) g! C) A攻击者通过访问 /beans 端点获取到泄露的应用上下文中创建的所有Bean
/ N' i8 n+ P+ L9 |% ?( ]4 y8 {2 Y" a
漏洞修复* e: |$ B+ c/ I# X& d& T4 V) B4 d

! C# |! p% D' q" w0 f% h( J& v通过DVP提供的真实案例可以看出,如果以上请求接口不做任何安全限制暴露在公网上的话, 极有可能引起严重的用户信息泄露问题。
8 v' Y$ x" C, b$ C% g. w5 k
  W; W$ b2 I3 n$ |4 P不过Spring Boot提供安全限制功能,只要在部署的时候配置好相应的配置即可。
2 O) k4 B0 h+ T  I
% K% y# e3 M% [& B. Y; v1、增加账号密码访问
' p. M. q: A* N8 y) T" c' ~: j8 g% b- Z) W7 d+ u7 ?- G3 r
在application.properties中指定actuator的端口以及开启security功能,配置访问权限验证,这时再访问actuator功能时就会弹出登录窗口,需要输入账号密码验证后才允许访问
2 J, |* P8 Z+ v7 W, I5 W; ^* l1 a
2、禁用接口! }0 [; g3 o. v( m' o1 U
* G9 U* j' G  W9 S* }5 C8 l5 [7 t: u
比如要禁用/env接口,则可设置如下:; ]3 r. ], J4 I4 ~3 q' J: k
7 ^1 S1 Y. B" @8 v8 b
endpoints.env.enabled= false: u: ~6 Q. |6 V; c: X7 @
# O- F' ?  x4 R$ ^
如果只想对外开放部分接口,那就先禁用全部接口,然后启用需要的接口
+ a  z. q& H3 Y! \; f# t, d& [8 B! t
endpoints.enabled = false( g- e0 I; a; J* @7 @! n

0 I  Z3 s' z/ }2 ~/ z, L# Iendpoints.metrics.enabled = true: |; v' o. B7 L  `1 K1 N( u1 _
3 H% M$ q( g8 @; h
同时可设置单独的Actuator管理端口并配置不对外网开放。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

独孤客 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    2