Squid 5 прокси серверінің тұрақты шығарылымы

Үш жылдық дамудан кейін Squid 5.1 прокси-серверінің тұрақты шығарылымы ұсынылды, ол өндірістік жүйелерде пайдалануға дайын (5.0.x шығарылымдары бета нұсқаларының мәртебесіне ие болды). 5.x тармағына тұрақты мәртебе берілгеннен кейін, бұдан былай ондағы осалдықтар мен тұрақтылық мәселелеріне ғана түзетулер жасалады, сонымен қатар шағын оңтайландыруларға рұқсат етіледі. Жаңа мүмкіндіктерді әзірлеу 6.0 жаңа эксперименттік бөлімінде жүзеге асырылады. Алдыңғы тұрақты 4.x тармағының пайдаланушыларына 5.x тармағына көшуді жоспарлау ұсынылады.

Squid 5-тегі негізгі инновациялар:

  • Сыртқы мазмұнды тексеру жүйелерімен біріктіру үшін пайдаланылатын ICAP (Интернет мазмұнына бейімделу хаттамасы) іске асырылуы хабарламадан кейін орналастырылған жауапқа метадеректері бар қосымша тақырыптарды тіркеуге мүмкіндік беретін деректерді тіркеу механизміне (трейлер) қолдауды қосты. денесі (мысалы, бақылау сомасын және анықталған мәселелер туралы мәліметтерді жіберуге болады).
  • Сұрауларды қайта бағыттау кезінде барлық ықтимал қол жетімді IPv4 және IPv6 мақсатты мекенжайларының шешілуін күтпей-ақ алынған IP мекенжайын дереу пайдаланатын «Бақытты көз алмалары» алгоритмі пайдаланылады. IPv4 немесе IPv4 мекенжайлар тобының пайдаланылғанын анықтау үшін "dns_v6_first" параметрін пайдаланудың орнына, енді DNS жауабының реті ескеріледі: егер DNS AAAA жауабы IP мекенжайының шешілуін күткен кезде бірінші келсе, содан кейін алынған IPv6 мекенжайы пайдаланылады. Осылайша, таңдаулы мекенжайлар тобын орнату енді брандмауэр, DNS немесе іске қосу деңгейінде “--disable-ipv6” опциясымен орындалады. Ұсынылған өзгеріс TCP қосылымдарын орнату уақытын жылдамдатуға және DNS рұқсаты кезінде кідірістердің өнімділік әсерін азайтуға мүмкіндік береді.
  • "external_acl" директивасында пайдалану үшін "ext_kerberos_sid_group_acl" өңдегіші Kerberos көмегімен Active Directory ішінде топтық тексеру арқылы аутентификация үшін қосылды. Топ атауын сұрау үшін OpenLDAP бумасы қамтамасыз ететін ldapsearch утилитасын пайдаланыңыз.
  • Беркли DB пішімін қолдау лицензиялау мәселелеріне байланысты ескірген. Berkeley DB 5.x тармағы бірнеше жыл бойына қызмет көрсетілмеген және түзетілмеген осалдықтары бар және жаңа шығарылымдарға көшу AGPLv3 лицензиясын өзгерту арқылы болдырмайды, оның талаптары BerkeleyDB форматында пайдаланатын қолданбаларға да қолданылады. кітапхана - Squid GPLv2 лицензиясы бойынша жеткізіледі және AGPL GPLv2-мен үйлесімді емес. Беркли ДБ орнына жоба TrivialDB ДҚБЖ пайдалануға берілді, ол Berkeley DB-ден айырмашылығы дерекқорға бір мезгілде параллельді қол жеткізу үшін оңтайландырылған. Berkeley DB қолдауы әзірше сақталады, бірақ "ext_session_acl" және "ext_time_quota_acl" өңдеушілері енді "libdb" орнына "libtdb" сақтау түрін пайдалануды ұсынады.
  • RFC 8586 стандартында анықталған CDN-Loop HTTP тақырыбына қолдау қосылды, ол мазмұнды жеткізу желілерін пайдалану кезінде циклдарды анықтауға мүмкіндік береді (тақырып CDN арасында қайта бағыттау процесінде қандай да бір себептермен сұрау кері қайтарылған жағдайлардан қорғауды қамтамасыз етеді). Түпнұсқа CDN, шексіз циклды құрайды).
  • Шифрланған HTTPS сеанстарының мазмұнын ұстауға мүмкіндік беретін SSL-Bump механизмі HTTP CONNECT әдісіне негізделген кәдімгі туннельді пайдалана отырып, cache_peer ішінде көрсетілген басқа прокси серверлер арқылы жалған (қайта шифрланған) HTTPS сұрауларын қайта бағыттауға қолдау көрсетті. HTTPS арқылы жіберуге қолдау көрсетілмейді, өйткені Squid әлі TLS ішінде TLS тасымалдай алмайды). SSL-Bump бірінші ұсталған HTTPS сұрауын алғаннан кейін мақсатты сервермен TLS қосылымын орнатуға және оның сертификатын алуға мүмкіндік береді. Осыдан кейін, Squid серверден алынған нақты сертификаттың хост атауын пайдаланады және деректерді алу үшін мақсатты сервермен орнатылған TLS қосылымын пайдалануды жалғастыра отырып, клиентпен өзара әрекеттесу кезінде сұралған серверді имитациялайтын жалған сертификат жасайды ( ауыстыру клиент жағындағы браузерлерде шығыс ескертулеріне әкелмеуі үшін, жалған куәліктерді жасау үшін пайдаланылатын сертификатты түбірлік куәліктер қоймасына қосу керек).
  • Netfilter белгілерін (CONNMARK) клиент TCP қосылымдарына немесе жеке пакеттерге байланыстыру үшін mark_client_connection және mark_client_pack директивалары қосылды.

Ең қызығы, Squid 5.2 және Squid 4.17 шығарылымдары жарияланды, онда осалдықтар түзетілді:

  • CVE-2021-28116 - Арнайы жасалған WCCPv2 хабарларын өңдеу кезінде ақпараттың ағуы. Осалдық шабуылдаушыға белгілі WCCP маршрутизаторларының тізімін бұзуға және трафикті прокси сервер клиенттерінен олардың хостына қайта бағыттауға мүмкіндік береді. Мәселе тек WCCPv2 қолдауы қосылған конфигурацияларда және маршрутизатордың IP мекенжайын бұрмалау мүмкін болғанда ғана пайда болады.
  • CVE-2021-41611 - TLS сертификатын тексерудегі мәселе сенімсіз сертификаттарды пайдаланып кіруге мүмкіндік береді.

Ақпарат көзі: opennet.ru

пікір қалдыру