首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安全风险?Microsoft/2.0

安全风险?Microsoft/2.0
EN

Server Fault用户
提问于 2009-08-10 10:52:00
回答 4查看 72.6K关注 0票数 16

在对我们的机器进行安全检查时,我发现有一个主机通过端口80将Microsoft/2.0服务暴露给了互联网。

我对此并不熟悉,但在搜索了一下之后,我发现SQL Server 2008默认在端口80上发布SQL Server Reporting,并将其标识为HTTPAPI/2.0。主机也在运行IIS7。

我猜这可能不应该暴露在这个世界上。有人能向我提供任何关于暴露此服务的安全风险的信息或建议吗?

代码语言:javascript
复制
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
EN

回答 4

Server Fault用户

回答已采纳

发布于 2017-05-29 09:35:18

此服务器响应标头最常见的原因是IIS无法确定要服务哪个网站。

当以下两种情况都为真时,IIS将使用此服务器头进行响应

  • 请求包含未识别的主机标头
  • 未配置默认网站。

或者,如果IIS试图交付的网站的配置格式错误,则将忽略该配置,并认为它不存在,也具有相同的效果。

票数 3
EN

Server Fault用户

发布于 2019-12-19 00:53:09

如果响应的服务器头返回“Microsoft/2.0”,则意味着正在调用HTTP.sys而不是IIS。攻击和端口扫描使用此方法对IIS服务器(即使是隐藏服务器头的服务器)进行指纹识别。

您可以通过使用CURL抛出一个错误来测试这一点:

代码语言:javascript
复制
curl -v http://www.yourdomain.com/ -H "Range: bytes=00-18446744073709551615"

如果您的服务器正在发送报头,您将看到类似的情况:

代码语言:javascript
复制
HTTP/1.1 400 Bad Request
Content-Type: text/html; charset=us-ascii
Server: Microsoft-HTTPAPI/2.0
Date: Thu, 19 Dec 2019 00:45:40 GMT
Connection: close
Content-Length: 339

您可以添加一个注册表值,这样HTTP.sys就不包括报头。

  • 开放Regedit
  • 导航到: Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
  • 如果DisableServerHeader不存在,创建它(DWORD 32位)并给它一个值2。如果它确实存在,并且值不是2,那么将它设置为2。
  • 重新启动服务器或通过调用"net http“重新启动HTTP服务,然后调用"net http”

参考资料:WS/WCF:删除服务器头

添加注册表项后,响应如下:

代码语言:javascript
复制
HTTP/1.1 400 Bad Request
Content-Type: text/html; charset=us-ascii
Date: Thu, 19 Dec 2019 00:45:40 GMT
Connection: close
Content-Length: 339

张贴在这里,这样需要它的人可以找到它。(谢谢,奥拉姆!)

票数 11
EN

Server Fault用户

发布于 2009-08-10 12:17:36

如果您没有任何充分的理由公开它,那么您可能不应该公开它。顺便说一句,您可能对这篇文章感兴趣,以决定是否应该公开它。

票数 9
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/52199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档