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

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

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

本篇基础:xml语法,http/https基础知识,iis基础知识

目标:收集常用站点安全配置方案,帮助客户现场快速配置和通过第三方安全扫描工具认证。( 7.X:支持;)


1、拦截XSS攻击配置(IISRESET)

1.1、URL请求头拦截规则,在website/app_data/Common.config中的<packageConfig>节点下找到子节点<urlBlockRules>,修改或添加相应需要的规则项,完整规则列表参考下面配置数据规则高速缓存修改需要重启IIS才能生效,请在非生产时间修改
    <!-- 实现对 http[s]://xxx.xxx.xxx.xxx/k3cloud/目录下URL+headers访问的waf 拦截 (PT-146876 [7.6.0.202105] 发布时间:2021/5/13 构建号:7.6.2171.1)-->
    <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】;


1.3、在website/app_data/Common.config中的<packageConfig>节点下添加输入数据文本黑名单拦截规则配置如下(规则高速缓存修改需要重启IIS才能生效,请在非生产时间修改):
    <!-- 实现对明文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>


1.4、同时在<appSettings>启用压缩参数,避免误拦截, 如下:
 <!--启用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\&lt;\&gt;\&quot;\&amp;\=]" />

或者升级到最新版本,该参数在 【PT-151005 [8.2.0.20231109] 发布时间:2023/11/9 构建号:8.2.775.7 】已经作为出厂配置,升级该补丁即可。


2、保护Cookie的安全设置


2.1、在website/Web.Config的<system.web>节点下添加配置选项 httpCookies ,httpCookies选项解决cookie的httponly和secure参数的控制,secure只能在https协议下配置; (由于某些iis版本可能不生效,可以参考2.2强制配置)
<httpCookies httpOnlyCookies="true" requireSSL="true" />


2.2、也可以在website/app_data/Common.config文件中的<appSettings>节点下配置安全cookie参数如下: 
 <!-- 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嵌套

3.1、配置x-frame-options白名单2020-08-27补丁的common.config中配置【DefaultFrameOptions】和【FrameOptionsWhiteList】参数,参考 https://vip.kingdee.com/article/146280 (可忽略 3.2 说明)
3.2、在WebSite/Web.Config中的<system.webserver>节点下配置 x-frame-options选项;
[例子1:同源嵌套]
<!-- 增加HTTP协议参数 -->
    <httpProtocol>
      <customHeaders>
        <!-- 避免了点击劫持 (clickjacking) 的攻击。Value:DENY,SAMEORIGIN,ALLOW-FROM -->
        <add name="X-Frame-Options" value="
SAMEORIGIN
" /> 
      </customHeaders>
    </httpProtocol>
[例子2:指定iframe所在页面的站点地址嵌套本网站页面]
    <!-- 增加HTTP协议参数 -->
    <httpProtocol>
      <customHeaders>
        <!-- 指定iframe所在页面的站点地址嵌套本网站页面 例如云之家  https://www.yunzhijia.com-->
        <add name="X-Frame-Options" value="
ALLOW-FROM
 https://www.yunzhijia.com/" />
      </customHeaders>
    </httpProtocol>
    实例可参考jjbear的帖子: https://vip.kingdee.com/article/170680 
[例子3:服务端硬编码]
如果编程实现,可以考虑在服务端代码中,每个请求响应都加入硬编码 (不推荐)
response.headers["X-Frame-Options"] = "ALLOW-FROM https://www.yunzhijia.com"
例外:但是x-Frame-options的支持受浏览器的限制,在部分浏览器是支持不了的。可以参考微软文档。
https://blogs.msdn.microsoft.com/ieinternals/2010/03/30/combating-clickjacking-with-x-frame-options/   
https://www.cnblogs.com/jacko/p/6034112.html
https://jingyan.baidu.com/article/f0e83a25e7fc6f62e59101ef.html 


4、隐藏堆栈信息

4.1、通过在website/app_data/Common.config里面的<appSettings>节点下添加StackTraceLevel参数为,并设置为0,实现在界面上的错误提示仅提示错误编码;
   <add key="StackTraceLevel" value ="0"/>   
4.2、参数说明:
4.2.1、业务级别下StackTrackLevel=0,仅展示错误信息和编码,服务端的Log日志中可以按错误编码找到完整堆栈信息;
4.2.2、程序级别下StackTrackLevel=100,展示所有错误信息和编码,以及堆栈信息;


5、Sql注入拦截

5.1、通过在website/app_data/Common.config里面的<appSettings>节点下添加以下节点;
<!--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转码,论坛原因需要去掉&后的空格使用)
5.2、用Administrator登录系统,在【参数设置】功能下,选择【基础管理-BOS平台】分组,勾选【启用脚本关键字合法性验证】和【启用Sql关键字合法性验证】选项;


6、防止上传目录文件泄露

6.1、在IIS的站点目录下,配置【处理程序映射】功能中添加【添加托管处理程序】;
6.2、录入请求路径:FileUploadServices/UploadFiles/*.* ;类型录入 Kingdee.BOS.Web.FileServer.Download, Kingdee.BOS.Web;
6.3、如下图:


image.webp



7、上传文件白名单设置

7.1、通过在Common.config里面的<appSettings>节点下添加以下节点;
    <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" />
7.2、即可实现上传文件白名单功能;


8、反向代理实现HTTPS->http映射 

8.1、通过反向代理实现公网443->内网80的映射;
8.2、在反向代理服务器上设置Request的header参数X-Forwarded-Proto=https即可;
8.3、安装最新补丁( https://open.kingdee.com/K3Cloud/Open/PTDownload.aspx );
8.4、或者参考 下面链接的【问题7】;
https://vip.kingdee.com/article/10615
https://vip.kingdee.com/article/24800


9、IIS版本号在请求响应头中泄漏(使用微软rewrite模块)

解决方案:按照微软官方文档配置即可去掉版本号; 
参考:https://blogs.msdn.microsoft.com/varunm/2013/04/23/remove-unwanted-http-response-headers/
其他参考:

http://www.cnblogs.com/dudu/p/iis-remove-response-readers.html

》》归纳总结如下


9.1、IIS 删除asp.net版本
image.webp


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重写规则

在 system.webServer 节点最后加入, 如果rewrite规则已经存在,就把子项按节点层次融合在一起:
    
    <rewrite>
        <outboundRules>
            <rule name="REMOVE_RESPONSE_SERVER">
                <match serverVariable="RESPONSE_SERVER" pattern=".*" />
                <action type="Rewrite" />
            </rule>
        </outboundRules>
    </rewrite>


9.3、移除X-AspNet-Version

》》在web.config的<httpRuntime>中添加 属性 enableVersionHeader="false"

image.webp


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、如果严格某种请求的谓语动词 

解决方案:
如果是针对所有请求的谓语动词,可以参考【10、IIS中关闭Options谓词方法】

只允许Web服务器响应GET和POST请求(金蝶云要求HEAD,GET,POST),其他则拒绝的方法,需要在iis管理器中的处理程序映射功能中设置。如下图:

image.webp

13、如何启用安全验证码功能

解决方案:
13.1,管理员登陆管理中心(http://xxx.xxx.xxx.xxx:8000);
13.2,打开数据中心列表;

13.3,设置菜单中选系统参数,勾选启用验证码即可;

image.webp

14、如何屏蔽html5的调试模式

解决方案:
14.1、通过在website/app_data/Common.config里面的<appSettings>节点下添加以下节点;
    <!--强制不允许终端启用调试模式,目前主要用于HTML5端-->
    <add key="AllowDebugMode" value="False" />
14.2、保存后,终端电脑只需要重新登入系统即可生效。


15、HTML5的JQuery如何自己进行升级替换

解决方案:
15.1、HTML5的jquery框架可以到 https://jquery.com/download/   下载最新jquery.xxx.min.js文件,改名名为jquery.min.js 并替换到应用服务器 WebSite/HTML5/Script/thirdpart/jquery/ 目录即可;
15.2、由于jquery为底层框架,替换建议在测试环境进行替换,并做好单据以及列表的应用测试后,再替换到正式环境。替换前请备份好原文件
15.3、清理客户端浏览器的缓存才能生效,清理浏览器缓存可以参考: https://vip.kingdee.com/article/45408 
15.4、关于通用JQuery框架的说明参考: https://vip.kingdee.com/article/141931013949127680 
15.5、关于website/jquery/jquery.js是Silverilght使用的,Silverlight由于需要兼容IE11以下版本,例如IE8等常用浏览器,不建议切换jquery系列,因为兼容IE8等浏览器的最高系列为1.x版本非1.x的不能兼容老的浏览器。(如果确认不使用可去掉该目录,或者确认不使用老浏览器,可以参考HTML5的修改方法,手工替换jquery.js文件为3.x系列的最新版本)
15.6、云星空功能补丁【PT-146869 [7.6.0.202103]  2021/3/25  构建号7.6.2122.7】版本HTML5目录的Jquery框架已经升级到2021年最新3.6.0版本。最新V8.2升级到3.7.1。星空后续会持续跟踪jquery进行版本适配升级。

》》如何下载jquery组件,例如下面图片(只是例子,有最新版本要下最新版本)

image.webp

16、用户账号在登录页可枚举

答:2019-10-31补丁PT142914  [7.5.1450.1] 已经解决了“用户账号可枚举”问题


17、如何配置cookie的samesite参数?

答:如果客户使用了星空移动端,则这个samesite不能配置,因为钉钉和部分老手机WEBVIEW不支持这个SameSite参数导致SESSION丢失,从而导致无法使用星空移动网页相关功能,这个是由具体移动设备的第三方App或浏览器决定的。
》Web.config的配置和移动端相关影响说明具体参考【https://vip.kingdee.com/article/136841261830379264  】
》升级操作系统的 DotNetFrameWork 4.7.2 / 4.8, 微软关于samesite的说明参考 
https://docs.microsoft.com/zh-cn/microsoftteams/platform/resources/samesite-cookie-update  】
https://docs.microsoft.com/zh-cn/aspnet/samesite/system-web-samesite  】
》另外一篇不错的配置文章参考【https://blog.csdn.net/xiaocui0601/article/details/103756749
》SameSite=Lax 参考知识:【https://zhuanlan.zhihu.com/p/257860705 】
》三个方案任选一个,总结简单步骤如下:
方案一、升级微软框架并修改配置
1、升级操作系统的 DotNetFrameWork 4.7.2 / 4.8,然后修改web.config;
2、system.web/sessionState  节点增加属性 cookieSameSite="None";
3、system.web/authentication/forms 节点增加属性 cookieSameSite="None";
特别备注如果有移动应用或Iframe嵌套集成,需要修改SameSite为None,则可以参考下图进行配置:
如有有移动应用,请一定要查看移动端帖子的说明   

   https://vip.kingdee.com/article/136841261830379264  并把cookieSameSite改为None ):

image.webp


4、chorme版本升级到109以上,低版本的内核默认强制为lax,会导致微软的aspnet的cookie无法携带。


方案二、安装Rewrite模块,并设置rewrite规则
1、安装微软 IIS URL Rewrite 模块;(参考本文的9.2.1
2、配置rewrite规则,路径【configuration/system.webServer】节点下,规则如下(默认值设置为None,如果没有iframe嵌套集成和移动应用,则可以设置为Lax):
<rewrite>
  <outboundRules>
   <rule name="AddSameSiteCookieFlag">
    <match serverVariable="RESPONSE_Set-Cookie" pattern="^(.*)(kdservice\-sessionid|ASP\.NET_SessionId|JSESSIONID)(=.*)$" />
    <action type="Rewrite" value="{R:0};SameSite=None" />
   </rule>
  </outboundRules>
</rewrite>


方案三、重症治疗-混合使用

如果客户端使用了谷歌109及以上最新版本,则需要混合使用 上面的两个方案都启用才能生效,也就是升级应用服务器framework4.7并配置web.config配置项,同时使用rewrite规则;


18、如何配置响应头HSTS(Strict-Transport-Security)?

答:可以参考下面文章配置IIS参数 HSTS,启用该配置后,要求网站必须走https协议,不允许再使用http协议:
https://docs.microsoft.com/en-us/iis/get-started/whats-new-in-iis-10-version-1709/iis-10-version-1709-hsts 
https://www.hangge.com/blog/cache/detail_1890.html 
https://stackoverflow.com/questions/21887524/enable-http-strict-transport-security-hsts-in-azure-webroles
》》归纳总结步骤如下:
* 增加HSTS -- Strict-Transport-Security
》》
1、安装微软 IIS URL Rewrite 模块(参考本文的9.2.1
2、配置web.config重写规则 
在 system.webServer 节点最后加入, 如果rewrite规则已经存在,就把子项按节点层次融合在一起:
<rewrite>
    <rules>
        <rule name="Redirect HTTP to HTTPS" stopProcessing="true">
            <match url="(.*)" />
            <conditions>
                <add input="{HTTPS}" pattern="off" />
            </conditions>
            <action type="Redirect" url="https://{HTTP_HOST}/k3cloud/{R:1}" redirectType="Permanent" />
        </rule>
    </rules>
    <outboundRules>
        <rule name="REMOVE_RESPONSE_SERVER">
            <match serverVariable="RESPONSE_SERVER" pattern=".*" />
            <action type="Rewrite" />
        </rule>
        <rule name="Add the STS header in HTTPS responses">
            <match serverVariable="RESPONSE_Strict_Transport_Security" pattern=".*" />
            <conditions>
                <add input="{HTTPS}" pattern="on" />
            </conditions>
            <action type="Rewrite" value="max-age=31536000" />
        </rule>
    </outboundRules>
</rewrite>
》》例如:website/web.config 合并上面【9.2、删除服务器版本】的规则后,如下图:
注意路径【configuration/system.webServer】


19、如何配置HTML5请求参数为密文,避免给waf误拦截?

答:可以参考 【https://vip.kingdee.com/article/146280】 文章配置common.config,增加以下参数即可,注意需要更新补丁到PT-146884  [7.7.0.202108] 构建号7.7.2256.5 2021.08.06之后的更新包才有这个功能。


<!--HTML5端默认编码了apx参数,采用GZIP+URLEncode编码,=false则恢复为明文参数模式 (
PT-146884  [7.7.0.202108] 构建号7.7.2256.5 2021.08.06 )-->
<add key="compressedapx" value="false"/>


20、Web server lacks Content Security Policy (CSP) header (头参数缺少CSP设置)

答:是iis配置问题,可以在website/web.config中配置:
<system.webServer>
    <httpProtocol>
        <customHeaders>            
<!-- 下面的192.168.19.190只是一个ip的例子,请修改为实际星空部署的域名或ip,例如: *.ik3cloud.com 52.81.116.170 ,各项白名单策略用
英文空格隔开 -->            
<add name="Content-Security-Policy" value="default-src 192.168.19.190 k3cloud: *.ik3cloud.com *.open.kingdee.com localhost:* 'unsafe-eval' data: 'unsafe-inline' localhost 127.0.0.1 ws://127.0.0.1:9268 *.piaozone.com *.yunzhijia.com *.kingdee.com 'self'; " />
        </customHeaders>
    </httpProtocol>
</system.webServer>
以上为Content-Security-Policy模板例子,依据实际需求进行修改,
可参考CSDN的CSP相关知识配置 https://blog.csdn.net/qq_25623257/article/details/90473859  
》》例如:website/web.config 配置路径【configuration/system.webServer/httpProtocol/customHeaders】,如下图:




21、Web page content type incorrectly stated (kdsvc contenttype 类型疑问)

答:星空与服务端交互数据为自定义数据格式,实现混合数据模式可明文也可数据压缩编码,云星空的客户端和前端脚本会对接收数据自动进行判断并解析处理,不存在数据风险。


22、 js css files Content Type Charset Check, (js 和 css 类型的contenttype要求加入utf-8编码说明)

答:修改IIS的mime类型配置即可,在mime类型值后加入【;charset=utf-8】即可,具体操作参考互联网文章 https://www.hangge.com/blog/cache/detail_386.html 



23、安装rewrite模块,有时报不能安装,提示iis版本低,但实际iis版本已经是10了

答:这是微软安装包的bug,判断iis版本有误,可以手工改注册表版本号为9,安装完成后再改回来即可。
安装步骤如下
1.修改iis版本为9.reg (下面内容存为.reg文件,然后双击运行改写注册表,注意文件最后增加几行空行
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp]
"MajorVersion"=dword:00000009
2. 下载并安装微软 IIS URL Rewrite 模块模块
    微软官方下载地址:https://www.iis.net/downloads/microsoft/url-rewrite
    简体中文版下载地址是:http://download.microsoft.com/download/4/E/7/4E7ECE9A-DF55-4F90-A354-B497072BDE0A/rewrite_x64_zh-CN.msi 
3.修改iis版本为10.reg(下面内容存为.reg文件,然后双击运行改写注册表,注意文件最后增加几行空行
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp]
"MajorVersion"=dword:0000000a
4.重启iis服务iisreset

5.配置web.config重写规则



24、配置IIS安全加固后,如何测试配置生效?如果不生效,后续如何操作?

答:配置iis安全加固后,通过浏览器访问网页,在F12窗口的network中查看Response Headers,可以参考如下图进行对照,下图仅是示例,其他加固以实际需求为准,主要参考可到微软官方网站搜索相关官方文档进行参考。

    如果配置不生效,说明有步骤没有做对,请参照上述的加固点指引或微软官方文档指引重新进行对照配置,一直到生效为止。

image.webp

25、修改配置的一般规范步骤是什么?

答: 对于配置修改,建议一般操作规范流程如下:
    1、在测试环境进行配置修改;
    2、在测试环境进行测试确认运行正常; 
    3、备份生产环境目标修改文件; 
    4、在闲时同步相关修改到生产环境中;
    5、在生产环境中测试确认运行正常;
    6、如有异常,重新从1~5做起,直到正确为止;


26、IIS短文件名漏洞修复

答:IIS短文件名是操作系统设置问题,不是云星空问题,修复建议百度搜索“IIS短文件名泄露漏洞修复”关键词可以获取很多解决方案。
》参考修复方案总结:
    1、CMD关闭NTFS 8.3文件格式的支持
        Windows Server 2008 R2 命令行:fsutil 8dot3name set 1
        Windows Server 2003      命令行:fsutil behavior set disable8dot3 1
    2、修改注册表禁用短文件名功能
        CMD输入regedit回车,在注册表中找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem,将其中的 NtfsDisable8dot3NameCreation这一项的值设为 1;
    (以上需要重启系统生效)

    3、修改IIS根节点的请求筛选-拒绝序列-URL,增加拒绝的url为~的请求,设置参考下图:

image.webp

27、如何修改云星空动态请求返回数据类型,避免浏览器直接访问执行内容?

答:参考【云星空处理KDSVC请求返回数据修改为text/plain类型https://vip.kingdee.com/article/226430781944882176 


28、CSRF攻击

答: 配置SameSite=None,Sercure即可解决,参考 【17、如何配置cookie的samesite参数?】

》》CSRF说明参考https://segmentfault.com/a/1190000021114673


29、Content Sniffing not disabled , ( X-Content-Type-Options: nosniff )

答:方法1、配置iis的http响应头即可,如下新增响应参数,然后重启iis即可


方法2、手工配置website站点下的web.config文件,找到【system.webServer/httpProtocol/customHeaders】路径增加如下节点,保存后重启iis即可。


30、如何移除响应头的etag标识:

答:操作步骤1,参考【9.2.1、安装微软 IIS URL Rewrite 模块】安装模块。

步骤2,修改website站点下的web.config配置rewrite的重写规则的出站outboundRules规则如下:

<rule name="Remove ETag">
    <match serverVariable="RESPONSE_ETag" pattern=".+" />
    <action type="Rewrite" value="" />
</rule>


31、星空配置404指定页面(httpErrors设置)。

答:website/web.config文件配置404映射文件即可实现。


32、 加固云星空服务器的数据通讯安全(3 - KingdeeXml)相关二开指引

答:【加固云星空服务器的数据通讯安全(3 - KingdeeXml)参考 https://vip.kingdee.com/article/390545756555520256?productLineId=1&isKnowledge=2 , 另外建议升级到最新补丁 PT-156001 [8.2.0.20240229]。二开规范webapi参考 【二开案例.WebApi.从零开发自定义WebApi接口】

https://vip.kingdee.com/article/97030089581136896?productLineId=1&isKnowledge=2 



xx、(占位)

答:(占位)


关于论坛文章中拷贝代码导致配置文件报错问题

ps: 【重点】关于论坛文章中拷贝代码导致配置文件报错问题

答:参考: https://vip.kingdee.com/article/158166130920311808 


------------------------------------------------------------
创建于2019年3月6日 10:04:35
... ... 
编辑于2021年8月10日 10:16:28
编辑于2021年8月12日 15:51:00
编辑于2021年8月19日 17:28:56
编辑于2021年8月24日 14:24:00
编辑于2021年9月9日 15:39:33


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

本篇基础:xml语法,http/https基础知识,iis基础知识目标:收集常用站点安全配置方案,帮助客户现场快速配置和通过第三方安全扫描工具认证...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息