nmap vuln 腳本偵測到 Ubuntu Web 伺服器中的漏洞“Apache byterange 過濾器 DoS http-vuln-cve2011-3192”,但伺服器上未安裝 apache2

nmap vuln 腳本偵測到 Ubuntu Web 伺服器中的漏洞“Apache byterange 過濾器 DoS http-vuln-cve2011-3192”,但伺服器上未安裝 apache2

我正在運行 Ubuntu 20.04 LEMP(Linux、Nginx、MariaDb、PHP)網頁伺服器。我還在我的 MacOS 用戶端電腦上進行一些 nmap 漏洞測試。在 MacOS 上,我正在使用噢,我的茲什!啟用插件後nmap。為了從 MacOS 用戶端電腦上對 Ubuntu 伺服器進行一些漏洞測試,我發出了以下命令:

nmap_check_for_vulns my.server.ip.address

這是一個別名命令

nmap --script=vuln

使用我的伺服器的 IP 位址發出命令後,nmap 會報告以下內容:

| http-vuln-cve2011-3192:
|   VULNERABLE:
|   Apache byterange filter DoS
|     State: VULNERABLE
|     IDs:  CVE:CVE-2011-3192  BID:49303
|       The Apache web server is vulnerable to a denial of service attack when numerous
|       overlapping byte ranges are requested.
|     Disclosure date: 2011-08-19
|     References:
|       https://www.tenable.com/plugins/nessus/55976
|       https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3192
|       https://www.securityfocus.com/bid/49303
|_      https://seclists.org/fulldisclosure/2011/Aug/175

在 Ubuntu 伺服器上,輸出為ss -lnpt

State                     Recv-Q                    Send-Q                                       Local Address:Port                                         Peer Address:Port                    Process
LISTEN                    0                         100                                                0.0.0.0:25                                                0.0.0.0:*
LISTEN                    0                         511                                                0.0.0.0:443                                               0.0.0.0:*
LISTEN                    0                         4096                                             127.0.0.1:8125                                              0.0.0.0:*
LISTEN                    0                         100                                                0.0.0.0:4190                                              0.0.0.0:*
LISTEN                    0                         4096                                             127.0.0.1:19999                                             0.0.0.0:*
LISTEN                    0                         100                                                0.0.0.0:993                                               0.0.0.0:*
LISTEN                    0                         4096                                             127.0.0.1:10023                                             0.0.0.0:*
LISTEN                    0                         4096                                             127.0.0.1:10024                                             0.0.0.0:*
LISTEN                    0                         100                                              127.0.0.1:10025                                             0.0.0.0:*
LISTEN                    0                         4096                                             127.0.0.1:10026                                             0.0.0.0:*
LISTEN                    0                         80                                               127.0.0.1:3306                                              0.0.0.0:*
LISTEN                    0                         100                                                0.0.0.0:587                                               0.0.0.0:*
LISTEN                    0                         128                                                0.0.0.0:43211                                             0.0.0.0:*
LISTEN                    0                         511                                              127.0.0.1:6379                                              0.0.0.0:*
LISTEN                    0                         4096                                             127.0.0.1:783                                               0.0.0.0:*
LISTEN                    0                         100                                                0.0.0.0:143                                               0.0.0.0:*
LISTEN                    0                         511                                                0.0.0.0:80                                                0.0.0.0:*
LISTEN                    0                         4096                                               0.0.0.0:10000                                             0.0.0.0:*
LISTEN                    0                         100                                                0.0.0.0:465                                               0.0.0.0:*
LISTEN                    0                         128                                                0.0.0.0:43219                                             0.0.0.0:*
LISTEN                    0                         256                                                0.0.0.0:53                                                0.0.0.0:*

我正在嘗試在伺服器上關閉此漏洞,但是,我的伺服器上沒有安裝apache,所以我不知道為什麼會出現此漏洞!

我的問題是,如何找到存在漏洞的程序,然後如何關閉伺服器上的漏洞?

答案1

檢查ss -lnpt哪個進程正在偵聽連接埠 80 或 443,這很可能是目標。

答案2

古老的 查看並非特定於 apache2,它僅特定於緩解 apache2 上此類 DoS 表面的特定方法。 Nginx 不使用它:它預設滿足大量單獨範圍的請求,僅受標頭大小限制。從理論上講,它(或按原樣轉發標頭的任何內容)可能容易受到奇怪請求的過度資源使用的影響。

max_ranges number;
Default:  —
Context:  http, server, location

該指令出現在版本 1.1.2 中。

限製位元組範圍請求中允許的最大範圍數。超出限制的請求將被處理,就像沒有指定位元組範圍一樣。預設情況下,範圍的數量不受限制。零值完全禁用字節範圍支援。

沒有什麼比可以用來讓 Apache 伺服器超載的特殊技巧更嚴重的問題了。只要您的 nginx 不在其他地方進行代理(或取決於從快取而不是代理中提供大多數請求),您可能不需要執行任何操作,即使您沒有使用該設定專門添加限制。

如今,Web 伺服器(2011 年後接受維護)只需漠視請求大小總和超過總內容長度的範圍- 幾乎沒有實際應用的東西,因此比限制更好的緩解措施數位範圍。

無論如何..您可以從命令行手工製作這樣煩人的請求。整個漏洞是發送一個帶有標頭的請求,其中標頭的數量約為數百個重疊範圍,等等Range: bytes=1-1337,1-1338,1-1339。觀察回應(狀態為 206;如果您看到 200 nginx 剛剛忽略了您的標頭並返回了所有內容)是否明顯變慢,那麼您就可以確定了。

相關內容