Security

安全風險?微軟-HTTPAPI/2.0

  • January 18, 2021

在對我們的機器進行安全審查時,我發現一台主機正在通過埠 80 向 Internet 公開 Microsoft-HTTPAPI/2.0 服務。

我對此並不熟悉,但是在Google搜尋之後,我發現 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 拋出錯誤來測試它:

curl -v http://www.yourdomain.com/ -H "Range: bytes=00-18446744073709551615"

如果您的伺服器正在發送標頭,您將看到如下內容:

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 不包含標頭。

  • 打開系統資料庫
  • 導航到:電腦\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
  • 如果 DisableServerHeader 不存在,則創建它(DWORD 32 位)並給它一個值 2。如果它確實存在,並且值不是 2,則將其設置為 2。
  • 重新啟動伺服器或通過呼叫“net stop http”然後“net start http”重新啟動 HTTP 服務

參考:WS/WCF:刪除伺服器標頭

添加系統資料庫項後,響應如下所示:

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

在這裡發帖,讓有需要的人可以找到。(謝謝​​,奧拉姆!)

引用自:https://serverfault.com/questions/52199