Security
安全風險?微軟-HTTPAPI/2.0
在對我們的機器進行安全審查時,我發現一台主機正在通過埠 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 服務
添加系統資料庫項後,響應如下所示:
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
在這裡發帖,讓有需要的人可以找到。(謝謝,奧拉姆!)