在对我们的机器进行安全审查时,我发现一台主机正在通过端口 80 向 Internet 公开 Microsoft-HTTPAPI/2.0 服务。
我对此并不熟悉,但是在谷歌搜索之后,我发现 SQL Server 2008 默认在端口 80 上发布 SQL Server Reporting Services,并将其自身标识为 HTTPAPI/2.0。主机也在运行 IIS7。
我猜这可能不是应该暴露给世界的东西。任何人都可以向我提供有关公开此服务的安全风险的任何信息或建议吗?
Response Headers - http://#.#.#.#/
Content-Type: text/html; charset=us-ascii
Server: Microsoft-HTTPAPI/2.0
Date: Mon, 10 Aug 2009 10:44:25 GMT
Connection: close
Content-Length: 315
404 Not Found
如果响应的 Server 标头返回“Microsoft-HttpApi/2.0”,则表示调用的是 HTTP.sys 而不是 IIS。漏洞利用和端口扫描将其用作识别 IIS 服务器(即使是隐藏服务器标头的服务器)的一种手段。
您可以通过使用 CURL 抛出错误来测试它:
如果您的服务器正在发送标头,您将看到如下内容:
您可以添加一个注册表值,以便 HTTP.sys 不包含标头。
参考:WS/WCF:删除服务器标头
添加注册表项后,响应如下所示:
在这里发帖,让有需要的人可以找到。(谢谢,奥拉姆!)
如果您没有任何充分的理由公开它,那么您可能不应该公开它。顺便说一句,您可能对本文感兴趣,以决定是否应该公开它
尝试在漏洞利用数据库中寻找漏洞
此服务器响应标头的最常见原因是 IIS 无法确定要服务的网站。
当以下都为真时,IIS 将使用此服务器标头进行响应
或者,如果 IIS 尝试传递的网站的配置格式不正确,它将被忽略并视为不存在,也具有相同的效果。