8868体育的IAST功能(主动式IAST),OpenRASP的IAST通过对agent采集到的流量数据进行重放,根据hook点信息做选择性的扫描;与主动式漏扫相比,这种方式减少了很多请求,但是也会存在少量的脏数据,对测试不是很友好;OpenRASP的扫描器支持配置URL白名单,笔者通过对eidt、add、logout等接口加白,基本上解决了脏数据的问题,但是出现了很多漏报,而且基于重放HTTP请求的检测方式,对存在签名、防重放之类,无法进行HTTP请求重放的接口来说,基本无法进行扫描。
然后,看到火线开源了洞态IAST(被动式IAST),本地化部署及测试之后,发现比较符合预期,于是开始做各业务线的推广,与DevOps流程进行集成,目前已实现了新上线项目的IAST自动化部署。
关于洞态IAST介绍,可以直接查看[官方文档][0],接下来,主要分享一下IAST部署及其与DevOps集成的方案。
拉取洞态项目代码后,执行build.sh脚本,一键部署docker环境(因为网络问题,代码总是拉取失败,根据shell脚本手动部署一下)
浏览器访问:[访问dongtai-web服务(默认用户名/密码:admin、admin),登陆后及时修改密码,在系统配置 - 密码修改处修改密码,然后做好安全组策略,防止恶意扫描
组织管理中,可以新增子部门及普通用户,方便后续分工;子部门用于区分应用所属业务线,每个业务线分别生成属于自己的agent
管理后台部署完成后,接下来就需要带着分管安全的leader去找每条业务线研发leader、测试、应用运维,去了解一下现有的网络架构,笔者公司的测试服务均跑在K8S上,Java版本为1.8。
选择应用运行环境,目前我们Java的服务都通过maven打包成jar包,通过java -jar 命令的方式启动,项目名称可以保持默认,我们所有的服务均在CD阶段通过传参的方式指定
2.3 打开管理后台,选择项目配置 - 新建项目,配置项目名称为test,添加扫描策略
目前IAST项目是以业务线进行分组,在管理后台 - 项目配置 - 新建项目,添加项目,项目名称对应各个业务线简称,在启动服务时,通过配置-Dproject.name=$业务线 将agent自动关联至项目中
笔者与运维开发沟通后,修改自动化发布流程及脚本,对测试环境中新增的Java服务,将自动集成洞态IAST,确保agent覆盖率,目前已基本实现测试服务的覆盖。
本周六快手联合火线 举办线下「观火」白帽沙龙活动 ↓扫描二维码火速了解一下!
火线Zone是[火线安全平台]运营的封闭式社区,社区成员必须在[火线安全平台]提交有效漏洞才能申请免费加入,符合要求的白帽子可联系[火小表妹]免费加入~
欢迎具备分享精神的白帽子加入火线Zone,共建一个有技术氛围的优质社区!