直到最近,我才开始质疑Header中Server
字段的使用。
我做了一些研究:
RFC 2616指出:
14.38服务器服务器响应-标头字段包含有关源服务器用于处理请求的软件的信息。该字段可以包含多个产品令牌(第3.8节)和标识服务器和任何重要子产品的注释。产品令牌是按其在标识应用程序中的重要性排列的。Server = " Server“:”1*(产品\注释)示例: Server: CERN/3.0 libwww/2.17如果响应是通过代理转发的,则代理应用程序不能修改服务器响应头。相反,它应该包括一个Via字段(如第14.45节所述)。注意:泄露服务器的特定软件版本可能会使服务器机器更容易受到针对已知存在安全漏洞的软件的攻击。鼓励服务器实现者使此字段成为可配置的
然而,这并没有提到这一领域的目的。在我看来,这就像信息披露。这些服务器字符串提供了很多信息,对于任何试图对服务器进行指纹识别的人来说,这些信息都是非常棒的。自动扫描工具将快速识别未修补或易受攻击的服务器。让我的web服务器为自己和像OpenSSL这样的模块提供版本信息似乎是个坏主意。
我认为,从安全的角度来看,我们希望给敌人(即:每个人)尽可能少的信息,同时仍允许业务继续进行。这里是信息战的一篇有趣的文章.
发布于 2012-10-26 17:54:15
服务器信息应从HTTP响应中删除,泄漏此数据是不安全的默认做法。这不是一个重大的安全风险,甚至不是一个中等程度的安全风险-但我感到不舒服,只是告诉我的对手这样的细节。有一个确切的版本号泄漏时,以及多久你修补你的生产系统-即使版本是最新的。一个知道补丁周期的对手,意味着他们知道你是最弱的。
header可能对网工艺网服务器调查最有用。但就HTTP而言,这并不重要。这就是为什么我们有标准,以便不同供应商编写的客户端和服务器可以协同工作。
发布于 2012-10-29 10:06:03
你想用它做什么都行。在过去,我发现它在逆向工程遵从性问题上很有帮助;例如,IIS在很多方面破坏了HTTP/1.1 (RFC 2616),但大多数都在性能上对用户有利,并且得到大多数浏览器的支持。实际上,目前大多数浏览器不再遵守RFC 2616 (现在已有13年历史)中的规则。
过去,我在HTTP服务器代码和配置中遇到了错误。了解在远程端运行的内容对诊断和解决这些问题有很大帮助。
是的,在Security101中,有人告诉您,模糊这种信息可以提高安全性,IME的好处是有限的:
https://security.stackexchange.com/questions/23256
复制相似问题