Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文
Spring boot的优势为很多开发者所知悉:轻量级、代码量减少、模块化等等,因此被区块链行业中的许多交易所使用。然而match,如果开发配置不当,可能会存在系统高危漏洞,一个小小的细节出错都会导致重大的安全事故。$ M! u9 i& O, c# S+ A! N
) J+ A9 C1 K. x) A
多家加密货币交易所使用spring boot用以提高开发效率' S' a3 @# e+ e  {; P+ {6 B
% F; l$ W0 E; Z3 v3 e/ {
现有不少交易所开发者为了更高效快速的部署和监控Web应用,都采用了Spring Boot 框架进行微服务开发,由于该框架使用了特定的方式来进行配置,使开发人员不再需要定义样板化的配置,从而更加高效快速的部署项目。+ w$ G( X* }% p3 I
( U& m5 E+ Q/ b+ ^( c+ C4 n8 R: \
Spring Boot使用Actuaotr进行更好的健康的监控7 Z. o& N" P4 M2 j. E/ ~1 m0 L

: ?/ u; F# ]' L  }' H( Z( z" k在Spring Boot当中,Actuaotr是Spring Boot项目中非常强大的一个功能,有助于对应用程序进行监控和管理,通过restful api请求来监管、审计、收集应用的运行情况,通过Actuator可以在生产环境监控当前应用的健康,虚拟机等信息,通过前端以可视化的界面展示出来,针对微服务而言它是一个必不可少的环节。
# ^+ M$ t( C9 @: I. ]& X) c6 r
" B1 S# q5 o7 S8 ~行业开发者安全意识的缺乏导致用户信息泄露甚至造成经济损失
7 s) g' p+ n7 n2 n3 A8 f, R
+ J/ f/ n' r: g, O/ h随着区块链3.0的发展,一些开发者的安全意识比较薄弱,在配置Actuaotr监控端点时,配置不当可能导致系统应用配置信息、度量指标信息泄露等严重安全问题,其中trace路径下动态记录了最近的100条请求记录信息,请求信息中包含了用户认证字段数据,可通过更替认证字段任意操作用户数据,由此几乎可威胁所有用户数据安全。$ T5 s, p% a$ z0 X; s( o

4 Y8 ^5 [% ?0 c) D5 ]例如在传统行业当中,全球的企业和政府组织每年需要为网络攻击造成的损失支付40亿美元。IBM的资料也显示,全球公司每年因数据泄露造成的平均损失从350万美元上升至380万美元,部分甚至上亿。
" H) v3 r1 |& S1 N" {
. I/ P3 x9 [1 O随着数据价值的提高,黑客越来越多地将攻击目标转向企业内部存留的用户、员工数据,当企业发生数据泄露,损失的不仅仅是经济利益。一旦企业发生数据泄露,损失的不仅仅是经济利益,更会给品牌形象带来严重的负面影响0 z8 M9 k7 ?7 X3 |* V$ h- p

. r; n* n7 a* jDVP案例分解—配置Actuaotr不当造成的漏洞危害
3 ]# }' s) C" N2 D
( Y# @. @8 c8 E1 d# S" }) b2018年7月30日,DVP漏洞平台已经收到过关于Spring Boot Actuaotr配置不当导致敏感信息泄露的高危漏洞并且第一时间通报厂商。
- _; K/ }- E# I) E, o% Y" C. g' F/ e2 r
根据DVP安全研究员介绍:案例当中,攻击者可利用此配置不当,获取到网站的敏感信息和用户个人信息,甚至可通过这些接口控制用户的账号进行一系列的敏感操作。
/ |! K) e4 U& Y5 c* z% B) m3 d: p3 i; B1 @4 B& k: }
以下链接是DVP 漏洞平台公开白帽子发现并演示此漏洞的详情,DVP平台在第一时间向厂商通报了此漏洞。; y. j5 E; Y) a0 \) D7 h$ m
  u2 ?8 \4 P! o
https://dvpnet.io/info/detail/id/653
8 e# M  M1 ~9 R! V7 e2 Y0 p
& b4 A6 I: e2 A; @2 i8 j如果开发人员配置不当,会导致黑客获取敏感数据。如:将接口暴露在公网上或者未配置限制访问,黑客可以使用以下的Actuator监控原生端点获取到一些网站的敏感数据。
& h6 }# R( J5 U3 E- O8 s
  o8 x8 N8 g- K* E# [- {" n/ ZActuator 提供的接口,具体如下表所示:  i( O$ b8 {3 G' Y3 e; C0 G
. H( U* Y+ H8 B1 u: N8 A/ E
在黑客眼里这些端点的作用:6 Q# K8 j8 }/ A- _( e
  J0 m' ~! z; @1 t
DVP真实案例:通报后漏洞已修复完成的厂商漏洞拆解. {0 h! b; A* _: u( h5 @& H- q/ c

& [' @* i3 G" X% e4 M攻击者通过访问 /env 端点获取到泄露的环境配置信息
4 u- b& h% @* V# F6 y% _/ E8 |1 n+ I8 q+ x" H
通过此接口获取用户请求中携带的认证信息或者cookie来获取用户的敏感信息
4 z3 w& d9 R, ^; s; l! l* V$ A9 X
还可以通过获取到这些用户敏感信息直接登录用户账号( G" _0 o; n4 C& I
6 m0 R# h" s! M2 _7 N
攻击者通过访问 /configprops 端点获取到应用中配置的属性信息报告; v5 d0 i7 b, A, R

2 F. b9 n5 M4 w攻击者通过访问 /dump 端点获取到程序运行中的线程信息
- ?* J9 a4 ]3 F- f. s  R1 c# V& d* Y2 G& w8 _6 `
攻击者通过访问 /autoconfig 端点获取到泄露应用的自动化配置报告,包括所有自动化配置的候选项。同时还列出了每个候选项自动化配置的各个先决条件是否满足。  L$ m5 v$ \. _/ N! z, u
1 A% Y! g, q4 o) f# G  F; x
攻击者通过访问 /beans 端点获取到泄露的应用上下文中创建的所有Bean
: y6 o3 b0 W! _. x/ W' `
+ j0 h1 F: N5 b漏洞修复
$ u# w6 y1 P1 m  `; C+ E
4 S9 X. l; p6 N, z3 B通过DVP提供的真实案例可以看出,如果以上请求接口不做任何安全限制暴露在公网上的话, 极有可能引起严重的用户信息泄露问题。
3 y4 ~4 Y9 p, p/ L
" M* n6 x6 g* o& S5 Z2 |! ~0 o! _不过Spring Boot提供安全限制功能,只要在部署的时候配置好相应的配置即可。
5 ?9 {7 ~9 O9 {4 ^7 C9 K" k, E3 ~3 f& |" F
1、增加账号密码访问
& W& V9 y! c& t: O0 n& `3 ~+ j7 \2 ]! _
在application.properties中指定actuator的端口以及开启security功能,配置访问权限验证,这时再访问actuator功能时就会弹出登录窗口,需要输入账号密码验证后才允许访问
2 A7 k! q; l) g' [. F1 M: _. A1 D! r6 x0 t; ^! D
2、禁用接口% o* ?( m* q3 \8 i7 T/ W6 P! k

! X$ y% T) p4 m% y, W比如要禁用/env接口,则可设置如下:0 m* x; ?6 x  o1 W/ E: U1 u9 z
+ |3 S+ u0 g% `  @; X: S3 V6 j
endpoints.env.enabled= false) T# v0 N- c( z: i) ]; U
1 r4 W1 Q& c, I5 G3 W
如果只想对外开放部分接口,那就先禁用全部接口,然后启用需要的接口
9 o8 z" g! E; k5 ]$ b
* ?# D6 f; t' Uendpoints.enabled = false6 p" G+ c3 ~# C% Y3 m

4 ?$ A( V* S  v' a, J& ?' Nendpoints.metrics.enabled = true" t0 v: g% }$ p

  Z, C7 S* O: W& P! T7 Y7 V同时可设置单独的Actuator管理端口并配置不对外网开放。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

独孤客 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    2