0
Совсем недавно в сети появилась информация об уязвимости обнаруженной в Apache. После отправки веб-серверу запроса следующего вида:
HEAD / HTTP/1.1
Host: www.example.com
Range: bytes=0-,5-0,5-1,5-2,5-3,5-4,<…>,5-1299,5-1300
Accept-Encoding: gzip
Connection: close
Apache пытается подсчитать Content-Length длинного ответа из кусков запрошенного файла. Это довольно быстро приводит к повышенному потреблению оперативной памяти сервера и, как результат, к DoS даже при малом количестве запросов.Отправить этот запрос можно с помощью специального скрипта, написанного на языке Perl, который можно свободно найти в сети под названием killapache.pl.
Проверить, имеет ли ваш сервер данную уязвимость, можно с помощью следующих команд:
curl -I -H"Range: bytes=0-1,0-2"-s www.example.com/robots.txt |grepPartialcurl -I -H"Request-Range: bytes=0-1,0-2,0-3,0-4,0-5,0-6"-s www.example.com/robots.txt |grepPartial
Если хотя бы одна из команд вернула ответ:
206 Partial Content
то ваш сервер уязвим.
Защитить ваш сервер можно следующим образом. Если используется Apache в качестве веб-сервера, то необходимо установить модуль mod_headers и в конфигурационный файл Apache добавить следующие строки:
RequestHeader unset Request-RangeRequestHeader unset Range
Если же в качестве сервера используется Nginx, то достаточно в конфигурационный файл добавить строки:
proxy_set_header Range «»;proxy_set_header Request-Range «»;
После чего необходимо перезагрузить веб-сервер.

Управление
Метки
Счетчики
Наши проекты
Авто-стиль
Алюр
Нейрон - система автоматизации медицинских учреждений
Интернет-магазин "АлюрМедТех"
You need to log in to vote
The blog owner requires users to be logged in to be able to vote for this post.
Alternatively, if you do not have an account yet you can create one here.
Powered by Vote It Up