国泰新点软件公司围绕智慧招采、智慧政务、数字建筑三大核心业务领域,为各级政府部门、大型集团企业及相关行业单位提供从规划咨询、软件开发与智能设备研发、实施交付到持续运营维护的全方位服务。
https://www.epoint.com.cn/
一、背景介绍
⽬前开源的RASP产品中,有百度open-rasp、jrasp和字节hids-rasp等多款产品。在产品选型阶段,因为公司内部有不少华为ARM指令架构的国产系统,中间曾经尝试编译ARM V8检测引擎但由于缺少源码最终失败,无奈只能放弃;字节HIDS/RASP安全策略不多,偏向于"⽇志时收集器",⽆法满⾜当前的⽣产环境的需求。在试⽤了⼀款商业RASP后,“机缘巧合”下找到了开源的jrasp,于是开始安装试用。
尽管JRASP项⽬在github上star数量和安装量都不多,但是经过与作者⼀段时间的技术交流,发现他⻓期从事JavaAgent开发⼯作,在性能诊断、故障演练、全链路监控等⽅⾯经验⾮常丰富,并且对同类产品如btrace、skywalking和open-rasp等有源码级别的理解。jrasp项⽬吸收了同类产品的优势,核⼼框架层的代码最早的可以追溯到10年前,稳定耐⽤bug极少。
3.1、业务特征
公司共有3000多个项⽬,分布在全国各地,每个项⽬的节点数量在20~200台,总节点数量超过10万规模。每个项⽬相互隔离,要求在每个项⽬部署安全产品,所有的安全产品共⽤1台主机(RASP产品占⽤约0.5台)。
3.2、JRASP的整体架构
主要包含三个部分:jrasp-agent、jrasp-daemon、jrasp-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.html;web应⽤名称的识别上,存在bug导致守护进程cpu飙升。参考:https://www.jrasp.com/guide/case/case20230902/case20230902.html