Стабільний реліз проксі-сервера 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 оскільки 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

Додати коментар або відгук