Squid 5.1 выходит после трех лет разработки, и это его новости

После трех лет разработки выпущена новая стабильная версия прокси-сервера Squid, 5.1, готовая к использованию в производственных системах (версии 5.0.x были бета-версиями).

После того, как ветка 5.x достигнет стабильного состояния, отныне будут внедряться только исправления уязвимостей и проблем со стабильностью , а также незначительные оптимизации. Разработка новых функций будет вестись в новой экспериментальной ветке 6.0. Пользователям предыдущей стабильной ветки 4.x рекомендуется запланировать переход на ветку 5.x.

Squid 5.1 Основные новые функции

В этой новой версии совместимость с форматом Berkeley DB устарела из-за проблем с лицензированием . Ветка Berkeley DB 5.x не поддерживалась несколько лет и до сих пор содержит неустраненные уязвимости, а обновление до более новых версий не позволяет изменить лицензию AGPLv3, требования которой также распространяются на приложения, использующие Berkeley DB в качестве библиотеки. Squid распространяется под лицензией GPLv2, а AGPL несовместима с GPLv2.

Вместо Berkeley DB проект перешел на использование СУБД TrivialDB, которая, в отличие от Berkeley DB, оптимизирована для одновременного параллельного доступа к базе данных. Поддержка Berkeley DB пока сохраняется, но теперь рекомендуется использовать тип хранения "libtdb" вместо "libdb" в обработчиках "ext_session_acl" и "ext_time_quota_acl".

Кроме того, была добавлена ​​поддержка заголовка HTTP CDN-Loop, определенного в RFC 8586, который позволяет обнаруживать петли при использовании сетей доставки контента (заголовок обеспечивает защиту от ситуаций, в которых запрос во время перенаправления между CDN по какой-либо причине возвращает в исходный CDN, образуя бесконечный цикл).

Кроме того, механизм SSL-Bump, позволяющий перехватывать содержимое зашифрованных HTTPS-сессий, получил поддержку перенаправления поддельных HTTPS-запросов через другие прокси-серверы, указанные в cache_peer, с использованием обычного туннеля на основе метода HTTP CONNECT (передача по HTTPS не поддерживается, поскольку Squid пока не может передавать TLS внутри TLS).

После получения первого перехваченного HTTPS-запроса SSL-Bump устанавливает TLS-соединение с целевым сервером и получает его сертификат. Затем Squid использует имя хоста реального сертификата, полученного от сервера, для создания поддельного сертификата, который он использует для имитации запрошенного сервера при взаимодействии с клиентом , продолжая при этом использовать установленное TLS-соединение с целевым сервером для получения данных.

Также стоит отметить, что в реализацию протокола ICAP (Internet Content Adaptation Protocol), используемого для интеграции с внешними системами проверки контента, добавлена ​​поддержка механизма прикрепления данных , позволяющего добавлять к ответу дополнительные заголовки метаданных, размещаемые после тела сообщения.

Вместо учета "dns_v4_first»Чтобы определить порядок использования семейства адресов IPv4 или IPv6, теперь учитывается порядок ответа в DNS- Если ответ AAAA от DNS появляется первым во время ожидания разрешения IP-адреса, будет использоваться полученный IPv6-адрес. Таким образом, настройка предпочтительного семейства адресов теперь выполняется в брандмауэре, DNS или при запуске с помощью параметра «–disable-ipv6».
Предлагаемое изменение сократит время настройки TCP-соединений и снизит влияние задержек в разрешении DNS на производительность.

При перенаправлении запросов используется алгоритм "Happy Eyeballs", который немедленно использует полученный IP-адрес, не дожидаясь разрешения всех потенциально доступных целевых IPv4 и IPv6 адресов.

Для использования в директиве external_acl был добавлен драйвер ext_kerberos_sid_group_acl для аутентификации с группами проверки в Active Directory с использованием Kerberos. Утилита ldapsearch, предоставляемая пакетом OpenLDAP, используется для запроса имени группы.

Добавлены директивы mark_client_connection и mark_client_pack для привязки тегов Netfilter (CONNMARK) к отдельным пакетам или клиентским TCP-соединениям.

В заключение следует отметить, что в соответствии с шагами, предпринятыми при разработке опубликованных версий Squid 5.2 и Squid 4.17, были исправлены следующие уязвимости:

  • CVE-2021-28116 - утечка информации при обработке специально созданных сообщений WCCPv2. Уязвимость позволяет злоумышленнику испортить список известных маршрутизаторов WCCP и перенаправить трафик от прокси-клиента на его хост. Проблема проявляется только в конфигурациях с включенной поддержкой WCCPv2 и когда есть возможность подделать IP-адрес маршрутизатора.
  • CVE-2021-41611: ошибка при проверке сертификатов TLS, разрешающих доступ с использованием ненадежных сертификатов.

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


Добавить в качестве предпочтительного источника в Google