Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文
Spring boot的优势为很多开发者所知悉:轻量级、代码量减少、模块化等等,因此被区块链行业中的许多交易所使用。然而match,如果开发配置不当,可能会存在系统高危漏洞,一个小小的细节出错都会导致重大的安全事故。% d. l. W# R6 g  l0 d6 q% A
4 r( T5 |7 K/ I0 {, r
多家加密货币交易所使用spring boot用以提高开发效率2 p: D% k. K5 w$ ?$ J- u
/ w9 D" b/ `2 [+ L2 b* b
现有不少交易所开发者为了更高效快速的部署和监控Web应用,都采用了Spring Boot 框架进行微服务开发,由于该框架使用了特定的方式来进行配置,使开发人员不再需要定义样板化的配置,从而更加高效快速的部署项目。
: a& t1 y: _" y0 _( n- c2 w& ^- U
# X. W6 }, M7 @: K: B1 ySpring Boot使用Actuaotr进行更好的健康的监控8 T4 @  l: x/ m4 s
% N8 _7 p' ~) v- p5 o! ^: x0 f
在Spring Boot当中,Actuaotr是Spring Boot项目中非常强大的一个功能,有助于对应用程序进行监控和管理,通过restful api请求来监管、审计、收集应用的运行情况,通过Actuator可以在生产环境监控当前应用的健康,虚拟机等信息,通过前端以可视化的界面展示出来,针对微服务而言它是一个必不可少的环节。; r6 A: E1 w$ w, h2 U" M

; `  ^3 R3 m( ]8 I行业开发者安全意识的缺乏导致用户信息泄露甚至造成经济损失
9 c8 f( g/ L/ ?& H  s6 s) t
, }7 s* ~- e, T* j4 I随着区块链3.0的发展,一些开发者的安全意识比较薄弱,在配置Actuaotr监控端点时,配置不当可能导致系统应用配置信息、度量指标信息泄露等严重安全问题,其中trace路径下动态记录了最近的100条请求记录信息,请求信息中包含了用户认证字段数据,可通过更替认证字段任意操作用户数据,由此几乎可威胁所有用户数据安全。
0 }4 T, P/ t" H$ E  F: |. ]4 C! `
8 _& d4 X2 g9 ^% \9 M( j6 ?6 G例如在传统行业当中,全球的企业和政府组织每年需要为网络攻击造成的损失支付40亿美元。IBM的资料也显示,全球公司每年因数据泄露造成的平均损失从350万美元上升至380万美元,部分甚至上亿。+ A* t6 [9 y& o6 a- a+ j. }6 k& A
5 Q- S, M! F2 W$ W, w* O2 p7 W3 }
随着数据价值的提高,黑客越来越多地将攻击目标转向企业内部存留的用户、员工数据,当企业发生数据泄露,损失的不仅仅是经济利益。一旦企业发生数据泄露,损失的不仅仅是经济利益,更会给品牌形象带来严重的负面影响. q- C6 {& ]% v9 [- l/ `4 f

5 f5 u9 a3 B# y- TDVP案例分解—配置Actuaotr不当造成的漏洞危害
4 K9 n4 [3 u' T& G) }, V( k3 j
9 P5 @$ \7 L" G; R2018年7月30日,DVP漏洞平台已经收到过关于Spring Boot Actuaotr配置不当导致敏感信息泄露的高危漏洞并且第一时间通报厂商。
% d4 V/ B  i! w; S% \
1 u3 [/ t3 @3 W& r根据DVP安全研究员介绍:案例当中,攻击者可利用此配置不当,获取到网站的敏感信息和用户个人信息,甚至可通过这些接口控制用户的账号进行一系列的敏感操作。
! R/ }- q  X8 X) I$ L
: @  h; j2 M  h以下链接是DVP 漏洞平台公开白帽子发现并演示此漏洞的详情,DVP平台在第一时间向厂商通报了此漏洞。
0 M3 _) r. L& f6 u0 s- w+ S, @2 ~2 ~# l0 ?( a0 r% t
https://dvpnet.io/info/detail/id/653
% M9 ]$ ?* h5 K/ L5 ~! q2 C: Z3 g( q1 P
如果开发人员配置不当,会导致黑客获取敏感数据。如:将接口暴露在公网上或者未配置限制访问,黑客可以使用以下的Actuator监控原生端点获取到一些网站的敏感数据。2 j+ `% q  J! s8 n$ P5 s

4 S( J1 e  l# B* _Actuator 提供的接口,具体如下表所示:+ Y' w1 f  F" Y% P: }7 Z1 f, K
  }" ]* D! B3 f& h, g+ U: e5 X3 z: J! l; ?1 G
在黑客眼里这些端点的作用:2 j7 `& R7 ^/ ^0 A2 a3 X* ^2 T
+ \9 A. k4 W2 T
DVP真实案例:通报后漏洞已修复完成的厂商漏洞拆解; `: C: `  M3 m, d6 G
* a, i5 k9 O3 ?9 o1 H
攻击者通过访问 /env 端点获取到泄露的环境配置信息
$ e3 P  v! U* ~& Z# ?3 h; [- I3 b# D1 o
通过此接口获取用户请求中携带的认证信息或者cookie来获取用户的敏感信息
% t( {$ `. }; F: ~: T# j7 t& m+ k. N! C. Z/ _0 \% M5 L! e
还可以通过获取到这些用户敏感信息直接登录用户账号
4 I5 N% R! Y+ _7 J8 o1 b! A
& J: ^$ X8 c+ M3 m2 C攻击者通过访问 /configprops 端点获取到应用中配置的属性信息报告; F' W& a1 d: G7 h  r" M2 d
! d8 S; c+ L+ t
攻击者通过访问 /dump 端点获取到程序运行中的线程信息$ M2 J  D2 }; Z2 f
  b. O- }" a) n9 a* Z+ u
攻击者通过访问 /autoconfig 端点获取到泄露应用的自动化配置报告,包括所有自动化配置的候选项。同时还列出了每个候选项自动化配置的各个先决条件是否满足。
% w$ L! N5 d2 w
1 B9 G% v7 w% j攻击者通过访问 /beans 端点获取到泄露的应用上下文中创建的所有Bean  U# Y: ~  p; I: K( H$ K) L2 H

- |( B1 k* J% Z2 A漏洞修复+ `4 q9 y. E( R1 Z8 F5 n* d

5 S0 M; e) ]7 ~9 H- H* x/ l4 k通过DVP提供的真实案例可以看出,如果以上请求接口不做任何安全限制暴露在公网上的话, 极有可能引起严重的用户信息泄露问题。
) n# d* Q8 Z/ f% O( ]* Y, w3 m" n7 ?: n. b
不过Spring Boot提供安全限制功能,只要在部署的时候配置好相应的配置即可。
: O, u1 y0 h+ Q3 ~: y" W5 r) D- [4 a" i" K( ?, A9 O9 c7 D
1、增加账号密码访问
+ h: b+ }6 i8 J7 r3 h
* N* ]+ m- ]* s. Q' E6 x在application.properties中指定actuator的端口以及开启security功能,配置访问权限验证,这时再访问actuator功能时就会弹出登录窗口,需要输入账号密码验证后才允许访问7 A; N, j7 g/ ?' c: [! Q
4 I0 z. N8 W$ o+ l, B
2、禁用接口' c/ c4 I( ]$ u

. ]" u) g! y1 \7 b2 t比如要禁用/env接口,则可设置如下:
. _3 P3 N" p( _0 }9 p8 p3 [& o1 p0 q) c
endpoints.env.enabled= false2 b/ B, ]. \  H/ n

5 V7 `2 _; O0 G; }如果只想对外开放部分接口,那就先禁用全部接口,然后启用需要的接口
2 u; R% H; \- h  Q" \1 J2 K! F/ a
  M5 U  w" e+ vendpoints.enabled = false
$ b: h. b/ Y5 l$ k5 i% k5 S5 M0 {7 A3 ?, [2 G5 c1 J) k; j
endpoints.metrics.enabled = true6 i) W2 E# _3 W) A+ k# f

: K1 I* g$ ]3 u) ?$ T* P7 E( [同时可设置单独的Actuator管理端口并配置不对外网开放。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

独孤客 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    2