【问题标题】:Securing http headers保护 http 标头
【发布时间】:2013-09-03 05:35:49
【问题描述】:

我有一个在生产服务器中的网站,它应该非常安全,所以我想保护 http 标头,以免泄露不需要的信息。

我在网上搜索了有关保护 http 标头的信息,到目前为止发现我们可以删除 unanted 信息,例如删除

'Server Microsoft-IIS/7.5
X-AspNet-Version 4.0.303319
X-Powered-By ASP.NET -'

我找到了 X-Aspnet 和 X 的解决方案,由: 1. 对于 X-AspNet,我在 system.web 部分添加了以下代码

<httpRuntime enableVersionHeader="false"/>
  1. 对于 X-Powered,我在 system.webserver 部分添加了以下代码

但是对于服务器标头删除代码不起作用:(

我使用的代码是:

  1. 我添加了一个名为 CustomHeaderModule 的类,该类代码如下

    /// /// CustomHeaderModule 的概要描述 /// 公共类 CustomHeaderModule : IHttpModule {

    public void Dispose()
    {
        throw new NotImplementedException();
    }
    
    public void Init(HttpApplication context)
    {
        context.PostReleaseRequestState += PostReleaseRequestState;
    }
    
    void PostReleaseRequestState(object sender, EventArgs e)
    {
        //HttpContext.Current.Response.Headers.Remove("Server");
        // Or you can set something funny
        HttpContext.Current.Response.Headers.Set("Server", "CERN httpd");
    }
    

    }

然后在 system.webserver 部分下的 web.config 中注册它

<modules runAllManagedModulesForAllRequests="true">
      <add name="CustomHeaderModule" type="CustomHeaderModule" />
    </modules>

现在这段代码不起作用..我仍然在 chrome 浏览器的标题中看到服务器..

我该如何解决这个问题,除了这 3 个设置之外,还有其他更安全的设置吗?

【问题讨论】:

  • 没有人愿意帮助我:(
  • 看过这个? 4guysfromrolla.com/articles/120209-1.aspx "简而言之,您需要创建一个 HTTP 模块,为 PreSendRequestHeaders 事件创建一个事件处理程序。"

标签: asp.net http-headers


【解决方案1】:

考虑到您的问题,我建议您使用ASafaWeb 来测试您的网站!

其次是阅读 Troy Hunt 和 Paul Bouwer 的这些文章:

看完这篇文章你终于可以看看NWebSec了!

【讨论】:

    【解决方案2】:

    很抱歉,如果这不能直接回答您的问题,但我不会真的费心删除这些标题。有人可以通过查看浏览器端的 html 代码轻松找出您使用的服务器。

    如果我查看源代码并看到像 __VIEWSTATE 这样的东西,我会立即知道这是 ASP.NET,如果我再深入一点,我可能也能找出版本。

    我的建议是,您应该专注于标准的安全和风险程序,例如确保您不会接受 SQL 注入、验证服务器端的所有内容、确保所有备份都到位并准备就绪几分钟后,如果需要,添加额外的身份验证层,确保您在服务器上拥有所有安全更新等......

    【讨论】:

      【解决方案3】:

      我找到了一种适用于 IIS 但不适用于本地的解决方案,但我可以接受...Removing/Hiding/Disabling excessive HTTP response headers in Azure/IIS7 without UrlScan

      无论如何,除了这 3 个设置..还有其他方法可以更安全的 http 标头..

      【讨论】:

        猜你喜欢
        • 2019-03-15
        • 1970-01-01
        • 2020-04-30
        • 1970-01-01
        • 2013-11-13
        • 2015-10-08
        • 2011-06-13
        • 1970-01-01
        • 2018-03-16
        相关资源
        最近更新 更多