Как я задосил squid аудиоплеером

    Сегодня днём завалился squid в конторе, потом завалился второй раз. Симптомы были одни и те же — процесс squid сжирал всю память на машине, и переставал отвечать на запросы. «Расследование» выявило забавный баг.


    Просмотр cache.log после первого падения не выявил ничего криминального, кальмар был перезапущен, но через несколько часов симптотмы повторились.
    После второго падения и перезапуска, я полез в access.log, и у меня встали волосы дыбом — огромное количество запросов к post.audioscrobbler.com с ответом TCP_DENIED.
    Разгадка оказалась проста: именно сегодня утром я поставил себе на машину плеер clementine, настроил его на свою учётку last.fm, и начал пользоваться, оставив настройку прокси на стандартном значении — «использовать системные настройки прокси».
    И вот вместо того, чтобы ругнуться на невозможность подключиться к last.fm, и предложить ввести логин и пароль, clementine продолжал бомбардировать прокси запросами, в результате тот и сдавался под напором эдакого нечаянного dos'a.

    В цифрах:
    Общий объём логфайла сквида составил 365 мегабайт.
    Из них запросов к last.fm на 310 мегабайт
    Всего 2.998.894 запроса к last.fm со статусом TCP_DENIED.

    Считая, что работал clementine без перерыва с 10 утра до приблизительно 15:30, получаем грубо 151 запрос в секунду. Для нашей маленькой прокси (виртуалка с выделением 1Ггц и 1Гб ОЗУ) — это много.

    Ссылка на запощенный багрепорт.

    Мораль — не доверяйте настройкам по умолчанию :)
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

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

      –1
      И чо? (с)

      Давайте каждый кто нашел где-либо баг и запостил его отпишет на хабре об этом?
        +3
        Если баг неприятный, а решение найдено, почему бы и нет?
          0
          Для этого есть бэгтрэки и как бы открывать хабр и видеть на нём: «О божечки, я же багу нашел» как-то не шибко хочется.
            0
            Решение этой проблемы я искал несколько лет. А эта проблема беспокоила меня несколько месяцев. И я очень рад, что на хабре нашлись решения этих проблем.
        0
        Хм… все же все зависит от машины на которой крутится squid, сомневаюсь что более менее серьезный сервер для корпоративной сети можно уложить такими запросами.
        Еще бы подробнее про «огромное» это какой объем лог файла? маловато цифр все же…
          0
          Промазал с ответом :( интересующие вас данные — в комментарии чуть ниже. Ну и в сам пост вынес.
          0
          Подсчитал :)
          Общий объём лога за день — 365 мегабайт, из них объём запросов к last.fm — 310 мегабайт, 2.998.894 запроса к last.fm со статусом TCP_DENIED.

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

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