IIS安全基线要求response中不能泄露版本信息,下文介绍如何配置

在IIS+ASP.NET的运行环境,默认情况下会输出以下的响应头(Response Headers):

    Server    Microsoft-IIS/8.0
    X-AspNet-Version    4.0.30319
    X-AspNetMvc-Version    5.1
    X-Powered-By    ASP.NET

移除Sever

1.下载重写模块 URL Rewrite

2.修改全局配置文件 C:\Windows\System32\inetsrv\config\applicationHost.config 在中添加以下配置

    <rewrite>
        <allowedServerVariables>
            <add name="REMOTE_ADDR" />
        </allowedServerVariables>            
        <outboundRules>
            <rule name="REMOVE_RESPONSE_SERVER">
                <match serverVariable="RESPONSE_SERVER" pattern=".*" />
                <action type="Rewrite" />
            </rule>
        </outboundRules>
    </rewrite>

移除X-AspNet-Version

在web.config的中添加enableVersionHeader="false":

<httpRuntime enableVersionHeader="false" />

移除X-AspNetMvc-Version

在 Application_Start() 中添加如下代码:

protected void Application_Start()
{
    MvcHandler.DisableMvcResponseHeader = true;
}

移除X-Powered-By

在IIS Manager功能视图中,IIS=>HTTP 响应标头,移除X-Powered-By