The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Релиз http-сервера Apache 2.2.20 с устранением DoS-уязвимости

31.08.2011 13:45

Доступен релиз Apache 2.2.20, в котором устранена уязвимость, позволяющая удаленно инициировать отказ в обслуживании из-за исчерпания всей доступной памяти. Кроме того, в новой версии устранены недоработки в mod_filter, mod_authnz_ldap и mod_reqtimeout.

Приводившая к DoS-уязвимости ошибка связана с тем, что при обработке запроса, содержащего большое число диапазонов (например, "Range:bytes=0-,5-1,5-2,5-3,...,5-1000") в сочетании с использованием gzip-сжатия отдаваемого контента, расходуется слишком много памяти. Например, если в заголовке Range передана тысяча диапазонов, то Apache пытается отдельно сжать каждый диапазон, выделяя для каждой операции избыточный по размеру буфер. Решение проблемы реализовано довольно спорным способом: если сумма всех диапазонов больше оригинального файла, заголовок Range игнорируется и отправляется полный файл.

  1. Главная ссылка к новости (http://www.apache.org/dist/htt...)
  2. OpenNews: Найден способ обхода методов защиты от DoS-уязвимости в HTTP-сервере Apache
  3. OpenNews: Легко эксплуатируемая DoS-уязвимость в HTTP-сервере Apache (дополнено)
  4. OpenNews: Обновление http-сервера Apache 2.2.19 с устранением нарушения ABI-совместимости
  5. OpenNews: Релиз Apache 2.2.18 с устранением DoS-уязвимости в библиотеке APR (libc тоже подвержена проблеме)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/31640-apache
Ключевые слова: apache, http
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (35) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, anonim (?), 15:13, 31/08/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Эээ... Это значит если я найду где-то N-мегабайтный файл, то по-прежнему можно получить проблемы?
     
     
  • 2.5, Andrey Mitrofanov (?), 15:49, 31/08/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это значит, что к _выкачиванию порна эта уязвимость совершенно не относится.
     
     
  • 3.7, Аноним (-), 15:54, 31/08/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Ну почему же, если попросить 99.9% порнофайла - проверка не сработает, а вот тормознуть апач видимо получится. Так что у админа тоже будет порно, только с серваком в главной роли.
     
     
  • 4.9, Andrey Mitrofanov (?), 16:00, 31/08/2011 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Одмин раздающий avi/wmv через сжатие gzip-ом на ходу в апаче... уже делает что-то не так.
     

  • 1.2, Etch (?), 15:38, 31/08/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    И это они называют устранением DoS-уязвимости?
     
     
  • 2.3, Andrey Mitrofanov (?), 15:45, 31/08/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > И это они называют устранением DoS-уязвимости?

    А patch же. Ж-J Пластырем залепили и ладно.

     
  • 2.8, Аноним (-), 15:57, 31/08/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > И это они называют устранением DoS-уязвимости?

    Учтя что опач на раз выносится их же собственным ab2 до состояния "форкаю 1000 процессов, пытаясь в перерывах хоть кого-то обслужить" - им к DoS явно не привыкать :)))

     
     
  • 3.10, Etch (?), 16:08, 31/08/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> И это они называют устранением DoS-уязвимости?
    > Учтя что опач на раз выносится их же собственным ab2 до состояния
    > "форкаю 1000 процессов, пытаясь в перерывах хоть кого-то обслужить" - им
    > к DoS явно не привыкать :)))

    Вообще-то у него в настройках есть параметры, регулирующие кол-во процессов. И эти параметры надо крутить до тех пор, пока апач не перестанет выноситься их же собственным ab2...

     
     
  • 4.12, Аноним (-), 18:33, 31/08/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Вообще-то у него в настройках есть параметры, регулирующие кол-во процессов.

    Зарегулировали, допустим. Теперь ab2 (ну или кто там еще) просто заузурпирует себе всех доступных воркеров (если качать в час по чайной ложке, можно узурпировать воркера в персональное рабство на длительный срок). Сервак может и не упадет по OOM, но пользователи все-равно на сайт не попадут, только на этот раз уже потому что им воркеров не достанется.

    Скажите, а вас как пользователя сильно утешит что апач на вас забил не потому что ему памяти не хватило, а потому вам воркеров не досталось? :)

     
     
  • 5.13, samm (ok), 19:39, 31/08/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Да.  Потому что ssh есть в таком случае. Ну и всякие mod_qos как и лимиты фаервола никто не отменял. И, кстати, nginx + php (fcgi) поведет себя схожим образом, не вижу тут проблем апача.
     
     
  • 6.15, Аноним (-), 19:58, 31/08/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Да.  Потому что ssh есть в таком случае.

    И чем он тут поможет? Юзерам по нему содержимое сайта не отдашь и мерзостные свойства апача под нагрузкой - не улучшишь.

    > Ну и всякие mod_qos как и лимиты фаервола никто не отменял.

    Ваш щит - из картона. И протыкается простым карандашом. Ну вот например простой карандаш для борьбы с тупыми админиами: просто и брутально, "torify ab2". Одна строка. Две программы. По зубам любому пятиклашке способному загрузиться с ливцд. Куда после этого идут ваши лимиты на фаере и как вы вон те 100 конекций отличите от 100 легитимных хомяков?

    > И, кстати, nginx + php (fcgi) поведет себя схожим образом, не вижу тут проблем
    > апача.

    Ну как бы он на случай опы умеет довольно грамотное кеширование, так что если жизнь прижала, школьнички наглеют или вы просто попали под хабраслэшдотлорэффект - можно подзаморочиться кешированием и во многих случаях избавиться от дергания пыха на каждый пшик. А вот в таком режиме оно и гигабит влегкую прогрузит. Тут уже школьничек как максимум канал себе прогрузит, но серваку все это будет фиолетово. Все-равно у сервака в ДЦ около какого-нибудь из IXов канал лучше чем у большинства школьников вот так сходу доступно без существенных затрат ;).

     
     
  • 7.19, Аноним (-), 05:58, 01/09/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/

    >Ну вот например простой карандаш для борьбы с тупыми админиами: просто и брутально, "torify ab2". Одна строка. Две программы. По зубам любому пятиклашке способному загрузиться с ливцд. Куда после этого идут ваши лимиты на фаере и как вы вон те 100 конекций отличите от 100 легитимных хомяков?

    Для (Максим - тут жестко - но правда!) - для _ТУПЫХ_ салаг - например ты увидишь что один основная нагрузка идёт с одного IP.
    Тупые админы как спали - так и спят потому как таких прыщавых хацкеров обрабатывают тупые же скрипты :) Одмины просыпаются когда что то серьёзное приходит, а не ты :)

    PS: Это не значит что индеец сам по себе вас защитит. Ну дык и nginx применённый безмозгло "только и может что 502 ошибку показывать" :)

     
     
  • 8.25, samm (ok), 10:50, 01/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Вот да, много У меня есть, в частности, скрипты которые постоянно анализирую... текст свёрнут, показать
     
     
  • 9.36, Аноним (-), 18:58, 02/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Дон Кихот, залогиньтесь ... текст свёрнут, показать
     
     
  • 10.38, samm (ok), 20:20, 02/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Я, в отличии от вас залогинен Надеюсь, мой рабочий email asamorukov at ebay com... текст свёрнут, показать
     
  • 8.27, Аноним (-), 19:06, 01/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Так при помощи же указанного выше tor продайте штаны, купите очки или там уймы... большой текст свёрнут, показать
     
     
  • 9.28, samm (ok), 19:18, 01/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Сегодня же первое сентября Откройте для себя, наконец 1 Чем отличается динами... текст свёрнут, показать
     
     
  • 10.33, Аноним (-), 21:09, 01/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Внезапно, большая часть динамики запросто становится статикой Хотя-бы временно ... большой текст свёрнут, показать
     
  • 7.24, samm (ok), 10:47, 01/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Тем, что позволит администратору принять меры Тиоретег 1 если уж через тор... большой текст свёрнут, показать
     
     
  • 8.29, толькодлязарегистр (ok), 19:57, 01/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Так это, по хорошему предотвращать пи---ц хорошо бы слегка до того как он уже на... большой текст свёрнут, показать
     
  • 5.16, Etch (?), 22:25, 31/08/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> Вообще-то у него в настройках есть параметры, регулирующие кол-во процессов.
    > Зарегулировали, допустим. Теперь ab2 (ну или кто там еще) просто заузурпирует себе
    > всех доступных воркеров (если качать в час по чайной ложке, можно
    > узурпировать воркера в персональное рабство на длительный срок). Сервак может и
    > не упадет по OOM, но пользователи все-равно на сайт не попадут,
    > только на этот раз уже потому что им воркеров не достанется.

    Поставьте nginx фронтендом и не парьте людям мозг. Работа сайта при правильной настройке будет упираться в процессор, а не память и кол-во воркеров. Апач делает только свою часть работы по отдаче динамики и делает её хорошо.

     
     
  • 6.17, Аноним (-), 23:50, 31/08/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Поставьте nginx фронтендом и не парьте людям мозг.

    Lol! Я его поставил вообще ВСЕМ. Мне нравится.

    > Работа сайта при правильной настройке будет упираться в процессор,

    Epic fail! При _правильной_ настройке упираться будет в I/O скорее. В основном в дисковое, особенно если вы не Рокфеллер и потому SSD во все ддыры еще не закупились.

    > а не память и кол-во воркеров.

    Сдуру можно и кое-что сломать. А с какого рожна, собственно, должно в проц упираться? Особенно если включить мозг и кеширование сделать?

    > Апач делает только свою часть работы по отдаче динамики и делает её хорошо.

    Это спорно. В смысле, с порно, судя по новостям :))). Вообще, динамику можно и без апача как-бы отдавать. Хоть тем же нжинксом. И конфигурить 1 сервер определенно проще чем 2 разнотипных. При том второй еще и неповоротливый утюг, авторы которого к тому же выбирают какой-то очень странный метод затыкания дыр, вызывающий вопрос "что вы там курите, господа?".

     
     
  • 7.18, Etch (?), 00:31, 01/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> Поставьте nginx фронтендом и не парьте людям мозг.
    > Lol! Я его поставил вообще ВСЕМ. Мне нравится.

    Спасибо за информацию...

    >> Работа сайта при правильной настройке будет упираться в процессор,
    > Epic fail! При _правильной_ настройке упираться будет в I/O скорее. В основном
    > в дисковое, особенно если вы не Рокфеллер и потому SSD во
    > все ддыры еще не закупились.

    Мы тут вроде про динамику говорим, иначе зачем нам вообще апач сдался?

    >> а не память и кол-во воркеров.
    > Сдуру можно и кое-что сломать. А с какого рожна, собственно, должно в
    > проц упираться? Особенно если включить мозг и кеширование сделать?

    Это уже зависит от контента, он может и не предполагать возможности кэширования. Ключевым в моём посте было указание на отсутствие жёсткой зависимости от кол-ва памяти.

     
     
  • 8.30, Аноним (-), 20:01, 01/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    А динамики на самом деле не так уж много И значительная ее часть сводится кешир... текст свёрнут, показать
     
     
  • 9.32, samm (ok), 20:59, 01/09/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    дадада Вот расскажите мне, расскажите online аукцион или магазин несомненно мо... текст свёрнут, показать
     
     
  • 10.34, Аноним (-), 21:47, 01/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Значительные куски - можно А почему, собственно, нет Ну вот например при прост... большой текст свёрнут, показать
     
  • 6.21, Аноним (-), 06:07, 01/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Поставьте nginx фронтендом и не парьте людям мозг. Работа сайта при правильной
    > настройке будет упираться в процессор, а не память и кол-во воркеров.
    > Апач делает только свою часть работы по отдаче динамики и делает  её хорошо.

    Или лайти. Или Squid as reverse proxy. Или Varnish (-этот просто зверь!) или ещё 100500 вариантов.
    Но только вот ведь какое дело - кому надо давно сделали (лет тому же креведко не намного меньше чем индейцу). а плачь школоты есть неизбежность процесса обучения. Как говорится пока пуд корок не съешь .... :-)


     

  • 1.4, Аноним (-), 15:49, 31/08/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > расходуется слишком много памяти.

    По-моему, в случае апача с его форками на каждое соединение это и без всяких range та еще проблема. Можно просто открыть кучу соединений но ничего по ним не качать особо, что требует очень немного ресурсов у атакующего хоста. А апач будет держать для вас сотни процессов, кушая при этом дофига памяти.  Ну или при лимитировании числа процессов - он забьет на обслуживание других пользователей, т.к. все воркеры будут заниматься держанием соединений, что тоже неплохо. Какая разница, как именно положить апач - съев всю память или заняв на себя все воркеры? Для юзеров результат одинаков: сайт недоступен.

     
     
  • 2.22, AlexAT (ok), 07:53, 01/09/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А вы и статику mpm_prefork'ом обслуживаете? Ню-ню.
     
     
  • 3.31, Аноним (-), 20:09, 01/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > А вы и статику mpm_prefork'ом обслуживаете? Ню-ню.

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

     
  • 2.35, Avator (ok), 05:55, 02/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    т.е. по вашему мнению недоступность сервиса и выполнение кода злоумышленника на сервере это одно и тоже?
     
     
  • 3.37, Аноним (-), 19:00, 02/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > т.е. по вашему мнению недоступность сервиса и выполнение кода злоумышленника на сервере
    > это одно и тоже?

    Не понял где вы хоть слово про выполнение кода нашли вообще. Что в новости, что в коментах.

     

  • 1.6, Аноним (-), 15:52, 31/08/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > если сумма всех диапазонов больше оригинального файла

    О, то-есть, если я попрошу только 99% от файла, даже огромного, мне за это ничего не будет? Делаем ставки через сколько минут появятся доработанные варианты скриптов обходящих такую грамотную "защиту" :)))

     
     
  • 2.23, AlexAT (ok), 07:55, 01/09/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> если сумма всех диапазонов больше оригинального файла
    > О, то-есть, если я попрошу только 99% от файла, даже огромного, мне
    > за это ничего не будет? Делаем ставки через сколько минут появятся
    > доработанные варианты скриптов обходящих такую грамотную "защиту" :)))

    Защита на самом деле грамотная. Суть DoS в том, что можно было попросить 100500 копий файла сразу, т.е. заставить апач сбуферизовать и отдать пару гиг из килобайтного файла. Это fail. А то, что можно из легитимного файла попросить 99% тысячей range - это на расход памяти с предложенным и внедренным патчем уже не особо влияет, и по трафику вполне эквивалентно запросу 99% одним range, и даже меньше запроса целого файла. Так что все нормально.

    Такое впечатление, что кто-то немного суть уязвимости не понял. Расход памяти на обработку range - это была вторичная проблема, первичная - в возможности заставить апач отдать 100500 копий одного файла. Кстати, у того же nginx (если он конечно Range поддерживает согласно стандарту, и если он не "чистый proxy"), может обнаружиться такая же проблема - надо пробовать. К сожалению, сам уже не попробую - со всех площадок вынес его, и заменил на минималистичную сборку Apache с mpm_worker - поддержка keepalive на прокси-соединениях оказалась нужнее.

     
     
  • 3.26, Nas_tradamus (ok), 15:28, 01/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Т.е., теперь если запросить по отдельности 99 байт файла из 100, то не породится 99 форков Апача?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру