Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文
Spring boot的优势为很多开发者所知悉:轻量级、代码量减少、模块化等等,因此被区块链行业中的许多交易所使用。然而match,如果开发配置不当,可能会存在系统高危漏洞,一个小小的细节出错都会导致重大的安全事故。. F( I$ D! \9 i+ B( h. z" T1 t  }- q% J

  J! a  n3 X; r, `+ v多家加密货币交易所使用spring boot用以提高开发效率7 j0 G+ {3 Q. l( g1 f3 W

5 J. D" c5 G- X, ~) s) V现有不少交易所开发者为了更高效快速的部署和监控Web应用,都采用了Spring Boot 框架进行微服务开发,由于该框架使用了特定的方式来进行配置,使开发人员不再需要定义样板化的配置,从而更加高效快速的部署项目。
5 V& @! h- ~1 l% q+ q
) w2 \9 B1 V% wSpring Boot使用Actuaotr进行更好的健康的监控
. E- i3 T4 v  k  _
3 P3 D, m6 i* Y( R. B在Spring Boot当中,Actuaotr是Spring Boot项目中非常强大的一个功能,有助于对应用程序进行监控和管理,通过restful api请求来监管、审计、收集应用的运行情况,通过Actuator可以在生产环境监控当前应用的健康,虚拟机等信息,通过前端以可视化的界面展示出来,针对微服务而言它是一个必不可少的环节。( t3 U' `) ~1 o' k* B

* `4 i' L; R4 Z+ k/ y+ b* }1 R行业开发者安全意识的缺乏导致用户信息泄露甚至造成经济损失
( F( N2 w/ P8 H- C
' B$ L  X. a6 f. r随着区块链3.0的发展,一些开发者的安全意识比较薄弱,在配置Actuaotr监控端点时,配置不当可能导致系统应用配置信息、度量指标信息泄露等严重安全问题,其中trace路径下动态记录了最近的100条请求记录信息,请求信息中包含了用户认证字段数据,可通过更替认证字段任意操作用户数据,由此几乎可威胁所有用户数据安全。
+ t- T3 I* f/ z; f2 U
- i  i) {2 R) Q; `例如在传统行业当中,全球的企业和政府组织每年需要为网络攻击造成的损失支付40亿美元。IBM的资料也显示,全球公司每年因数据泄露造成的平均损失从350万美元上升至380万美元,部分甚至上亿。
  K, I% w' w( K8 r9 d2 ^7 t3 F' {! Y7 Q
随着数据价值的提高,黑客越来越多地将攻击目标转向企业内部存留的用户、员工数据,当企业发生数据泄露,损失的不仅仅是经济利益。一旦企业发生数据泄露,损失的不仅仅是经济利益,更会给品牌形象带来严重的负面影响
: p0 \4 b+ k+ R" n$ g5 [
$ d+ B7 Y  c; i# }DVP案例分解—配置Actuaotr不当造成的漏洞危害
1 n% q: l, P0 c5 a! t
2 Q- j2 ]7 v4 a# P2018年7月30日,DVP漏洞平台已经收到过关于Spring Boot Actuaotr配置不当导致敏感信息泄露的高危漏洞并且第一时间通报厂商。8 Z% s0 |3 I9 F

, H6 `1 f& _: I3 I+ Z根据DVP安全研究员介绍:案例当中,攻击者可利用此配置不当,获取到网站的敏感信息和用户个人信息,甚至可通过这些接口控制用户的账号进行一系列的敏感操作。4 d2 V) o4 F2 B. L

2 \% y- _+ B9 ~% M+ u) V. l7 j以下链接是DVP 漏洞平台公开白帽子发现并演示此漏洞的详情,DVP平台在第一时间向厂商通报了此漏洞。5 S9 {; a1 N+ l- c: r' R: ?7 f

! N3 Z8 V. S- v9 X% \* jhttps://dvpnet.io/info/detail/id/653: i2 |+ f. G$ \8 E% \, s" l
: V: @, I( w  U' X3 {' C; G- y# k
如果开发人员配置不当,会导致黑客获取敏感数据。如:将接口暴露在公网上或者未配置限制访问,黑客可以使用以下的Actuator监控原生端点获取到一些网站的敏感数据。, X& w: G5 _: O# f0 u

$ G3 ~1 v; u. z) q9 d3 ^Actuator 提供的接口,具体如下表所示:' G! y$ P9 W1 N( ]3 i

& q4 K' W$ A( i- Z3 L7 ]: c# f  A在黑客眼里这些端点的作用:7 X* }9 O$ e: f( w# v0 Y  g" ~
( Q* B1 @; W& T
DVP真实案例:通报后漏洞已修复完成的厂商漏洞拆解8 i# E3 j# {- m1 e, e) {
5 W9 r# _4 L7 [, T  c' j
攻击者通过访问 /env 端点获取到泄露的环境配置信息4 e- C8 H- h$ m8 Y& l7 N- F  u

  B( e* }! z5 d/ N+ k$ o9 [通过此接口获取用户请求中携带的认证信息或者cookie来获取用户的敏感信息
& Q8 e* E% Q( b! L, ?1 ]* s) a6 e' d9 ~7 v8 T
还可以通过获取到这些用户敏感信息直接登录用户账号, n/ s# N4 E5 R6 u3 A8 b" V* z8 q
; p; O' t, p" l2 O2 @
攻击者通过访问 /configprops 端点获取到应用中配置的属性信息报告
0 J3 O1 x2 }1 e& b  P4 o, l6 \4 f, a+ }! X
攻击者通过访问 /dump 端点获取到程序运行中的线程信息; I7 w, n- q7 P- d: d

* ]* s; o/ K4 c1 Z4 B3 O6 }攻击者通过访问 /autoconfig 端点获取到泄露应用的自动化配置报告,包括所有自动化配置的候选项。同时还列出了每个候选项自动化配置的各个先决条件是否满足。
3 A( J  ^& l; P& @# P& p) h& F( Z. ]  e! P* C
攻击者通过访问 /beans 端点获取到泄露的应用上下文中创建的所有Bean
; q" f* d$ c$ h* c2 y$ X
. E& k( V/ i' s- Q7 }0 {9 x  |2 m漏洞修复/ x: G. f0 c$ v

8 q! g# p# S& |通过DVP提供的真实案例可以看出,如果以上请求接口不做任何安全限制暴露在公网上的话, 极有可能引起严重的用户信息泄露问题。) g, t  p6 m* f
4 z2 v1 k; s; `8 l% m8 ^% }
不过Spring Boot提供安全限制功能,只要在部署的时候配置好相应的配置即可。' u+ l. }1 L0 L5 ]9 R

0 A* n# T# D7 H5 K$ K7 u, i1 u# @) o0 S; c1、增加账号密码访问
  p# q  E, x+ @( c7 ?3 A1 }5 C
+ g7 H6 d4 i" B* }+ F在application.properties中指定actuator的端口以及开启security功能,配置访问权限验证,这时再访问actuator功能时就会弹出登录窗口,需要输入账号密码验证后才允许访问- G( T8 d" f0 _) F' M  l

, }" m" i0 H& N2、禁用接口/ p4 I+ G% C6 F+ {

' V, e. z# F* u. q8 a比如要禁用/env接口,则可设置如下:( z1 m- k6 L' m4 k; r2 C
4 C! `5 u3 P& s+ y' e3 Y+ `/ y
endpoints.env.enabled= false
) p6 l2 U7 z* F: P6 C
/ o2 }6 ]  \+ q3 X; s, r5 r如果只想对外开放部分接口,那就先禁用全部接口,然后启用需要的接口. `9 q4 K7 ]: X& }/ E  N* f
2 w2 A3 {- G) N. B
endpoints.enabled = false
  `* P: V! Q% H" F7 ?& _5 e7 [1 M; L4 x) V" r& d1 c% W
endpoints.metrics.enabled = true* T5 z* I9 U2 O* K$ z
4 w5 K+ b" p5 C$ N  }
同时可设置单独的Actuator管理端口并配置不对外网开放。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

独孤客 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    2