金蝶云星空 配置站点安全配置与参数

目标:收集常用站点安全配置方案,帮助客户现场快速配置和通过第三方安全扫描工具认证。( 7.X:支持;)
1、拦截XSS攻击配置(IISRESET):
<urlBlockRules>
<!-- 这里的所有value必须符合正向搜索正则表达式,表达式内容必须经过base64编码-->
<!--\<(\s){0,}(\/){0,}(\s){0,}script\>-->
<add key="Script_In_Bracket" value="XDwoXHMpezAsfShcLyl7MCx9KFxzKXswLH1zY3JpcHQoXHMpezAsfShcLyl7MCx9KFxzKXswLH1cPg==" />
<!--[\<\>]
最严格规则,如有特例可以屏蔽这个规则
-->
<add key="Point_Bracket" value="W1w8XD5d" />
<!--(\<[^\<^\>]{0,}\>)-->
<add key="Point_Bracket_Pair" value="KFw8W15cPF5cPl17MCx9XD4p"/>
<add key="document_cookie" value="ZG9jdW1lbnRcLmNvb2tpZVtcLlw7XHNcK1wpXXswLDF9" />
<!--\\u\S{4,4}\\u-->
<add key="unicode" value="XFx1XFN7NCw0fVxcdQ==" />
<!--\<\s{0,}iframe-->
<add key="iframe" value="XDxcc3swLH1pZnJhbWU=" />
<!-- 以下为选用规则,不是星空默认出厂配置 -->
<!--(/\.\.){1,}/ 拦截改变相对路径资源的请求-->
<add key="Double_Point_InRBar" value="KCUyZlwuXC4pezEsfSUyZg==" />
<!--(\/\.\.){2,}\/ 拦截改变相对路径资源的请求-->
<add key="Double_Point_InRBarCT" value="KFwvXC5cLil7Mix9XC8=" />
<!--\?{1,}[^\/,^\(]{1,}\s{0,}\([^\)]{0,}\)[\s\S]{0,}&user-agent= 拦截url函数注入-->
<add key="URL_INJ_Func" value="XD97MSx9W15cLyxeXChdezEsfVxzezAsfVwoW15cKV17MCx9XClbXHNcU117MCx9JnVzZXItYWdlbnQ9" />
<!--解决父级路径访问注入 accessParentPath: ../-->
<add key="accessParentPath" value="XC5cLlwv" />
</urlBlockRules>1.2、在website/app_data/Common.config中的<appSettings>节点下增加并启用输入数据拦截规则参数 <add key="IsInputBlock" value="True"/>参数,同时确保启用了数据压缩【1.1.4】;
<!-- 实现对明文ap参数的waf 拦截 -->
<textBlockRules>
<!-- 启用拦截规则参数由Appsettings.IsInputBlock控制,输入数据拦截,拦截点:1、所有服务端输入参数;2、HTML客户端文本录入;-->
<!-- 这里的所有value必须符合正向搜索正则表达式,表达式内容必须经过base64编码;-->
<!--\<(\s){0,}(\/){0,}(\s){0,}script\>-->
<add key="Script_In_Bracket" value="XDwoXHMpezAsfShcLyl7MCx9KFxzKXswLH1zY3JpcHQoXHMpezAsfShcLyl7MCx9KFxzKXswLH1cPg==" />
<add key="document_cookie" value="ZG9jdW1lbnRcLmNvb2tpZVtcLlw7XHNcK1wpXXswLDF9"/>
<!--\<\s{0,}iframe-->
<add key="iframe" value="XDxcc3swLH1pZnJhbWU="/>
<!--\<[^(\?xml)][^\>^\<]+\=[^\>^\<]+[^\?]\>-->
<add key="caller_in_Point_Bracket" value="XDxbXihcP3htbCldW15cPl5cPF0rXD1bXlw+Xlw8XStbXlw/XVw+"/>
<add key="caller_in_less_Point_Bracket" value="XDxbXihcP3htbCldW15cPl5cPF0rXD1bXlw+Xlw8XStbXlw/XStbXChcKVw+XCdcIl1bXlw/XQ=="/>
</textBlockRules><!--启用HTTP请求压缩--> <add key="SL_Http_Compressed" value="true"/>
1.5、如果二开自定义请求参数存在类注入脚本格式数据或xml数据,请在传入前用base64进行编码,使用时再进行解码,避免木马注入。
1.6、添加强制转义特殊字符配置,解决url扩展威胁,在app_data/common.config的appsettings中增加自定义转义如下。
<!-- PT-146926 [8.0.0.20220922] 发布时间:2022/9/22 构建号:8.0.361.9, 强制转义 [`'\(\)\s\<\>\&\=] 为下划线 --> <add key="__DirPathXssCharsPattern__" value="[`'\(\)\s\<\>\"\&\=]" />
或者升级到最新版本,该参数在 【PT-151005 [8.2.0.20231109] 发布时间:2023/11/9 构建号:8.2.775.7 】已经作为出厂配置,升级该补丁即可。
2、保护Cookie的安全设置:
<httpCookies httpOnlyCookies="true" requireSSL="true" />
<!-- PT141347[7.3.1391.1] 2019/9/20--> <add key="IsSecureCookie" value="True"/> <!-- PT141347[7.3.1391.1] 2019/9/20--> <add key="IsAspNetSecureCookie" value="True"/>
3、防止网站被别的站点iframe嵌套:
<!-- 增加HTTP协议参数 --> <httpProtocol> <customHeaders> <!-- 避免了点击劫持 (clickjacking) 的攻击。Value:DENY,SAMEORIGIN,ALLOW-FROM --> <add name="X-Frame-Options" value=" SAMEORIGIN " /> </customHeaders> </httpProtocol>
<!-- 增加HTTP协议参数 --> <httpProtocol> <customHeaders> <!-- 指定iframe所在页面的站点地址嵌套本网站页面 例如云之家 https://www.yunzhijia.com--> <add name="X-Frame-Options" value=" ALLOW-FROM https://www.yunzhijia.com/" /> </customHeaders> </httpProtocol>
4、隐藏堆栈信息:
5、Sql注入拦截
<!--Sql关键字--> <add key="SqlKeys" value="select|insert|delete|from|drop|update|count|chr|char|mid|truncate|exec|net user|or|and|xp_cmdshell"/> <!--脚本关键字--> <add key="ScriptKeys" value="& amp;|& quot;|& gt;|& lt;"/>(这里要做html转码,论坛原因需要去掉&后的空格使用)
6、防止上传目录文件泄露


7、上传文件白名单设置
<add key="UploadWhiteList" value="txt,pdf,doc,docx,xls,xlsx,ppt,pptx,rft,jpg,png,bmp,gif,jpeg,rar,zip,dat,key,msg,cad,btw,avi,rmvb,wps,et,dps,vsd" /> <add key="DocSuffix" value="doc|docx|xls|xlsx|pdf|ppt|pptx|txt|wps|rtf|et|dps|vsd" /> <add key="ImageSuffix" value="jpeg|jpg|png|gif|bmp|cur" /> <add key="VideoSuffix" value="wmv|avi|swf|wav|mpeg|aif|mdi|mpg|rmvb|flv|mkv" /> <add key="PackageSuffix" value="kdpkg" />
8、反向代理实现HTTPS->http映射
9、IIS版本号在请求响应头中泄漏(使用微软rewrite模块)
http://www.cnblogs.com/dudu/p/iis-remove-response-readers.html
》》归纳总结如下:


9.2、删除服务器版本
9.2.1、安装微软 IIS URL Rewrite 模块
》微软官方说明 https://docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/using-the-url-rewrite-module
》微软官方下载地址:https://www.iis.net/downloads/microsoft/url-rewrite
》简体中文版下载地址是:上面下载地址下方有各种语言的下载链接。
》安装过程中出现2503错误估计是C:\windows\temp权限不够目录权限不足,可设置为完全控制解决,并用管理员角色进行安装。
》安装后出现503错误,可能是操作系统没有更新微软安全补丁,更新到最新补丁可以解决。
》安装报版本过低,参考本文疑问23。
》2012R2的操作系统没有更新系统补丁的情况下出现该问题,更新补丁后问题解决。
.
9.2.2、配置web.config重写规则
<rewrite> <outboundRules> <rule name="REMOVE_RESPONSE_SERVER"> <match serverVariable="RESPONSE_SERVER" pattern=".*" /> <action type="Rewrite" /> </rule> </outboundRules> </rewrite>
9.3、移除X-AspNet-Version


9.4 移除etag标识:
》》配置 web.config配置rewrite的重写规则的出站outboundRules规则如下:
<rule name="Remove ETag"> <match serverVariable="RESPONSE_ETag" pattern=".+" /> <action type="Rewrite" value="" /> </rule>
9.5 IIS的一些其他Header设置可参考外部资料,mozila官方网站说明 (注意浏览器品牌版本兼容性)
【http标头】https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Accept
9.6 针对IIS根节点的版本问题,例如对响应的头服务器版本号修改的需求,如何配置?
》针对IIS根节点的请求,需要修改响应头变量时,需要把rewrite规则从星空website目录移动到iis的根目录下。iis根目录一般默认是安装在C:\inetpub\wwwroot下,例如对响应的头服务器版本号修改的需求,可以把关于服务器版本号的rewrite规则迁移到iis根节点目录的C:\inetpub\wwwroot\web.config中(website/web.config要相应移除对应的rewrite配置,避免与上级节点重复引起iis错误)。
9.7 配置完成后,需要重启IIS,同时清理测试客户端的浏览器本地缓存文件,再进行相关测试操作。
10、 IIS关闭谓词Trace、OPTIONS方法
解决方案:
10.1、方法1:web.config 在<configuration>节点下添加如下代码,只允许开启GET、POST和HEAD方法:
<system.webServer> <security> <requestFiltering> <verbs allowUnlisted="false"> <add verb="GET" allowed="true"/> <add verb="POST" allowed="true"/> <add verb="HEAD" allowed="true"/> </verbs> </requestFiltering> </security> </system.webServer>
10.2、方法2:IIS 里面有个请求筛选,选择根节点或者具体网站,然后在右侧的功能中选择【请求筛选】-->【HTTP谓词】-->右键添加【拒绝谓词】-->输入【OPTIONS】,然后确定即可。

11、关于Silverlight的跨域访问配置问题 clientaccesspolicy.xml
解决方案参考:
【https://vip.kingdee.com/article/10182】
12、如果严格某种请求的谓语动词
只允许Web服务器响应GET和POST请求(金蝶云要求HEAD,GET,POST),其他则拒绝的方法,需要在iis管理器中的处理程序映射功能中设置。如下图:


13、如何启用安全验证码功能
13.3,设置菜单中选系统参数,勾选启用验证码即可;


14、如何屏蔽html5的调试模式?
<!--强制不允许终端启用调试模式,目前主要用于HTML5端--> <add key="AllowDebugMode" value="False" />
15、HTML5的JQuery如何自己进行升级替换?
》》如何下载jquery组件,例如下面图片(只是例子,有最新版本要下最新版本)


16、用户账号在登录页可枚举?
17、如何配置cookie的samesite参数?
金蝶云星空 配置站点安全配置与参数
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。




