大数跨境
0
0

SuperMap iPortal门户安全性最佳做法

SuperMap iPortal门户安全性最佳做法 空间智能软件技术大会
2022-03-18
2
导读:通过简单配置,构筑起云GIS系统的第一道防线。


GIS门户作为云GIS平台的出入口,通常处于开放的公有网络中,容易成为各种安全攻击的首要目标,例如跨站脚本攻击、服务端请求伪造、重放攻击等。为保障GIS系统的安全性与可靠性,SuperMap iPortal产品提供了一系列安全防护手段,用户可通过简单的配置,构筑起云GIS系统的第一道防线。


启用 HTTPS 加密通信,禁用 HTTP 协议

安全问题场景:SuperMap iPortal启动后默认使用的是HTTP协议, HTTP以明文的方式发送内容,不适合传输一些敏感信息,为保证传输信息不被中间服务器或者其他探测软件捕获,建议您启用HTTPS加密通信,规避潜在的信息泄密风险。


应对措施:禁用 HTTP 协议,开启 HTTPS,对通信内容加密。


配置方法:


在实际生产环境中,需要先获取CA签名的SSL证书;


修改SuperMap iPortal安装目录/conf/server.xml 配置文件,通过JSSE或APR来配置 HTTPS 加密;


修改SuperMap iPortal安装目录/webapps/WEB-INF/iportal.xml文件,配置以HTTPS协议启用服务代理;


配置后重启iPortal方可生效;



配置启用跨域访问白名单

安全问题场景:SuperMap iPortal实现了 HTML5 跨源资源共享(CORS)策略。SuperMap iPortal启动后默认允许来自任意域的跨域请求访问成功,可能会遇到类似“跨域策略配置不当”等安全问题,建议您配置跨域访问白名单,进行更精准的控制,以规避潜在的安全风险。

 

应对措施:配置跨域访问的白名单,进行更精准的跨域策略控制。

 

配置方法:


修改 SuperMap iPortal 安装目录/webapps/iportal/WEB-INF 目录下的 web.xml 文件中”cors.allowed.origins”的<param-value>值,填写允许跨域请求访问的白名单;


配置后重启iPortal方可生效;



配置启用防护跨站脚本攻击

安全问题场景:攻击者利用跨站脚本攻击 XSS(Cross Site Scripting) 在Web页面里插入恶意Script代码,当用户浏览该Web页面时,嵌入其中的Script代码会被执行,达到恶意攻击用户的目的。常见的跨站点脚本漏洞问题有:URL链接注入漏洞、URL基于DOM的跨站点脚本漏洞、URL宽字符跨站漏洞和URL跨站漏洞。

 

应对措施:修改SuperMap iPortal 的初始化配置文件web.xml,以启用防护跨站脚本攻击。


配置方法:


在SuperMap iPortal 安装目录/webapps/iportal/WEB-INF 目录下 web.xml 文件中,配置XssFilter的filter和对应的filter-mapping,以开启防护跨站点脚本攻击;


配置后重启iPortal方可生效;



开启许可驱动管理器的安全防护

安全问题场景:在安装SuperMap iPortal许可驱动后,可访问localhost:1947进入许可驱动管理页面,该页面默认未对访问用户做权限设置,任意用户都可以访问,存在安全风险。


应对措施:对许可驱动管理页面设置密码。


配置方法:


访问 localhost:1947,点击左侧Option下的Configuration,进入Basic Settings菜单栏;


在Password Protection选择项选择All ACC Page;


点击右侧的 Change Password 按钮设置密码。如您是首次设置密码,则 Current Admin Password项不填,直接输入新密码即可。密码输入完成点击 Submit 提交;


在弹出的登录窗中输入您设置的密码,用户名不填,点击“登录”;


在Basic Settings 菜单栏下再次点击 Submit,完成设置;



关闭Remember Me功能防止重放攻击

安全问题场景:iPortal启动后,默认开启了Remember Me功能,cookie中会携带 Remember Me =参数,可能使会话未及时失效,导致重放攻击(Replay Attacks)的安全问题。攻击者可以通过截取网络数据包来对系统进行越权访问。

 

应对措施:关闭Remember Me功能,以降低风险。

 

配置方法:


SuperMap iPortal安装目录/webapps/iportal/WEB-INF 目录下iserver-system.xml 文件,找到如下配置

<accessControl>     <SecuritySetting>         <tokenKey>        <disableRememberMe>true</disableRememberMe>        </tokenKey>   </SecuritySetting> </accessControl>



在<tokenKey>下一行增加<disableRememberMe>true</disableRememberMe>即可关闭 RememberMe 功能;


此配置项需重启iPortal生效;



开启异地登录检测

安全问题场景:iPortal启动后默认未开启异地登录检测,此时一个账户可以同时在多台主机上登录,存在账号泄露风险。

 

应对措施:开启异地登录检测,配置异地登录处理策略。

 

配置方法:


打开SuperMap iPortal 安装目录/webapps/iportal/WEB-INF 目录下 iserver-system.xml 文件,找到如下配置:

<checkLoggedInAnotherPlace>false</checkLoggedInAnotherPlace>



将false修改为true,即开启异地登录告警。配置后需重启iPortal方可生效;



修改用于生成令牌的共享密钥

安全问题场景:SuperMap iPortal支持按用户角色授权访问,并支持Token(令牌)机制供Web应用安全对接。Token是包含用户名、有效期和某些专有信息并通过共享密钥加密的信息字符串。如果Token过于简单或易于破译,恶意用户可以复制加密算法、获取授权用户的列表,并能够生成令牌,使用在iPortal中任何受保护的资源,存在安全风险。


应对措施:Token共享密钥应不少于16个字符,共享密钥越复杂,恶意用户越难解密和破译共享密钥。在安全性要求极高的环境中,应定期更改密钥。


配置方法:


以管理员身份登录门户首页,访问”管理”→“安全”→“安全配置”→“Token配置”页面;


查看当前Token的共享密钥或者修改Token共享密钥;


页面中的“生成密钥”按钮可以协助您生成随机共享密钥;


点击“修改密钥”可以让新创建的共享密钥生效;




安全传输令牌

安全问题场景:防止拦截和错误使用令牌,导致其他安全问题。

 

应对措施:通过 https/http 请求头传递令牌,不用 url进行传递。

 

配置方法:


找到SuperMap iPortal 安装目录/webapps/iportal/WEB-INF 目录下 web.xml 文件中”cors.allowed.headers”的<param-value>值,在已有值后添加一项“token”,如:


<init-param>    <param-name>cors.allowed.headers</param-name>    <param-value>Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers,token</param-value></init-param>



找到SuperMap iPortal 安装目录/webapps/iportal/WEB-INF/config/proxy/WEB-INF 目录下 web.xml 文件中”allowedHeaders”的<param-value>值,在已有值后添加一项”token”,如:

<init-param>    <param-name>allowedHeaders</param-name>    <param-value>Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers,token</param-value></init-param>



配置完成后重启iPortal,即可在Headers请求头中传递token从而访问iPortal受保护的资源,例如:“token:ruOVcrgRTNIDgLnfHgq3z_9XXeaBpVZ6joY85yTyAABwS7a_dHOce6Ma4IC2gYbmqKdFl-qA8dCjHrcfFP_pyA..” 



配置代理请求规则

安全问题场景:iPortal支持代理请求转发功能,攻击者可能通过服务端请求伪造SSRF(Server-Side Request Forgery) 利用iPortal发起请求访问资源,从而攻击外网无法访问的内部系统。

 

应对措施:配置代理请求URL规则,进行代理请求的限制与过滤。

 

配置方法:


打开SuperMap iPortal 安装目录/webapps/iportal/WEB-INF 目录下 iportal.xml 文件;


根据安全要求配置<proxyUriRuleConfig>项,限制或放行指定URI规则的请求;



开启登录验证码

安全问题场景:iPortal启动后,默认未开启登录验证码功能,此时用户登录无需输入验证码进行人机检测,存在用户密码暴力破解风险。

 

应对措施:开启登录验证码功能,提升账号安全性。

 

配置方法:


打开SuperMap iPortal 安装目录/webapps/iportal/WEB-INF 目录下 iportal.xml 文件,找到如下配置:

<captchaConfig><!-- 验证码配置 --><enable>false</enable><!-- 是否启用验证码 --><length>4</length><!-- 验证码长度 --><expire>120</expire><!-- 验证码过期时间(单位:秒) --></captchaConfig>



将<enable>一项的值由false修改为true,开启登录验证码功能;



十一

设置密码防暴力破解

安全问题场景:iPortal启动后,默认未开启密码防暴力破解设置,攻击者可能通过穷举手段猜解出用户口令,从而盗取用户信息。


应对措施:启用密码防暴力破解设置,限制用户登录尝试次数。


配置方法:以管理员身份登录门户首页,访问”管理”→“安全”→“安全配置”→“密码安全设置”页面,勾选启用密码防暴力破解,并设置用户最大连续登录失败次数与账号锁定时间。



锁定周期:检测连续失败次数的时间周期,默认为10分钟;


允许连续失败次数:输入密码连续失败的最大次数,超过该次数则账户立即被锁定,默认为5次;


自动解锁时间:账户锁定后,自动解锁所需的时间,默认为20分钟;



安全是GIS系统稳定高效运行的基础保障,需要从多方面出发,制定完备的安全防护策略,加强日常管理与环境维护,持续提升GIS系统安全性,为用户提供更可靠的GIS服务。

【声明】内容源于网络
0
0
空间智能软件技术大会
空间智能软件技术大会(简称“GISTC”),地理信息领域技术盛会。
内容 522
粉丝 0
空间智能软件技术大会 空间智能软件技术大会(简称“GISTC”),地理信息领域技术盛会。
总阅读133
粉丝0
内容522