LINUX.ORG.RU
 
ins3y3d

Новая серьезная уязвимость веб-сервера Apache


0

2

Обнаружена уязвимость в веб-сервере Apache, позволяющая провести атаку на приложение версии 2.2.х. Уязвимость находится в коде, отвечающем за обработку байтовых диапазонов, указанных в специальных HTTP-заголовках. Как известно, задание байтового диапазона позволяет загружать только определенную часть документа, например с 500-ого по 1000-ный байт. Данные заголовки широко используются, в частности, в менеджерах загрузки файлов для возобновления скачивания после паузы или разрыва соединения, а также позволяют снизить объем передаваемого трафика. Однако как показывает исследование, указание в заголовке нескольких неотсортированных диапазонов может привести к нарушению работы веб-сервера.

Уже опубликован perl-скрипт, демонстрирующий наличие проблемы и вызывающий падение веб-сервера Apache. Скрипт посылает серверу GET-запрос c заданием нескольких байтовых диапазонов, что при обработке приводит к серьезному увеличению потребления оперативной памяти.

Команда разработчиков пока не представила официального патча для исправления проблемы, однако на данный момент доступно решение, заключающееся в установке правила принимать только запросы с одним заданным байтовым диапазоном, что решит проблему для большинства веб-серверов. Для работы указанного способа необходимо загрузить в веб-сервер Apache модуль mod_rewrite.

Другим средством решения проблемы является использование модуля mod_headers с параметром RequestHeader unset Range, который удаляет из заголовка все содержащиеся в нем байтовые диапазоны. От этого способа больше вреда, чем пользы, поэтому администраторы перед применением любого решения для борьбы с уязвимостью должны проверить его эффективность и влияние на работу веб-сервера.

>>> Подробности

ЗАСТАВЬ КОМПЬЮТЕР ПОЛИВАТЬ ОГОРОД

автоматизация своими руками: электроприборы под контролем компьютера
beware of programmers who carry screwdrivers!
http://www.unicontrollers.com/products/unc01x

[#]  
qbbr

Проверил, увеличение потребление оперативки не обнаружено, просто CPU на 99% грузит. Apache 2.2.19 не падает.

** ()
[#] Ответ на: комментарий от qbbr 25.08.2011 12:50:19  

фактичкески, это легчайший по затратам вариант дос.

Нет, не зря я уже несколько лет как перешел на лайти. Оно, конечно, сложнее, но работает стабильно.

***** ()
[#]  
Komintern

не сработает если апач работает бекендом к nginx.

***** ()
[#]  
splinter

Таакссс, опять намечается падеж скота в этих ваших интернетах?

***** ()
[#] Ответ на: комментарий от Komintern 25.08.2011 14:57:33  
pekmop1024

То есть ни у кого неленивого не сработает, ибо все стараются его только как бэкенд юзать.

*** ()
[#]  
KRoN73

/me вспоминает

Apache нужен!

***** ()
[#]  

в толксах обсудили

* ()
[#]  

хорошо еще что не remote root

* ()
[#]  
splinter

кстати в логах как это заметно, ну если тебя подобной штуковиной атаковали?

***** ()
[#]  

Проблема не в апаче, а в RFC.

**** ()
[#]  
CryptSpirit

wget с нескольких сайтов перестал докачивать контент. После такой новости не удивительно.

* ()
[#]  

zsync ёк?

anonymous ()
[#]  

проверил, работает :)))))) сервак отвечает но по ssh зайти не могу, видимо проц загружен

* ()
[#] Ответ на: комментарий от Komintern 25.08.2011 14:57:33  

Естессно. nginx всегда отдает 50X ошибку.

***** ()
[#]  

> Новая серьезная уязвимость веб-сервера Apache

RIP. Заняться что ли Nginx вплотную.

anonymous ()
[#] Ответ на: комментарий от AVL2 25.08.2011 14:56:36  

>Оно, конечно, сложнее, но работает стабильно.

А утечки памяти там пофиксили?

***** ()
[#] Ответ на: комментарий от anonymous 25.08.2011 16:35:47  

А чем он лучше? Пользовательская база в 10 раз меньше, вот и меньше отакуют:)

***** ()
[#] Ответ на: комментарий от petrosha 25.08.2011 17:10:54  
Komintern

Иного класса продукт совершенно. Функционала меньше, но обычно используется вместе с апачем и неплохо очень выполняет роль фронтенда и кеширующего звена.

***** ()
[#]  
wintrolls

Номер новости как бы намекает.

* ()
[#] Ответ на: комментарий от AVL2 25.08.2011 14:56:36  

В лайти была абсолютно та же самая дырка. Просто ее давно закрыли.
И нгникс тоже как-то на подобном прокалывался, но там пофиксили в мгновение ока.

** ()
[#]  
AGUtilities

Уже пробовал, не сработало. Да, нагрузка возросла, да задержка ответа выросла, но ничего не упало, да и вообще работа практически не была нарушена.

улыбка-mode: о данной уязвимости, мне сегодня, с явным удовольствием, поспешил сообщить фанатик nginx

** ()
[#] Ответ на: комментарий от Komintern 25.08.2011 17:19:02  
AGUtilities

а что, разве сквид нельзя использовать в качестве кешера? ябы скорее сквид предпочёл, чем nginx.

** ()
[#] Ответ на: комментарий от AGUtilities 25.08.2011 17:42:59  
XVilka

совсем разные задачи. nginx и lighttpd рассчитаны на высокую нагрузку, хотя для кеша лучше varnish.

apache не нужен - nginx и lighttpd рулят, а для php давно появился рабочий FSGI/fmp. Все остальное работает с собственными серверами.

** ()
[#] Ответ на: комментарий от XVilka 25.08.2011 17:54:06  

Угу. У нас на одном проекте в итоге схема выглядит так: nginx(статика)->varnish(горячий кеш)->nginx(статический кеш)->php-fpm

** ()
[#] Ответ на: комментарий от XVilka 25.08.2011 17:54:06  
Komintern

> apache не нужен

апач нужен, для хостинга так точно.
не заставишь пользователей переписывать свои .htaccess-ы под твои rewrite-правила в nginx, еще over9k всяких примочек, не особо нужных, но полезных - апач все же дает. да и как не крути, стандарт это.

***** ()
[#] Ответ на: комментарий от AGUtilities 25.08.2011 17:42:59  
Komintern

мы о разных кешах говорим.
кеш со стороны клиента да, можно реализовать сквидом. но кеширование той же статики со стороны веб-сервера - лучше чем nginx не встречал ничего.

***** ()
[#] Ответ на: комментарий от Komintern 25.08.2011 18:15:24  
XVilka

Ну, тот кто shared хостинг пользует - тот пусть не жалуется на проблемы в безопасности. Они по сто лет не обновляют софт.

** ()
[#] Ответ на: комментарий от AGUtilities 25.08.2011 17:42:59  

Ухаха. Часом не локахост админите?

anonymous ()
[#] Ответ на: комментарий от Komintern 25.08.2011 18:15:24  

реврайты суть костыль, приложение должно само полностью решать что делать с uri

anonymous ()
[#] Ответ на: комментарий от Komintern 25.08.2011 18:15:24  
enchantner

Я вот проекты на питоне разрабатываю, могу с уверенностью сказать - для их хостинга апач вообще не нужен. Достаточно крутой интеграции nginx и uwsgi, а конфиги писать легко и приятно, работает все быстро и стабильно.

()
[#]  
tazhate

что как бы намекает нам, что давно пора пользоваться связкой nginx|fastcgi вместо этого глюкала и обжоры.

***** ()
[#] Ответ на: комментарий от Komintern 25.08.2011 18:15:24  
tazhate

>не заставишь пользователей переписывать свои .htaccess-ы под твои rewrite-правила в nginx

у меня на этот случай стоит парсер на перлах

***** ()
[#] Ответ на: комментарий от qbbr 25.08.2011 12:50:19  

Конечно не обнаружишь ты ничего. Потому что скрипт выложен неработоспособный, чтобы школьники весь интернет не заддосили.

()
[#]  
PolarFox

/me почесал свой лайти

Апач уг и не нужен.

**** ()
[#] Ответ на: комментарий от polovinamozga 25.08.2011 19:46:27  

Работоспособный. Просто не универсальный, ибо PoC.

** ()
[#] Ответ на: комментарий от XVilka 25.08.2011 17:54:06  

> apache не нужен - nginx и lighttpd рулят, а для php давно появился рабочий FSGI/fmp. Все остальное работает с собственными серверами.

Для PHP уже давно появилось ежедневное чтение списка уязвимостей с постоянным вставанием волос дыбом. После этого обычно php на сервере отключают, как класс.

()
[#] Ответ на: комментарий от iSage 25.08.2011 17:29:55  

>В лайти была абсолютно та же самая дырка. Просто ее давно закрыли.

ну так все гениальное просто. Просто давно закрыли. Поэтому лайти, все давно закрыто.

***** ()
[#] Ответ на: комментарий от polovinamozga 25.08.2011 19:46:27  

> Конечно не обнаружишь ты ничего. Потому что скрипт выложен неработоспособный, чтобы школьники весь интернет не заддосили.

Хоть намекни, где подвох искать?

()
[#] Ответ на: комментарий от AVL2 25.08.2011 21:49:34  

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

** ()
[#]  
bonds

Неужели кто то выставляет апач наружу? Nginx наше Фсио.

()
[#]  
lucentcode

Надо же. У меня на localhost не один виртуальный домен заведен. Для разработки, конечно. И тестирования. Может на nqnix перелезть? С FastCGI? Благо в php 5.3 FastCGI хорош, раньше патч отдельный был для этого дела, а теперь всё из коробки.

** ()
[#]  
skyline

Не знаю, PoC, не PoC, но не один сервер серьёзно не нагрузило.

()
[#] Ответ на: комментарий от bonds 25.08.2011 22:55:37  
borisych

>Nginx наше Фсио

вот когда под ущербный от рождения nginx вендоры будут писать поддержку kerberos, sso, ajp и пр. хлама, тогда и можно будет говорить нужен/не нужен. А пока ответственно заявляю: rambler не нужен.

***** ()
[#]  
Rost

Забавно что багу можно прикрыть средствами самого апача :)

** ()
[#] Ответ на: комментарий от Rost 25.08.2011 23:25:29  
skyline

>Забавно что багу можно прикрыть средствами самого апача :)

Это не прикрыть, это отключить часть функционала. И да, такое время реагирования не очень хорошо для столь крупного и уважаемого проекта.

()
[#] Ответ на: комментарий от skyline 25.08.2011 23:43:03  

Какого функционала? Бага прикрывается рерайтом, отрезающим излишки от Range.

** ()
[#] Ответ на: комментарий от borisych 25.08.2011 23:21:09  
Reset

А на кой все это говно нужно выставлять жопой в интернет?

***** ()
[#]  

Очень странно, что такая элементарная уязвимость, и так поздно замечена. Про байтовые диапазоны читаю впервые. Но вот каким образом они могут быть неотсортированы даже не представляю. По алфавиту что ли? Честно старался это понять, но видимо, не прочитав огромный мануал чистой технической инфы о том, как А - это одно, а Ж - это другое одно, будем удивляться и дальше.

anonymous ()
[#] Ответ на: комментарий от Reset 25.08.2011 23:49:33  
borisych

вероятно для кого-то интернет не только помойка, состоящая из бложиков, порнужи и прочего мусора

***** ()
[#]  
YAR

> Host does not seem vulnerable

Debian 6. Ы?

**** ()