Скрипт nmap vuln обнаруживает уязвимость «Apache byterange filter DoS http-vuln-cve2011-3192» в Ubuntu Webserver, но apache2 не установлен на сервере

Скрипт nmap vuln обнаруживает уязвимость «Apache byterange filter DoS http-vuln-cve2011-3192» в Ubuntu Webserver, но apache2 не установлен на сервере

Я использую веб-сервер Ubuntu 20.04 LEMP (Linux, Nginx, MariaDb, PHP). Я также провожу некоторые тесты уязвимости nmap с моей клиентской машины MacOS. На MacOS я используюО, Боже!с nmapвключенным плагином. Чтобы провести некоторые тесты уязвимости на моем Ubuntu Server с моей клиентской машины MacOS, я ввел команду:

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

Theдревний проверятьне является специфичным для apache2, он специфичен только для одного конкретного подхода к смягчению такой поверхности DoS на apache2. Nginx не использует его: он выполняет запросы для большого количества отдельных диапазонов по умолчанию, только с учетом ограничений на размер заголовка. Это в теории, он (или что-либо, пересылающее заголовок как есть) может быть уязвимым к чрезмерному использованию ресурсов при нечетных запросах.

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

Данная директива появилась в версии 1.1.2.

Ограничивает максимально допустимое количество диапазонов в запросах байтовых диапазонов. Запросы, превышающие лимит, обрабатываются так, как если бы не было указано ни одного байтового диапазона. По умолчанию количество диапазонов не ограничено. Нулевое значение полностью отключает поддержку байтовых диапазонов.

Это просто не такая большая проблема, как этот конкретный трюк, который можно использовать для перегрузки серверов Apache. Пока ваш nginx не проксирует (или не зависит от обслуживания большинства запросов из кэша вместо проксирования) где-то еще, вам, скорее всего, не придется ничего делать, даже если вы специально не добавляете ограничения с помощью этой настройки.

В наши дни веб-серверы (которые обслуживались после 2011 года) простоигнорироватьзапросы на диапазоны, размер-сумма которых превышает общую длину контента- что-то с небольшим применением в реальном мире, поэтому это даже лучшее смягчение, чем ограничениечислодиапазонов.

В любом случае... вы можете просто вручную создать такой раздражающий запрос из командной строки. Весь эксплойт заключается в отправке запроса с заголовком, содержащим что-то порядка сотен перекрывающихся диапазонов, например Range: bytes=1-1337,1-1338,1-1339и т. д. Посмотрите, был ли ответ (со статусом 206; если вы видите 200, nginx просто проигнорировал ваш заголовок и вернул все) значительно медленнее, тогда вы будете знать наверняка.

Связанный контент