IIS 移除响应头的几种方法建议参考

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

IIS 移除响应头的几种方法建议参考

【问题描述】

    在安全运维过程中,尤其是私有云部署情况下,经常需要对多余的请求响应头进行移除,也包括域名根节点的请求。



【解决方案】

一、原因分析

    这些响应头的来源主要来自微软IIS的默认配置,但在现在的一些网络攻击中被利用,从而导致被一些安全扫描软件认为是安全漏洞。

        


二、操作建议

    1、一般推荐采用微软的Rewrite模块进行响应头的覆写,来达成服务器信息隐藏的目的。参考【延伸阅读.1】

    2、一些场景存在负载均衡或反向代理,则可以考虑部署nginx、haproxy反向代理,然后在代理上面配置移除相关响应头。

    3、上述如果都存在困难,可以考虑部署一个额外的DotNetFramework4.0的自定义模块,来强制移除相关响应头,具体操作如下。

    4、以上方法建议在测试环境测试完成后,在部署到生产环境中。


三、独立部署移除响应头模块

(IIS 部署,基于DotNet4.0框架以上,不依赖星空其他组件,所有版本均可配置。)

1、在iis站点根节点上部署module (解压附件中的组件RspHeadersModule.Zip):

1.1、根节点目录下C:\inetpub\wwwroot创建子目录bin;

1.2、拷贝组件到 RspHeadersModule.dll 组件到改bin目录以及下面目录下;

    [driver]:\xx\Kingdee\K3Cloud\WebSite\bin

    [driver]:\xx\Kingdee\K3Cloud\FileService\bin

    ... ... 子站点独立bin目录的都需要部署该组件

1.3、修改目录下的web.config,如下完整版web.config;

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <appSettings>
      <add key="RemoveResponseHeaders" value="Server;X-Powered-By;X-AspNet-Version;X-AspNetMvc-Version;eTag;" />
  </appSettings>
  <system.webServer>
    <staticContent>
      <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="30.00:00:00" />
    </staticContent>
    <httpErrors errorMode="Custom">
      <remove statusCode="404" subStatusCode="-1" />
      <error statusCode="404" path="/k3Cloud/Error.html" responseMode="ExecuteURL" />
    </httpErrors>
    <defaultDocument>
    </defaultDocument>
    <modules runAllManagedModulesForAllRequests="true">
      <add name="RemoveServerHeader" type="RspHeadersModule.RemoveServerHeader,RspHeadersModule" />
    </modules>
  </system.webServer>
</configuration>

1.3.1、挑选如上路径 [configuration/appSettings[key=RemoveResponseHeaders]] 节点进行增加修改;

1.3.2、挑选如上路径 [configuration/system.webServer/modules[name=RemoveServerHeader]] 节点进行增加修改;


2、管理站点:

2.1、拷贝组件到 RspHeadersModule.dll组件到该[driver]:\xx\Kingdee\K3Cloud\ManageSite\bin目录下;

2.2、修改目录下的web.config,在[configuration/system.webServer/modules]节点下增加如下模块

<add name="RemoveServerHeader" type="RspHeadersModule.RemoveServerHeader,RspHeadersModule" />

2.3、修改目录下的web.config,在[configuration/appSettings]节点下增加如下模块

<add key="RemoveResponseHeaders" value="Server;X-Powered-By;X-AspNet-Version;X-AspNetMvc-Version;eTag;" />


3、重启IIS;(cmd: resetiis)


4、浏览器清理缓存;


5、后续有新的需要移除的响应头变量,可配置RemoveResponseHeaders属性,末尾加入改变量名,并以分号(;)分隔即可;


6、其他站点参考上面【2、管理站点】的步骤;



【注意事项】

   如果重启iis不能访问提示500错误,那么需要重启下电脑;

   根节点也需要运行在DotnetFramework4.0下。

        

   


【延伸阅读】

    1、【金蝶云星空 配置站点安全配置与参数】https://vip.kingdee.com/article/10581?productLineId=1 

【附件】

    RspHeadersModule.zip


IIS 移除响应头的几种方法建议参考

【问题描述】 在安全运维过程中,尤其是私有云部署情况下,经常需要对多余的请求响应头进行移除,也包括域名根节点的请求。【解决方案...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息