После двух лет разработки представлена новая стабильная ветка прокси-сервера Squid 3.2, которая по заявлению разработчиков достигла состояния готовности для промышленного использования. Прошлая стабильная ветка 3.1.x объявлена неподдерживаемой, кроме выпущенного 8 июня релиза 3.1.20 больше обновлений выпускаться не будет. В настоящий момент усилия разработчиков направлены на развитие ветки Squid 3.3, в ветке 3.2.x отныне будут производиться только исправления уязвимостей и проблем со стабильностью, также допускается внесение небольших оптимизаций. Одновременно объявлено и о прекращении поддержки ветки Squid 2.7.x, последней в серии 2.x. Всем пользователям Squid 2.7.x и 3.1.x рекомендуется спланировать переход на ветку 3.2.x.

Основные новшества Squid 3.2:

  • Поддержка одновременного запуска нескольких рабочих процессов Squid, что позволяет в полной мере задействовать ресурсы многоядерных систем. По умолчанию нагрузка при обработке запросов распределяется между всеми рабочими процессами, т.е. работа такой системы выглядит как единое целое, в том числе ведётся единый лог и используется общий кэш. Дополнительно предусмотрены средства для тонкой настройки поведения каждого процесса в отдельности. Управление производится через новую директиву "workers" в squid.conf;
  • Добавление средств для ограничения пропускной способности для трафика между прокси и клиентом. Ограничения могут задаваться для индивидуальных пользователей на основании IP-адресов и подсетей. Конфигурация пулов ограничений трафика на стороне клиентов выполняется по аналогиями с ранее доступными пулами на стороне сервера. Для настройки добавлены директивы client_delay_pools, client_delay_initial_bucket_level, client_delay_parameters и client_delay_access;
  • Новый хелпер Multiplexer, позволяющий мультиплексировать запросы к медленным хелперам. Multiplexer выступает в роли промежуточного звена между Squid и хелперами, и позволяет организовать обращение к хелперам в параллельном режиме, минимизировав таким образом задержки из-за ожидания своей очереди при последовательной отправке запросов к медленным хелперам;
  • Поддержка запуска хелперов по необходимости. Если ранее число запускаемых хелперов жёстко определялось в конфигурации, теперь возможен адаптивный запуск только нужного числа хелперов, в зависимости от нагрузки. В конфигурации теперь можно задать число изначально запускаемых хелперов, максимальное число хелперов и таймаут неактивности, после которого экземпляр хелпера будет завершён;
  • Произведено переименование большинства хелперов с целью унификации имён хелперов, более ясного определения выполняемых задач и явного различия поставляемых в составе Squid и внешних хелперов. Например, ncsa_auth переименован в basic_ncsa_auth, squid_radius_auth в basic_radius_auth, digest_pw_auth в digest_file_auth, squid_ldap_group в ext_ldap_group_acl, ntlm_auth в ntlm_smb_lm_auth и т.п.
  • Для Solaris 10 обеспечена поддержка и автоматическое определение многопоточной библиотеки pthreads. При использовании pthreads в Solaris 10 наблюдается заметное ускорение работы с кэшем AUFS;
  • Поддержка расширений протокола HTTP - Surrogate/1.0, позволяющих сайтам через установку HTTP-заголовков Surrogate-Capabilities, Security Considerations и Surrogate-Control явно управлять кэшированием страниц при использовании Squid в роли reverse-прокси;
  • Обновление инфраструктуры ведения логов, добавление возможности использования дополнительных модулей для хранения лога. Модули позволяют обеспечить хранение логов как в локальной ФС, так и на внешних лог-серверах. Кроме того, модули можно использовать для подключения своих обработчиков, разбирающих логи в режиме реального времени;
  • Улучшенная поддержка eCAP. В состав включена библиотека libecap 0.2.0 в которой расширены возможности по обработке тела ответа и ведения логов;
  • Расширение способов доступа к Squid Cache Manager. В дополнение к схеме cache_object:// запросы теперь можно отправлять из обычного браузера с использованием схем http:// и https:// в сочетании с заданием пути /squid-internal-mgr/, без необходимости использования промежуточного скрипта cachemgr.cgi;
  • Добавлена защита от атак по обходу ограничений same-origin, реализуемых при работе в режиме прозрачного прокси или NAT-перехвата (squid при запросе подменяет оригинальный IP, что может быть использовано для загрузки внешнего flash-кода или java-апплетов в контексте чужого домена). Для защиты реализованы дополнительные средства проверки параметров заголовка Host, активируемые через директиву host_verify_strict, которая включает режим строгой проверки соответствия имени хоста, указанного через Host, и доменного имени;
  • Устранены ограничения на длину пароля в реализации алгоритма хэширования DES (ранее учитывались только первые 8 символов), используемого в NCSA-хелпере аутентификации.


Источник: http://www.opennet.ru/opennews/art.shtml?num=34686