1.需求背景
随着安全问题越来越重视与关注,对于客户环境需要提供外网环境给用户使用的场景,出于安全考虑,本着“最小够用原则”,产品需要只开放暴露给移动端外网访问相关的URL请求,没有开放外网给移动端访问的URL请求要一律拦截。
2.功能说明
该扩展包通过自定义请求头或外网访问IP区分内外网,通过配置其中的规则拦截用户想对外开放的相应功能或API。
3.使用说明
3.1. 扩展包部署
部署 ,详细说明请参考Wiki链接:扩展包部署
3.2. 访问配置文件地址
(1) 访问 【协议://IP:PORT/smartbi/vision/defender.jsp】,如示例:http://10.10.11.254:18010/smartbi/vision/defender.jsp ,导入模板defenderConfig.json(假如已有配置,建议先导出备份)
(2)标识外网的方式有两种:【按请求头名称标识外网】或【按请求端IP标识外网】
按请求头名称标识外网,前置代理机需要自定义一个请求头,key建议全英文,大小写不敏感,如示例:nginx设置了自定义请求头【customizeName】,值同样建议全英文。
(3)选中defender.jsp的【按请求头名称标识外网】,并且填上你的自定义名称,如示例【customizeName】
验证:怎么验证你的自定义请求头是否生效呢?
(3-1)、勾选【启动跟踪日志】的【是】并【保存】(非排查问题或验证外,不建议开启,会影响性能),然后进入smartbi->系统监控->日志→开始监控日志
访问代理地址,如以上nginx配置示例: http://10.10.11.254:8642/smartbi/vision/index.jsp ,此时日志里面搜素示例配置的自定义请求头【customizeName】的值【test】,若能读出来,说明配置没问题。
【按请求端IP标识外网】,该场景适合smartbi服务器及前置代理机不在同一台机器也就是不同的IP地址,这里填入外网访问的代理IP。
(4)用代理地址访问【系统监控】、【用户日志】、【计划任务】等相关功能,假如返回403,则配置正常,按场景需要进行配置。
(5)其他功能说明:如defender.jsp 下的【帮助】
备注:该扩展包支持V8-V11,jdk 要1.7及以上,所有发包版本的war包需要在2023年9月22号以后的才生效、V87在2023年11月9号以后