След три години разработка, новата стабилна версия на прокси сървъра 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).
SSL-Bump, след като получи първата прехваната HTTPS заявка, установява 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 сертификати, които позволяват достъп с помощта на ненадеждни сертификати.
И накрая, ако искате да научите повече за това, можете да проверите подробностите на следния линк.