Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文
Spring boot的优势为很多开发者所知悉:轻量级、代码量减少、模块化等等,因此被区块链行业中的许多交易所使用。然而match,如果开发配置不当,可能会存在系统高危漏洞,一个小小的细节出错都会导致重大的安全事故。$ S- [$ P5 Z9 k  ]% a0 F

( e2 Y8 f5 j$ n1 [) M多家加密货币交易所使用spring boot用以提高开发效率4 E" U% A6 m- Z- ]

, X/ t2 Z1 ~3 L# H! n现有不少交易所开发者为了更高效快速的部署和监控Web应用,都采用了Spring Boot 框架进行微服务开发,由于该框架使用了特定的方式来进行配置,使开发人员不再需要定义样板化的配置,从而更加高效快速的部署项目。7 D8 C6 c& m1 E# a9 G3 ^
1 q2 d. W2 [! m* i
Spring Boot使用Actuaotr进行更好的健康的监控
2 X6 q4 o3 c' T. u5 N' U# B% t8 T0 _6 @3 T
在Spring Boot当中,Actuaotr是Spring Boot项目中非常强大的一个功能,有助于对应用程序进行监控和管理,通过restful api请求来监管、审计、收集应用的运行情况,通过Actuator可以在生产环境监控当前应用的健康,虚拟机等信息,通过前端以可视化的界面展示出来,针对微服务而言它是一个必不可少的环节。: n1 H" C  w) Z, ^2 K9 x. f8 {7 U
+ @4 g% N1 O9 k& z) Z4 p+ L
行业开发者安全意识的缺乏导致用户信息泄露甚至造成经济损失
- O! A8 G0 P! O
, b2 V" Q4 @! E3 S2 F( j1 M随着区块链3.0的发展,一些开发者的安全意识比较薄弱,在配置Actuaotr监控端点时,配置不当可能导致系统应用配置信息、度量指标信息泄露等严重安全问题,其中trace路径下动态记录了最近的100条请求记录信息,请求信息中包含了用户认证字段数据,可通过更替认证字段任意操作用户数据,由此几乎可威胁所有用户数据安全。4 B5 i) {& M; N, a2 u, m% h

8 A# L1 T# |( c" A4 k* ?例如在传统行业当中,全球的企业和政府组织每年需要为网络攻击造成的损失支付40亿美元。IBM的资料也显示,全球公司每年因数据泄露造成的平均损失从350万美元上升至380万美元,部分甚至上亿。; ^) H! w' {( n7 \8 U  @2 o  u
- n4 B  P' Q6 v4 [2 Y
随着数据价值的提高,黑客越来越多地将攻击目标转向企业内部存留的用户、员工数据,当企业发生数据泄露,损失的不仅仅是经济利益。一旦企业发生数据泄露,损失的不仅仅是经济利益,更会给品牌形象带来严重的负面影响
6 A( e8 t) t3 X: t* p3 ~& A' K. V  z0 M1 m
DVP案例分解—配置Actuaotr不当造成的漏洞危害, I7 X. d5 Z0 N( L
, {+ |% L! D0 }  |- }: f& z
2018年7月30日,DVP漏洞平台已经收到过关于Spring Boot Actuaotr配置不当导致敏感信息泄露的高危漏洞并且第一时间通报厂商。
$ r: f: Z% F- H  Z
- B3 l& }2 m$ U3 k4 y6 {根据DVP安全研究员介绍:案例当中,攻击者可利用此配置不当,获取到网站的敏感信息和用户个人信息,甚至可通过这些接口控制用户的账号进行一系列的敏感操作。2 m' c5 l  _+ ~

/ t: t. i0 O" i2 \9 g以下链接是DVP 漏洞平台公开白帽子发现并演示此漏洞的详情,DVP平台在第一时间向厂商通报了此漏洞。
( g( }$ D& J$ }2 _* P, Q6 v+ q; z1 t& h
https://dvpnet.io/info/detail/id/653; U" Y( C6 S+ W6 d
0 t/ _$ H' {4 F& N6 |9 d% T, l
如果开发人员配置不当,会导致黑客获取敏感数据。如:将接口暴露在公网上或者未配置限制访问,黑客可以使用以下的Actuator监控原生端点获取到一些网站的敏感数据。3 d3 j; K  W* L, }
& s1 B- f( ^3 @; E' i  A
Actuator 提供的接口,具体如下表所示:
+ T# A( e* e* K4 v0 t8 E7 B
9 P  Z- i- y8 \; B8 P0 N* F6 K在黑客眼里这些端点的作用:
+ K5 u: S* ~' L" G4 Z
0 s# p* ]" r, ]* ODVP真实案例:通报后漏洞已修复完成的厂商漏洞拆解
7 c% F" c3 N. z6 |  A0 k
3 v8 \: h* ^6 V% I攻击者通过访问 /env 端点获取到泄露的环境配置信息  K$ ], V" q& k" d$ H

; b6 c/ K3 X! _& o& a3 n0 `' ]通过此接口获取用户请求中携带的认证信息或者cookie来获取用户的敏感信息5 \6 ~% h3 K# d  F5 v5 P) c

' H3 F/ b2 ?' v8 u还可以通过获取到这些用户敏感信息直接登录用户账号) g' R1 r# @5 g) q' y) s& U
7 S3 M4 r. n! Z9 Q0 g
攻击者通过访问 /configprops 端点获取到应用中配置的属性信息报告2 M; B% I/ M& F' R: ~, n1 ?

0 [, @7 N$ s" e) E9 B; r攻击者通过访问 /dump 端点获取到程序运行中的线程信息4 M: ?; B; o9 F! w8 n
5 S( n; K9 ?$ g( m- x
攻击者通过访问 /autoconfig 端点获取到泄露应用的自动化配置报告,包括所有自动化配置的候选项。同时还列出了每个候选项自动化配置的各个先决条件是否满足。
; c& S* @# j4 w# l
% `9 |0 q. a/ j  P% Q) z" c攻击者通过访问 /beans 端点获取到泄露的应用上下文中创建的所有Bean
2 Y3 {2 A- K* p$ ~9 v- O/ d6 p
9 G/ B  a& j- H漏洞修复% |9 a5 w8 T* E: i/ K$ H: S) O
+ {' d: b- `. X- k, o
通过DVP提供的真实案例可以看出,如果以上请求接口不做任何安全限制暴露在公网上的话, 极有可能引起严重的用户信息泄露问题。
& _+ g" _, h% h. y/ D$ E( Z  C, L+ d6 s" J+ W  b0 V, m/ N' G
不过Spring Boot提供安全限制功能,只要在部署的时候配置好相应的配置即可。4 S8 p  J# @% r8 q7 e$ ?1 G

9 n" \. e: l: s: q$ H! R/ p, h" ^1、增加账号密码访问
0 X- v4 q8 ?$ C6 j/ ?! l& c1 q% [
在application.properties中指定actuator的端口以及开启security功能,配置访问权限验证,这时再访问actuator功能时就会弹出登录窗口,需要输入账号密码验证后才允许访问% g7 k  ]! h( {# l2 P' P5 ]

( P) S. j. |9 M( ^* J* j2、禁用接口0 l% x: n. `7 F
; G8 c, t, _. W" ~2 u/ E
比如要禁用/env接口,则可设置如下:
  x5 h' Q, i& e% p0 K5 U* _. l
. G2 V7 h& J/ B% K1 ]endpoints.env.enabled= false
! b1 S$ w: _2 m2 u) T! z7 A+ ^5 m" f2 @, E2 e6 n5 Q
如果只想对外开放部分接口,那就先禁用全部接口,然后启用需要的接口5 u& B3 G9 l9 U% y) @8 O
, ]7 y, q6 [/ [8 A; }
endpoints.enabled = false" W# C7 V/ P, b  K
1 j+ l/ P3 J7 {- t0 K7 b- _
endpoints.metrics.enabled = true
6 X& L/ a, Y9 y% k8 T
) g' m& c3 l: w& R2 \4 _同时可设置单独的Actuator管理端口并配置不对外网开放。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

独孤客 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    2