JRASP在「新点软件」万级别⼤规模落地实践
2023-10-7 12:35:22 Author: mp.weixin.qq.com(查看原文) 阅读量:11 收藏

国泰新点软件公司围绕智慧招采、智慧政务、数字建筑三大核心业务领域,为各级政府部门、大型集团企业及相关行业单位提供从规划咨询、软件开发与智能设备研发、实施交付到持续运营维护的全方位服务。

https://www.epoint.com.cn/

一、背景介绍

⽬前开源的RASP产品中,有百度open-raspjrasp和字节hids-rasp等多款产品。在产品选型阶段因为公司内部有不少华为ARM指令架构的国产系统,中间曾经尝试编译ARM V8检测引擎但由于缺少源码最终失败,无奈只能放弃;字节HIDS/RASP安全策略不多,偏向于"⽇志时收集器",⽆法满⾜当前的⽣产环境的需求。试⽤了⼀款商业RASP后,机缘巧合下找到了开源的jrasp于是开始安装试用

尽管JRASP项⽬在githubstar数量和安装量都不多,但是经过与作者⼀段时间的技术交流,发现他⻓期从事JavaAgent开发⼯作,在性能诊断、故障演练、全链路监控等⽅⾯经验⾮常丰富,并且对同类产品如btraceskywalkingopen-rasp等有源码级别的理解。jrasp项⽬吸收了同类产品的优势,核⼼框架层的代码最早的可以追溯到10年前,稳定耐⽤bug极少。

3.1业务特征

公司共有3000多个项⽬,分布在全国各地,每个项⽬的节点数量在20~200台,总节点数量超过10万规模。每个项⽬相互隔离,要求在每个项⽬部署安全产品,所有的安全产品共⽤1台主机(RASP产品占⽤约0.5台)。

3.2JRASP的整体架构



主要包含三个部分:jrasp-agentjrasp-daemonjrasp-admin

检测插件模块化:每种模块解决⼀类安全漏洞,并且模块可以做到热升级;

3.3安装部署

需要准备的资源:4核8GB配置主机⼀台,⽤做管理端。

管理端编译安装⽂档:https://github.com/jvm-rasp/web/blob/master/README.md
Agent安装⽂档:https://www.jrasp.com/guide/install/v1.1.3/jrasp-agent.html

在上线之前做了严格的性能测试,并且对多款产品进行性能测试,因为涉及到其他商业化产品,细节数据不便展示,可以总结为:整体性能与open-rasp相当。

一般来说RASP产品⽆法直接在企业内部使⽤,必须经过⼀定的改造以适应公司内部的⽣态环境。主要的改造有:

1.兼容 windows、macos、linux(x86_64、aarch64);
2.⽀持宿主机上的docker安装运⾏;
3.新增多个检测模块如内存⻢和SQL注⼊等;
4.模块运⾏时解密,提⾼策略的安全性;
5.管理端由Java改造为Golang,使得管理端资源占⽤少;
6.复⽤jrasp的注⼊层框架,检测策略进⾏了较⼤的重写;
除了通⽤的功能改造外,还对JRASP做了⼀些专属改造,如增加公司⾃研的登录框架的弱密码检测模块,流量解密模块等,管理端增加了内部的移动设备登录功能,简化了模块与策略的配置流程等。

六、安装部署

总接入项目250多个,总接入应用数量1w多个,经过⻓达半年的灰度部署过程中,累计发现并修复数⼗个兼容性问题和bug,产品稳定性、性能逐步稳定

jrasp框架层⾯没有性能上的瓶颈,性能主要体现在检测模块上,如新增的sql词法分析算法,初始版本导致cpu飙⾼参考:https://www.jrasp.com/guide/case/case20230619/case20230619.htmlweb应⽤名称的识别上,存在bug导致守护进程cpu飙升。参考https://www.jrasp.com/guide/case/case20230902/case20230902.html


文章来源: https://mp.weixin.qq.com/s?__biz=Mzg5MjQ1OTkwMg==&mid=2247484620&idx=1&sn=6dd78f8dd31d32d7711ddbe21e1b257e&chksm=c03c8addf74b03cb97f1fff73d4a7adf7582644449e963730109762f1cc7dcdc62b53e6bd7b0&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh