https://vip.kingdee.com/knowledge/specialDetail/352491453127123200?category=352492189965817856&id=269827861362621184&productLineId=1&lang=zh-CN
本篇基础: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\<\>\"\&\=]" />
或者升级到最新版本,该参数在 【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.htmlhttps://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、业务级别下StackTraceLevel=0,仅展示错误信息和编码,服务端的Log日志中可以按错误编码找到完整堆栈信息;4.2.2、程序级别下StackTraceLevel=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、如下图:
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版本
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"
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,同时清理测试客户端的浏览器本地缓存文件,再进行相关测试操作。
9.8 其他更多响应头移除需求可参考微软文档【Remove Unwanted HTTP Response Headers】
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管理器中的处理程序映射功能中设置。如下图:
13、如何启用安全验证码功能
解决方案:13.1,管理员登陆管理中心(http://xxx.xxx.xxx.xxx:8000);13.2,打开数据中心列表;
13.3,设置菜单中选系统参数,勾选启用验证码即可;
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组件,例如下面图片(只是例子,有最新版本要下最新版本)
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 ):
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,可以参考如下图进行对照,下图仅是示例,其他加固以实际需求为准,主要参考可到微软官方网站搜索相关官方文档进行参考。
如果配置不生效,说明有步骤没有做对,请参照上述的加固点指引或微软官方文档指引重新进行对照配置,一直到生效为止。
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为~的请求,设置参考下图:
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
重要关联知识:
1、【金蝶云星空安全防护专题】https://vip.kingdee.com/knowledge/specialDetail/352491453127123200?productLineId=1
2、【星空卫士安全检测助手】https://vip.kingdee.com/article/558389666785583104?productLineId=1&isKnowledge=2&lang=zh-CN
本文链接:https://www.kinber.cn/post/4701.html 转载需授权!
推荐本站淘宝优惠价购买喜欢的宝贝: