Стабилно издание на прокси сървъра Squid 5

След три години разработка е представена стабилната версия на прокси сървъра Squid 5.1, готова за използване в работни системи (версия 5.0.x имаше статут на бета-версии). След като версия 5.x получи статут на стабилна, в нея ще се извършват само корекции на уязвимости и проблеми със стабилността, а също така са допустими и незначителни оптимизации. Разработката на нови възможности ще се извършва в новата експериментална версия 6.0. На потребителите на предходната стабилна версия 4.x се препоръчва да планират прехода към версия 5.x.

Основни нововъведения в Squid 5:

  • В реализирането на протокола ICAP (Internet Content Adaptation Protocol), използван за интеграция с външни системи за проверка на съдържание, е добавена поддръжка на механизма за прикрепване на данни (trailer), позволяващ да се добавят допълнителни заглавия с метаданни към отговора, които се поставят след тялото на съобщението (например, може да се предаде контролна сума и детайли за установени проблеми).
  • При пренасочване на заявки е внедрен алгоритъм „Happy Eyeballs“, който веднага използва полученото IP-адрес, без да чака резолвирането на всички потенциално налични целеви адреси IPv4 и IPv6. Вместо да се отчита настройката „dns_v4_first“ за определяне на реда на използване на адресите от семейството IPv4 или IPv6, сега се отчита реда на отговора в DNS: ако по време на чакането на резолвирането IP адреси първи постъпи отговор DNS AAAA, ще бъде използван полученото адрес IPv6. По този начин, настройката на предпочитаното семейство адреси сега се извършва на ниво междусетево защитно стена, DNS или стартиране с опция „--disable-ipv6“. Предложената промяна позволява да се ускори времето за установяване на TCP връзки и да се намали влиянието на забавянията при резолвирането в DNS.
  • За използване в директивата „external_acl“ е добавен обработчик „ext_kerberos_sid_group_acl“ за удостоверяване с проверка на групи в Active Directory чрез Kerberos. За заявката на името на групата се използва утилитата ldapsearch, предоставяна от пакета OpenLDAP.
  • Поддръжката на формата на база данни Berkeley DB е обявена за остаряла поради лицензионни проблеми. Клонът Berkeley DB 5.x не се поддържа от години и остава с неотстранени уязвимости, а преминаването към по-нови версии е невъзможно заради променената лицензия на AGPLv3, чиито изисквания важат и за приложения, които използват BerkeleyDB като библиотека — Squid е предоставен под лицензия GPLv2, а AGPL е несъвместима с GPLv2. Вместо Berkeley DB проектът е преминал на използване на СУБД TrivialDB, която, за разлика от Berkeley DB, е оптимизирана за едновременен паралелен достъп до базата данни. Поддръжката на Berkeley DB все още е налична, но в обработчиците «ext_session_acl» и «ext_time_quota_acl» вече се препоръчва да се използва тип хранилище «libtdb» вместо «libdb».
  • Добавена е поддръжка за HTTP заглавката CDN-Loop, определена в RFC 8586 и позволяваща откриването на цикли при използване на мрежи за доставка на съдържание (заглавката осигурява защита от ситуации, когато заявка при пренасочване между CDN по каквато и да е причина се връща обратно в оригиналната CDN, образувайки безкраен цикъл).
  • В механизма SSL-Bump, който позволява прихващане на съдържанието на криптирани HTTPS сесии, е добавена поддръжка за пренасочване на изменените (ре-шифровани) HTTPS заявки през други прокси сървъри, указани в cache_peer, използвайки обикновен тунел на базата на метода HTTP CONNECT (преди предаването през HTTPS не се поддържа, тъй като Squid не може в момента да предава TLS вътре в TLS). SSL-Bump позволява при получаване на първата прихваната HTTPS заявка да се установи TLS свързване с целевия сървър и да се получи неговият сертификат. След това Squid използва името на хоста от реалния сертификат, получен от сървъра, и създава фиктивен сертификат, чрез който имитира искания сървър при взаимодействие с клиента, продължавайки да използва за получаване на данни TLS свързване, установено с целевия сървър (за да не възникват предупреждения в браузерите от страна на клиента, трябва да се добави сертификатът, използван за генериране на фиктивните сертификати, в хранилището на кореновите сертификати).
  • Добавени са директивите 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-сертификати, позволяваща достъп с използване на сертификати, които не заслужават доверие.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster