0


SuperMap GIS基础软件安全问题Q&A

SuperMap GIS基础软件安全问题Q&A

目录

一.安全性最佳做法

1.iServer

iServer服务器安全性最佳做法

2.iPortal

iPortal门户安全性最佳做法

3.iManager

iManager安全性最佳做法

二.安全问题排查流程

1、排查流程图

在这里插入图片描述

2、有CVE、CWE编号的排查流程

第一步:通过检索【附录一:CVEj解决清单】进行编号查找;

第二步:如果编号存在,请进行版本升级

第三步:如果编号不存在,搜索详情后先判断是否属于误报;

搜索请参考【附录一:CVE解决清单】

第四步:不属于误报,请联系技术支持400-8900866

误报举例: 比如’CVE-2022-22965’

3、无CVE、CWE编号的排查流程

第一步:对照【安全性最佳做法】排查;

参考安全性最佳做法进行修改;

第二步:确定是否当前版本已修改;

第三步:确定是否会有会产生影响;

排查举例
在这里插入图片描述

如上图所示:某安全测试软件针对SuperMap iServer 10.1.2进行安全测试得出上图中的1个高危,4个中危漏洞的报告

解决办法:

  • 漏洞1,3, 4 均属于’产品已提供安全配置措施’这一类,在最优安全配置文档里面搜索关键词,进行对应的配置即可解决;
  • 漏洞2,10.1.4及以上版本已升级JavaScript框架库,升级iServer版本即可;
  • 漏洞5,属于第三方软件自身的漏洞审查,实际指的是产品里面的WebGL的一个检测页面,不存在源码的泄漏,属于第三方软件误报,不构成安全问题。

三、 可能遇到的问题及解决办法

问题一:Fastjson反序列化远程代码执行

问题描述: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

问题二: Tomcat版本过低 CNNVD-202206-2227,CVE-2022-34305

问题描述:该问题影响范围为
Tomcat88.5.50-8.5.81Tomcat99.0.30-9.0.64Tomcat1010.0.0-M1-10.0.22Tomcat1010.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)

问题三:Apache Shiro身份验证绕过漏洞(CVE-2020-1957)

解决方法:shiro 1.5.2 及以上版本已修复关于上述的身份验证绕过漏洞,升级产品包至【supermap-iserver-1021-21119-6183】或以上版本即可解决上述问题。

问题四:针对Shiro反序列化命令执行漏洞

问题描述:Shiro处理cookie的流程有三步

  1. 通过先得到rememberMe的cookie值
  2. cookie值经过Base64解码,AES加密;
  3. 对加密后结果进行反序列化。

由于AES的密钥是硬编码的,攻击者可以通过构造payload造成反序列化的命令执行。

解决方法:Shiro1.9及以上版本已解决此问题,可通过如下三种方式解决此问题

  1. 可自行升级 Shiro 依赖版本为1.9,官网下载对应Jar包后替换即可,下载地址:https://mvnrepository.com/artifact/org.apache.shiro/shiro-core/1.9.0

需替换的Jar包如下:
在这里插入图片描述

  1. 升级iServer到11.0.0或以上版本;
  2. 关闭rememberMe的方式,参考iServer服务器安全性最佳做法中的关闭 Remember Me 功能。

问题五:Web许可中心,明文传输问题

问题描述:Web许可中心存在用户名密码传递为明文问题。

解决方法:

  1. Web许可中心升级至2.0.8版本或以上版本;
  2. Web许可中心开启https,开启后Web许可链接地址为wss://ip:9183在这里插入图片描述
  3. 确认产品可支持连接wss协议(Web许可中心开启https后,协议由ws变成wss) 注:iServer、iEdge、iPortal产品均支持wss协议

问题六:web许可中心bslicense2.0.0中存在如下安全漏洞

在这里插入图片描述

解决方法:目前官网的web许可中心已更新到supermap-bslicense-server-3.0.9版本,该版本中已解决上述的漏洞问题,如遇到上述漏洞,直接升级到官网最新版本即可解决。

问题七:HTTP响应头部使用X-Frame-Options

问题描述:远程Web应用程序不设置X-Frame-Options响应头。 微软已经提出X-Frame-Options作为缓解点击劫持攻击的一种方法,并且已经在Chrome和Safari中实施。

解决方法:tomcat配置中增加XFO响应头的设置,参考博客http://www.manongjc.com/detail/22-mdywxzzidlnvndr.html

问题八:Tomcat进程运行权限检测、Tomcat目录权限检测、开启日志记录、禁止显示异常调试信息、禁止自动部署

在这里插入图片描述

解决方法:参考博客进行修改配置https://www.cnblogs.com/KruceCoder/p/14879972.html

问题九:baserCMS Mail 跨站请求伪造漏洞(CVE-2016-4879)

问题描述:baserCMS是一套企业级内容管理系统(CMS)。Mail是其中的一个邮件插件。

baserCMS Mail 3.0.10及之前的版本中存在跨站请求伪造漏洞。当Mail插件启用,用户访问恶意的URL时,远程攻击者可利用该漏洞在服务器上执行未授权操作

解决方法:通过如下两种方式均可解决此问题

  1. 自行升级javax.mail文件,javax.mail-1.6.2.jar或以上版本已解决此问题,文件的替换路径为:iServer\webapps\iserver\WEB-INF\lib,如截图所示

在这里插入图片描述

  1. 升级iServer版本:10.1.2及以上版本已解决此问题

问题十:PostgreSQL JDBC Driver 远程代码执行漏洞(CVE-2022-21724)

问题描述:PostgreSQL JDBC Driver是一个用 Pure Java(Type 4)编写的开源 JDBC 驱动程序,用于 PostgreSQL 本地网络协议中进行通信。PostgreSQL JDBC Driver(简称 PgJDBC)存在安全漏洞,该漏洞源于pgjdbc连接属性提供的类名实例化插件实例,驱动程序在实例化类之前并不验证类是否实现了预期的接口从而导致远程代码。

解决方法:以下两种方式均可解决此问题

  1. 自行升级:将 PostgreSQL JDBC 升级到 42.2.25、42.3.2 及以上版本,下载地址:https://jdbc.postgresql.org/download.html

在这里插入图片描述

2.升级iServer版本:iServer-1021-20910-6146及以上版本均已解决

问题十一:SuperMap iServer发布服务时,远程浏览服务器所有文件资源风险

问题描述:默认SuperMap iServer快速发布服务时可通过远程浏览方式,看到当前服务器所有文件,从而暴露服务器资源。

解决办法:

SuperMap iServer10.1.2及之后的版本可通过如下配置解决问题,更低版本请先升级iServer版本后再进行配置,配置步骤如下:

修改iServer安装目录\webapps\iserver\WEB-INF\iserver-system.xml文件 ,<properties> 元素中设置<fileManagerWorkDir>工作目录路径,可以是绝对路径,如 ’ D:\ftp ‘;也可以是相对路径,如’…/…/data’。设置后用户仅可浏览并上传数据至该指定工作目录,如删除本参数,则用户可浏览并上传至 iServer所在机器的任意目录。此参数需重启 iServer 方能生效。

问题十二:SuperMap iServer发布服务时,恶意攻击者可以通过文件上传木马程序

问题描述:默认SuperMap iServer快速发布服务时可通过远程上传zip文件到服务器,而zip文件中包含木马程序时会有严重安全隐患。

解决办法:适用于SuperMap iServer9D及之后版本可通过如下配置解决问题,更低版本请先升级iServer版本后再进行配置,配置步骤如下:

修改iServer安装目录\webapps\iserver\WEB-INF\iserver-system.xml文件 ,<properties> 元素中设置<deniedFiles>,禁止上传的文件类型,推荐禁止的文件类型及配置方法为:<deniedFiles>.jsp,.sh,.exe,.bat,.html,.js,.war,.class,.jar,.shtml,.htm,.php,.aspx,.asp,.asa,.jspx,.cgi</deniedFiles>。此参数需重启 iServer 方能生效。

问题十三:OpenSSL 安全漏洞

问题描述: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生成密钥即可解决此问题。

问题十四:iServer带的iClient包存在jQuery 跨站脚本漏洞(CVE-2019-11358)

问题描述:jQuery是美国John Resig程序员的一套开源、跨浏览器的JavaScript库。该库简化了HTML与JavaScript之间的操作,并具有模块化、插件扩展等特点。 jQuery 3.4.0之前版本中存在跨站脚本漏洞,该漏洞源于WEB应用缺少对客户端数据的正确验证。攻击者可利用该漏洞执行客户端代码。

解决办法:iServer10.1.4、10.2.1及更高版本已修复此漏洞,升级版本即可解决。

问题十五: iServer存在反射型XSS

问题描述:

举例: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中

<enabled>true</enabled>节点改为False,即可关闭该资源。

补充说明:绝大多数反射型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权限

问题描述:当iServer使用root账户启动时,程序对于/root目录具有访问喝写入权限,此时通过filechooser文件管理功能,对该目录上传 .ssh.zip文件,该文件会自动解压,若将文件名设为authorized_keys,则可以设置root账户的ssh密码,从而获取远程访问服务器的root权限。

解决方案:

SuperMap iServer10.1.2及之后的版本可通过如下配置解决问题,更低版本请先升级iServer版本后再进行配置,配置步骤如下:

修改iServer安装目录\webapps\iserver\WEB-INF\iserver-system.xml文件 ,<properties> 元素中设置<fileManagerWorkDir>工作目录路径,可以是绝对路径,如 ’ D:\ftp ‘;也可以是相对路径,如’…/…/data’。设置后用户仅可浏览并上传数据至该指定工作目录,如删除本参数,则用户可浏览并上传至 iServer所在机器的任意目录。此参数需重启 iServer 方能生效。

问题十八: 跨站点请求伪造(某些情况下为误报)

问题描述:此次针对扫描的资源为iserver/managercense.rjson,扫描软件为IBM AppScan,对于该资源进行GET请求,修改请求中_t参数,由于修改参数后响应完全相同,被扫描软件认定为疑似跨站点请求伪造漏洞。

解决方案:此种现象为误报,不影响使用也不会有安全泄露问题,原因如下

/iserverrvicescurity/login ——login页面也不需要用户身份验证即可访问

/iserverrvicescurity/tunnel1/publickey.json ——登录所需的RSA公钥,公开资源

以上资源同样存在此情况,测试请求修改的参数可能不同,为jsessionid或其他,原理与license完全一致

_t参数被扫描软件认为是该请求所需的令牌,认为若令牌改变,则期望返回401未认证或404不存在该资源等结果。

但是针对license资源,该资源为公开资源,描述了iServer目前使用的许可以及包含的许可模块,从设计上这一块儿不涉及用户验证,故修改_t参数并不影响响应。

问题十九:API 功能级授权中断

问题描述:该问题同样由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版本安全漏洞问题

问题描述: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的安全漏洞。

问题二十一:iServer10i版本内的Elasticsearch6.8.8,存在安全漏洞

问题描述:据国家网络与信息安全信息通报中心通报,有黑客利用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空间数据库发布服务,请联系技术支持。

问题二十二:三维服务中的domainComponents页面可能存在信息泄露的风险。

问题描述:iServer产品漏洞扫描报告中提示风险"三维服务中的domainComponents页面可能存在信息泄露的风险"。

在这里插入图片描述

解决方案:因为这块是领域组件的,用于iServer扩展。不需要的话可以删除。通过压缩工具打开iserver-all-*的jar包,在templates文件夹中将domainComponents.ftl删除即可。

问题二十三:SSL/TLS协议漏洞测试(CVE-2013-0169)

问题描述:经测试发现当前应用系统支持 TLS V1.0版本加密协议,存在TLS /DTLS 信息泄露漏洞CVE-2013-0169, 攻击者可能能够利用此问题实施中间人攻击,以及解密受影响的服务与客户端之间的通信。

解决方案:升级至TLS 1.2 或更高版本即可解决,具体操作可参考下方博客:https://blog.csdn.net/weixin_35052117/article/details/108755639配置TLS1.2协议。

问题二十四:检测到目标站点存在JavaScript框架库漏洞

问题描述:iServer产品漏洞报告中提示漏洞风险:“检测到目标站点存在JavaScript框架库漏洞”

解决方案:iServer10.2.1及以上版本已解决此问题,升级版本即可。

问题二十五:关于Spring Framework远程代码执行漏洞

问题描述:老版本的iServer中Spring版本较低,如果客户使用老版本可能会扫描出该漏洞。

解决方案:以下两种方式均可解决此问题

  1. 更新版本:10.2.1版本及以上版本均可;
  2. 自行替换Spring相关jar包:10.2.1中spring版本已解决此问题,将10.2.1iServer路径下相关Jar包替换至老版本iServer,路径为【安装目录】\webapps\iserver\WEB-INF\lib路径中,文件包括下图中红框spring 5.3.18相关的同名的jar替换过去即可,不包括蓝色框内3个文件。在这里插入图片描述

问题二十六:iPortal关于 HTTP Host 头部攻击漏洞

解决方案: 修改iPortal webapps/iportal/web-inf/web.xml中的 hostHeaderAttackFilter 中的 allowedHosts 参数,设置为当前iPortal所在服务器的ip地址

问题二十七: CVE-2022-2047,Eclipse Jetty 输入验证错误漏洞

问题描述:

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不需要密码

问题描述:Elasticsearch存在安全隐患,默认配置下访问核心组件Kibana不需要密码。

解决方案: 目前云产品只有iManager for K8s用到了Kibana组件(经典版iManager没用到)。

  1. 升级版本:iManager for K8s 10.2.0及以上版本。因为从iManager 10.2.0开始,Kibana都是通过网关(有安全认证)访问的。
  2. 不升级版本:低于10.2.0版本(例如10.1.4、10.1.3等),将iManager for K8s基础服务列表中Elasticsearch和Kibana禁用即可,禁用后不影响其它服务使用。

问题二十九:iserver内置spark集群存在"未授权访问漏洞"

问题描述:Apache Spark是一款集群计算系统,其支持用户向管理节点提交应用,并分发给集群执行。如果管理节点未启动访问控制,攻击者可以在集群中执行任意代码。该漏洞的本质是未授权用户可以向Master节点提交一个应用,Master节点会分发给Slave节点执行应用。如果应用中包含恶意代码,会导致任意代码执行,威胁Spark集群整体的安全性。

解决方案:

  1. 使用内置spark集群:对外关闭敏感端口,只允许本机访问,这些是内置spark集群会用到的端口;

在这里插入图片描述

2.不使用内置的spark集群:用户可自行搭建带安全认证的Hadoop Yarn集群

附录

附录一:CVE解决清单


本文转载自: https://blog.csdn.net/supermapsupport/article/details/127450298
版权归原作者 supermapsupport 所有, 如有侵权,请联系我们删除。

“SuperMap GIS基础软件安全问题Q&A”的评论:

还没有评论