Критическая уязвимость в lighttpd, DoS

    С официального сайта



    Security Announce: slow request DoS/OOM attack
    February 1st, 2010

    Li Ming reported a serious bug in lighttpd:

    If you send the request data very slow (e.g. sleep 0.01 after each byte), lighttpd will easily use all available memory and die (especially for parallel requests), allowing a DoS within minutes.

    As far as we know all versions are affected.

    Перевод



    Если посылать данные с большими промежутками (например, делать паузу в 0.01 секунды после каждого байта), то Лайти начнет использовать всю доступную память и завалится (особенно в случае параллельных запросов), это позволяет организовать отказ в обслуживании в течение нескольких минут.

    Насколько известно разработчикам, все версии сервера содержат баг.

    ссылка на баг в трекере и патч
    Пререлиз 1.4.26 c исправлением (via eugeneorlov)
    Исправление для Debian (via esten)

    Будьте бдительны!
    Поделиться публикацией

    Комментарии 42

      +2
      Протестируем его на youtube или myspace? :)
      • НЛО прилетело и опубликовало эту надпись здесь
          0
          у них IIS 7.5 — это ведь не lighttpd
          • НЛО прилетело и опубликовало эту надпись здесь
              0
              Microsoft использует CDN компании Akamai, но вряд ли те испольуют lighttpd. Скорее какой-нибудь squid, а ещё скорее самописный софт.
          +1
          А у меня-то сервер на нем… побежал побыстрее исправлять)
            0
            о_О так это оказывается Ваши сервисы? скажите, а что новенького на ютубе в этом году ожидается, кроме дос атаки конечно?)))
          +1
          Позавчера уже было исправлено: www.debian.org/security/2010/dsa-1987
            +1
            Да, но вдруг кто не знает. Я вот не знал.
            0
            Блинн…
            Работает, обновился, спасибо!!!
              +1
              Еще вчера пререлиз 1.4.26 был с исправлением blog.lighttpd.net/articles/2010/02/03/pre-release-lighttpd-1-4-26rc1-r2710
                +1
                Еще 3 дня назад эксплоит спрятали
                redmine.lighttpd.net/issues/2147#5
                Обновлено stbuehler 3 дня назад
                Значение slowclient.sh параметра Файл удалено

                а Бага с Начало: 06.01.2010
                0
                Когда то давной был подобный баг на урове tcp стека фри. Модема хватало чтоб забить все таймаутами и подвесить сервак.

                История движется по спирали.
                  0
                  Всё новое — это хорошо забытое старое.
                    +2
                    Да, по спирали, вставленной во всем известное место, чтобы мир ничего путного не родил, а лишь имел бессмысленные половые акты, кои нам и приходится наблюдать…
                    +1
                    Да, господа! Будьте бдительны — используйте nginx!
                      +2
                      Только, кстати, подумал, а не болеет ли Nginx подобной болезнью
                        0
                        Да, а когда в nginx найдут что-то подобное, куда бежать?
                          0
                          Кому? Сысоеву? Он всё равно от нас не убежит…
                            0
                            Разработчики Лайти тоже никуда не убегают. На следующий день исправили.
                            +1
                            «Ты слышал слово Родина, сынок?» — ответил червь-отец.
                          0
                          Опа! Приплыли…
                            +12
                            А где шутки про эстонских хакеров?
                              0
                              Они не паляццо :D
                                +4
                                Ну вы хоть пару дней-то подождите…
                                –1
                                Решето!
                                  +2
                                  Эт ж SlowLoris :)

                                  Странно, но ha.ckers.org/slowloris/ заявляет что проверяли lighttpd и не смогли его тормознуть.

                                  Upd: хм, а тут ha.ckers.org/blog/20090617/slowloris-http-dos/
                                  karavelov Says:
                                  June 19th, 2009 at 11:22 am

                                  I have tested this DOS attach against lighttpd and nginx. Out of the box both servers are vulnerable (despite the note in the announcement that lighttpd is not vulnerable, just use enough number of connections). Nginx could be configured to not be affected by this type of attacks.

                                  Upd2: здесь правда в POST-засылаемом файле баг

                                  Upd3: никто еще deflate не атаковал на отправке серверу? ;) Если он, конечно, бывает
                                    +2
                                    Кстати, рекомендую сменить значение server.tag. Я поменял на тег IIS`а, в результате теперь меня сканируют пионеры с типичными сканерами Windows серверов :)
                                      +2
                                      а еще можно зарыться головой в песок, говорят помогает избежать проблем.
                                      0
                                      Яндекс еще не обновился? :))))
                                        0
                                        Я бы во всяких апачах ввел кроме таймаута (общего на запрос, а не на интервал между пакетами), минимальную скорость получения/отдачи данных. Не надо бояться рвать соединение, ибо я плохо себе представляю устройство, которое GET отправляет по полминуты (модемщики и GPRS-ники в замкадье — ССЗБ, пусть ставят прокси).
                                          +1
                                          экий вы злобный, нельзя так. Но, кстати, модемщики и жопорезники тоже не отправляют GET по полминуты обычно, но уж если связь действительно такая хреновая, то ИМХО интернет становится неюзабельным и таких действительно можно смело рубить. Тут главное найти баланс правильный.
                                            0
                                            Вот-вот, на сервере каждое соединение — это лишний процесс апача и мегабайты памяти, так что чем быстрее закрыть соединение, тем серверу легче.
                                              +2
                                              Вы всё еще выставляете голый апач в интернет? Тогда реверс-прокси идут к вам!
                                                0
                                                Прокси — это тоже мегабайты памяти, кроме того, я пока не научился nginx ставить :) И на прокси тоже, я считаю, надо ограничивать дительность/минимальную скорость отправки/получения данных.
                                                  +1
                                                  по моим тестам — 24000 конкурентных пустых SSL-соединений в случае с apache2.2 съедают ~12GB памяти, те же 24000 в случае с nginx — 150-200 MB.
                                                  Только лишь установив тот же nginx перед индейцем вы уже сэкономите память, а не потратите ее, ибо все ваши пользовательские запросы будут обрабатываться меньшим количеством апачевских воркеров. Если уж совсем хочется память экономить — то проксируйте не к апачу, а к php-fpm, например. Я на линуксовом VDS-е с 64 МБ памяти легко обслуживал несколько десятков (до пары сотен в пиках) одновременных пользователей применяя nginx+php-fpm, правда php-приложение было совсем простое, но не суть. С апачем первая десятка юзеров сжирала все ресурсы по памяти.
                                                  >я пока не научился nginx ставить
                                                  Это совсем несложно, попробуйте — вам понравится!
                                                    0
                                                    Слушайте, спасибо за совет, у меня как раз есть VDS с 256Мб и там даже в спокойном состоянии MySQL с апачем сожрали почти всю память, обязательно попробую, как руки дойдут, у меня сайтики тоже нетяжелые, никаких Друпалов нет.

                                                    Насчет php-fpm смущает только то, что там есть сайтик с .htaccess с реврайтами, и придется руками эти реврайты в nginx переносить, но попробовать хочется :)

                                                    Э, и еще маленький вопрос — а nginx поддерживает несколько сайтов на одном VDS? Ну вроде virtualHosts в апаче?
                                                      0
                                                      а nginx поддерживает несколько сайтов на одном VDS?
                                                      Да, конечно.
                                                      есть VDS с 256Мб
                                                      обязательно меняйте апач на php-fpm, ну и мускуль тоже тюнить нужно, попробуйте для начала взять из образца, что идет с поставкой mysql (обычно лежит тут: /usr/share/mysql/my-small.cnf) и его немного докручивать. Еще есть полезный скрипт mysql-tuning-primer, попробуйте его использовать.
                                                        0
                                                        Ага, спасибо, обязательно попробую :)
                                        • НЛО прилетело и опубликовало эту надпись здесь
                                            0
                                            А я люблю маму и мороженое (с)
                                            • НЛО прилетело и опубликовало эту надпись здесь

                                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                          Самое читаемое