SuperMap GIS基础软件安全问题Q&A
iServer服务器安全性最佳做法
iPortal门户安全性最佳做法
iManager安全性最佳做法
搜索请参考【附录一:CVE解决清单】
解决办法:无需处理;
解决过程:通过查询了解到需同时满足 以下条件
JDK 9 及以上版本
Apache Tomcat 作为 Servlet 容器
Spring 框架以及衍生的框架'
云产品等目前使用的是jdk8 ,并不会触发该漏洞
搜索网址:
https://cve.mitre.org/cve/search_cve_list.html
https://nvd.nist.gov/vuln/search (查看v3的评分)
参考安全性最佳做法进行修改;
如上图所示:某安全测试软件针对SuperMap iServer 10.1.2进行安全测试得出上图中的1个高危,4个中危漏洞的报告
解决办法:
问题描述:ip:8090/iserverrvicescurity/login,网站存在Fastjson反序列化远程代码执行漏洞 当Fastjson<=1.2.47 会存在反序列化漏洞
解决方法:
1.升级版本:10.1.4版本、10.2.1及以上版本iServer内置Fastjson版本为1.2.78,升级版本即可解决。
2.不升级版本:通过修改iServer根目录/bin目录下的catalina.bat(.sh)文件进行配置
在JAVA_OPTS 中增加配置,增加配置后需重启iServer,配置具体信息如下:
Windows系统:
setJAVA\_OPTS=%JAVA\_OPTS%-Xms256m-Xmx1536m-Xss512k-Dfastjson.parser.deny.internal=java.net
Linux系统:
JAVA\_OPTS=%JAVA\_OPTS%-Xms256m-Xmx1536m-Xss512k-Dfastjson.parser.deny.internal=java.net
问题描述:该问题影响范围为
Tomcat8 | 8.5.50-8.5.81 |
---|---|
Tomcat9 | 9.0.30-9.0.64 |
Tomcat10 | 10.0.0-M1-10.0.22 |
Tomcat10 | 10.1.0-M1-10.1.0-M16 |
解决办法:
使用War包部署:Tomcat由用户指定,用户可指定高版本Tomcat;
使用Deploy、ZIP包部署:10.2.1、11.0.0及以上版本中iServer已升级至9.0.64。
问题描述:Apache Shiro身份验证绕过漏洞(CVE-2020-1957)
解决方法:shiro 1.5.2 及以上版本已修复关于上述的身份验证绕过漏洞,升级产品包至【supermap-iserver-1021-21119-6183】或以上版本即可解决上述问题。
问题描述:Shiro处理cookie的流程有三步
由于AES的密钥是硬编码的,攻击者可以通过构造payload造成反序列化的命令执行。
解决方法:Shiro1.9及以上版本已解决此问题,可通过如下三种方式解决此问题
问题描述:Web许可中心存在用户名密码传递为明文问题。
解决方法:
Web许可中心升级至2.0.8版本或以上版本;
确认产品可支持连接wss协议(Web许可中心开启https后,协议由ws变成wss)
注:iServer、iEdge、iPortal产品均支持wss协议
解决方法:目前官网的web许可中心已更新到supermap-bslicense-server-3.0.9版本,该版本中已解决上述的漏洞问题,如遇到上述漏洞,直接升级到官网最新版本即可解决。
问题描述:远程Web应用程序不设置X-Frame-Options响应头。 微软已经提出X-Frame-Options作为缓解点击劫持攻击的一种方法,并且已经在Chrome和Safari中实施。
解决方法:tomcat配置中增加XFO响应头的设置,参考博客http://www.manongjc.com/detail/22-mdywxzzidlnvndr.html
解决方法:参考博客进行修改配置https://www.cnblogs.com/KruceCoder/p/14879972.html
问题描述:baserCMS是一套企业级内容管理系统(CMS)。Mail是其中的一个邮件插件。
baserCMS Mail 3.0.10及之前的版本中存在跨站请求伪造漏洞。当Mail插件启用,用户访问恶意的URL时,远程攻击者可利用该漏洞在服务器上执行未授权操作
解决方法:通过如下两种方式均可解决此问题
问题描述:PostgreSQL JDBC Driver是一个用 Pure Java(Type 4)编写的开源 JDBC 驱动程序,用于 PostgreSQL 本地网络协议中进行通信。PostgreSQL JDBC Driver(简称 PgJDBC)存在安全漏洞,该漏洞源于pgjdbc连接属性提供的类名实例化插件实例,驱动程序在实例化类之前并不验证类是否实现了预期的接口从而导致远程代码。
解决方法:以下两种方式均可解决此问题
2.升级iServer版本:iServer-1021-20910-6146及以上版本均已解决
问题描述:默认SuperMap iServer快速发布服务时可通过远程浏览方式,看到当前服务器所有文件,从而暴露服务器资源。
解决办法:
SuperMap iServer10.1.2及之后的版本可通过如下配置解决问题,更低版本请先升级iServer版本后再进行配置,配置步骤如下:
修改iServer安装目录\webapps\iserver\WEB-INF\iserver-system.xml文件 ,
问题描述:默认SuperMap iServer快速发布服务时可通过远程上传zip文件到服务器,而zip文件中包含木马程序时会有严重安全隐患。
解决办法:适用于SuperMap iServer9D及之后版本可通过如下配置解决问题,更低版本请先升级iServer版本后再进行配置,配置步骤如下:
修改iServer安装目录\webapps\iserver\WEB-INF\iserver-system.xml文件 ,
问题描述:OpenSSL是OpenSSL团队开发的一个开源的能够实现安全套接层(SSL v23)和安全传输层(TLS v1)协议的通用加密库,它支持多种加密算法,包括对称密码、哈希算法、安全散列算法等。OpenSSL 1.0.2m之前的版本和1.1.0g之前的1.1.0版本中的x86_64 Montgomery squaring procedure存在安全漏洞。远程攻击者可利用该漏洞获取敏感信息。
解决办法:iServer并未内置OpenSSL,使用 APR 方式配置 HTTPS 加密的时候会使用OpenSSL 生成公钥和私钥,配置HTTPS时,采用高版本的OpenSSL生成密钥即可解决此问题。
问题描述:jQuery是美国John Resig程序员的一套开源、跨浏览器的JavaScript库。该库简化了HTML与JavaScript之间的操作,并具有模块化、插件扩展等特点。 jQuery 3.4.0之前版本中存在跨站脚本漏洞,该漏洞源于WEB应用缺少对客户端数据的正确验证。攻击者可利用该漏洞执行客户端代码。
解决办法:iServer10.1.4、10.2.1及更高版本已修复此漏洞,升级版本即可解决。
问题描述:
举例:iServer登录状态下,使用火狐浏览器访问连接,按下shift+alt+x触发XSS漏洞。
该漏洞是一个触发十分困难的漏洞,需要iServer处于管理员登录状态,需要火狐浏览器打开,需要被钓鱼人员手动按下shift+alt+x,才可触发此漏洞,故在很多扫描中该漏洞不被扫出,
该问题本地可重现问题,启动iServer使用火狐浏览器浏览,登录,按下shift+alt+x,执行alert()语句。
http://localhost:8090/iserver/services/machinelearning/restjsr/%22accesskey=%22X%22%20οnclick=%22alert(‘xss’)%22
解决办法:由于大部分扫描中不认为该问题属于安全漏洞,故未对此进行修复,若客户存在相关需求,可以根据客户是否使用machinelearing相关资源,通过xml配置关闭machinelearing,在扫描时进行规避,关闭方法如下所示:
将iServer根目录下\webapps\iserver\WEB-INF\iserver-machinelearning.xml中
补充说明:绝大多数反射型XSS可以在本地进行复现,大部分XSS在本地复现若未能执行请求参数中的JavaScript语句,这一类问题应告知客户,不属于安全漏洞,JS代码未被执行,属于扫描软件误报。
误报举例:针对地图服务overview.rjson资源请求时,将正常请求中width=256修改为256%3Ciframe+src%3Djavascript%3Aalert%286465%29%3E
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kft5qAnM-1666344211864)(RackMultipart20221021-1-xysims_html_76719221ab24fa61.png)]
则返回值为上图。该iframe标签内的JavaScript语句并未被执行,故不认为是漏洞,属于误报。
若客户急需通过扫描,且未使用相关资源,考虑关闭相关资源,例如上述例子关闭机器学习资源绕行,执行绕行方案则扫描中不会出现该问题。
若客户不同意绕行方案,通过扫描报告中测试请求,进行复现,若XSS代码被执行,请联系支持中心,若扫描报告提供的测试请求不能执行XSS代码,请告知客户误报。
问题描述:
该类问题主要发生于扫描软件在扫描时,需要验证登录iServer后台,从而拥有对iServer所有页面包括mananger资源进行测试渗透的权限。
举例:
/iserver/manager/spsAndspsets.rjson资源被扫描出"泄露系统部署绝对路径","泄露数据库口令与账户敏感信息"等问题。
经过确认/iserver/manager/spsAndspsets.rjson为服务提供者(集合)资源的rjson表述。
该资源用于记录与修改,发布iServer REST服务所需的数据源来源,若文件型数据源,则记录文件绝对路径,若数据库型数据源,则记录为数据库类型,数据库地址,数据库名,用户名密码。
解决方案:问题的根源在于在扫描软件扫描的过程中给予了Admin权限,导致扫描软件读取到了敏感信息,若遇到类似情况请在iServer中新建一个nopassword角色账户,并将该账户录入扫描软件的登陆脚本中,限制扫描软件禁止访问后台。从逻辑上来讲也是说得通的,若Admin账户密码已经泄露,也没有安全扫描的必要了。
目前对于iserver-services.xml中的数据库型数据源,用户密码等已经进行加密,iserver-1021-21201之后的版本中,该问题得到修复,但是iServer前端访问该资源并没有加密的打算,目前加密只支持至xml文件中,原因是前端页面资源中加密会导致前端manager配置页面不可用。
问题描述:当iServer使用root账户启动时,程序对于/root目录具有访问喝写入权限,此时通过filechooser文件管理功能,对该目录上传 .ssh.zip文件,该文件会自动解压,若将文件名设为authorized_keys,则可以设置root账户的ssh密码,从而获取远程访问服务器的root权限。
解决方案:
SuperMap iServer10.1.2及之后的版本可通过如下配置解决问题,更低版本请先升级iServer版本后再进行配置,配置步骤如下:
修改iServer安装目录\webapps\iserver\WEB-INF\iserver-system.xml文件 ,
问题描述:此次针对扫描的资源为iserver/managercense.rjson,扫描软件为IBM AppScan,对于该资源进行GET请求,修改请求中_t参数,由于修改参数后响应完全相同,被扫描软件认定为疑似跨站点请求伪造漏洞。
解决方案:此种现象为误报,不影响使用也不会有安全泄露问题,原因如下
/iserverrvicescurity/login ——login页面也不需要用户身份验证即可访问
/iserverrvicescurity/tunnel1/publickey.json ——登录所需的RSA公钥,公开资源
以上资源同样存在此情况,测试请求修改的参数可能不同,为jsessionid或其他,原理与license完全一致
_t参数被扫描软件认为是该请求所需的令牌,认为若令牌改变,则期望返回401未认证或404不存在该资源等结果。
但是针对license资源,该资源为公开资源,描述了iServer目前使用的许可以及包含的许可模块,从设计上这一块儿不涉及用户验证,故修改_t参数并不影响响应。
问题描述:该问题同样由AppScan扫描出,针对ip:port/iserveratic/img%20-%20Copy/,或者iserveratic下其他资源,扫描到的请求为针对上述资源执行GET请求,扫描软件将请求类型修改为DELETE,之后重新执行该请求,响应为200。扫描软件报告指出:如果可以在没有正确授权的情况下访问 API 端点(例如,普通用户可以访问仅限管理员的 API 端点,或访客可以访问仅需经过认证的 API 端点),则 API 端点容易受到功能级授权中断攻击。
解决方案:此种现象为误报,iserveratic下资源为公开权限的静态资源,无需对于访问者身份进行验证,资源用于构成iServer公开页面图标等,故不涉及扫描报告所提及的授权相关问题。
问题描述:supermap-iserver-1021-20815-92-linux-x64-huawei-deploy.tar.gz包检查出gson、apache avro版本安全漏洞问题(CVE-2022-25647、CVE-2021-43045)
解决方法:supermap-iserver-1021-21107-139-linux-x64-huawei-deploy.tar.gz已修复,其中gson 已升级到 2.8.9 版本; avro涉及大数据,上述的包中已删除。
注:目前是在华为安全机上部署使用的supermap-iserver-1021-20815-92-linux-x64-huawei-deploy.tar.gz华为安全包检查出有这两个漏洞问题,关于其他版本暂未发现关于gson、apache avro的安全漏洞。
问题描述:据国家网络与信息安全信息通报中心通报,有黑客利用Elasticsearch服务器存在未授权访问漏洞,攻击入侵暴露在互联网上的Elasticsearch系统,实施数据窃取和勒索。攻击者删除Elasticsearch数据库中部分数据,插入名为"read_me"的"勒索信",告知用户支付0.015比特币索回被删除数据,并附比特币收款地址、联系邮箱地址以及比特币购买网址。
iServer10i版本内的Elasticsearch6.8.8,存在安全漏洞,需排查梳理Elasticsearch系统使用和受影响情况。
解决方法:目前iServer101.2版本中包含的Elasticsearch版本为6.8.8,根据客户描述,需排除Elasticsearch的漏洞 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2zHCQjOt-1666344211865)(RackMultipart20221021-1-xysims_html_121bd38ffbef604b.png)]
如果在实际使用中并未用到Elasticsearch空间数据库,这样就可以直接将上述的jar包移除,然后再重新启动iServer即可,只要没用到发布Elasticsearch空间数据库就可以,不影响其他数据发布。
注:如在项目中需要用到Elasticsearch空间数据库发布服务,请联系技术支持。
问题描述:iServer产品漏洞扫描报告中提示风险"三维服务中的domainComponents页面可能存在信息泄露的风险"。
解决方案:因为这块是领域组件的,用于iServer扩展。不需要的话可以删除。通过压缩工具打开iserver-all-*的jar包,在templates文件夹中将domainComponents.ftl删除即可。
问题描述:经测试发现当前应用系统支持 TLS V1.0版本加密协议,存在TLS /DTLS 信息泄露漏洞CVE-2013-0169, 攻击者可能能够利用此问题实施中间人攻击,以及解密受影响的服务与客户端之间的通信。
解决方案:升级至TLS 1.2 或更高版本即可解决,具体操作可参考下方博客:https://blog.csdn.net/weixin_35052117/article/details/108755639配置TLS1.2协议。
问题描述:iServer产品漏洞报告中提示漏洞风险:“检测到目标站点存在JavaScript框架库漏洞”
解决方案:iServer10.2.1及以上版本已解决此问题,升级版本即可。
问题描述:老版本的iServer中Spring版本较低,如果客户使用老版本可能会扫描出该漏洞。
解决方案:以下两种方式均可解决此问题
解决方案: 修改iPortal webapps/iportal/web-inf/web.xml中的 hostHeaderAttackFilter 中的 allowedHosts 参数,设置为当前iPortal所在服务器的ip地址
问题描述:
Eclipse Jetty 输入验证错误漏洞 ,该漏洞源于无效的 URI 解析可能会产生无效的 HttpURI.authority,以下产品和版本受到影响:Eclipse Jetty 9.4.46及之前版本、10.0.9 及之前版本、11.0.9及之前版本。
解决方案: 以下两种方式均可解决此问题:
1.自行升级相关jetty的jar包,官网下载对应修复版本后的jetty的Jar包后替换下面截图中即可,下载地址:
https://mvnrepository.com/artifact/org.eclipse.jetty
2.升级iServer:iServer新包已升级替换,可联系技术支持申请10.2.1,11i最新版本
问题描述:Elasticsearch存在安全隐患,默认配置下访问核心组件Kibana不需要密码。
解决方案: 目前云产品只有iManager for K8s用到了Kibana组件(经典版iManager没用到)。
问题描述:Apache Spark是一款集群计算系统,其支持用户向管理节点提交应用,并分发给集群执行。如果管理节点未启动访问控制,攻击者可以在集群中执行任意代码。该漏洞的本质是未授权用户可以向Master节点提交一个应用,Master节点会分发给Slave节点执行应用。如果应用中包含恶意代码,会导致任意代码执行,威胁Spark集群整体的安全性。
解决方案:
2.不使用内置的spark集群:用户可自行搭建带安全认证的Hadoop Yarn集群