Po treh letih razvoja je bil predstavljen stabilni izid proxy strežnika Squid 5.1, pripravljen za uporabo v delovnih sistemih (izdaje 5.0.x so imele status beta različic). Po podelitvi stabilnega statusa veji 5.x se vanjo ne bodo delale več nove funkcionalnosti, ampak le še popravki varnostnih težav in stabilnosti, prav tako so dovoljene majhne optimizacije. Razvoj novih možnosti bo potekal v novi eksperimentalni veji 6.0. Uporabnikom prejšnje stabilne veje 4.x se priporoča načrtovanje prehoda na vejo 5.x.
Glavne novosti Squid 5:
- V implementacijo protokola ICAP (Internet Content Adaptation Protocol), ki se uporablja za integracijo z zunanjimi sistemi za preverjanje vsebine, je bila dodana podpora mehanizmu za dodajanje podatkov (trailer), ki omogoča priložitev dodatnih glave z metapodatki na odgovorih, ki so razporejeni po telesu sporočila (na primer, lahko se prenese kontrolna vsota in podrobnosti o odkritih težavah).
- Pri preusmeritvi zahtevkov je bil uporabljen algoritem 'Happy Eyeballs', ki takoj uporabi pridobljen IP naslov, ne da bi čakal na razreševanje vseh mogoče dostopnih ciljnih naslovov IPv4 in IPv6. Namesto upoštevanja nastavitve 'dns_v4_first' za določanje reda uporabe naslovnih družin IPv4 ali IPv6 se zdaj upošteva vrstni red odgovorov v DNS: če pride prvi odgovor DNS AAAA, bo uporabljen pridobljen naslov IPv6. Tako se nastavitve prednostne družine naslovov zdaj izvajajo na ravni požarnega zidu, DNS ali z zagonom z možnostjo '--disable-ipv6'. Predlagana sprememba omogoča zmanjšanje časa za vzpostavitev TCP povezav in zmanjšanje vpliva zamud pri razreševanju v DNS. IP-naslove Za uporabo v direktivi 'external_acl' je bil dodan obdelovalnik 'ext_kerberos_sid_group_acl' za avtentikacijo s preverjanjem skupin v Active Directory s pomočjo Kerberosa. Za poizvedbo po imenu skupine se uporablja pripomoček ldapsearch, ki ga zagotavlja paket OpenLDAP.
- Za uporabo v direktivi "external_acl" je bil dodan obdelovalnik "ext_kerberos_sid_group_acl" za preverjanje pristnosti s preverjanjem skupin v Active Directory s pomočjo Kerberosa. Za poizvedbo o imenu skupine se uporablja pripomoček ldapsearch, ki ga zagotavlja paket OpenLDAP.
- Podpora formata Baze podatkov Berkeley DB je označena za zastarelo zaradi licenčnih težav. Več let se ne vzdržuje veja Berkeley DB 5.x, ki ostaja z nezaželenimi ranljivostmi, prehod na novejše različice pa je onemogočen zaradi spremembe licence na AGPLv3, katere zahteve se razširjajo tudi na aplikacije, ki uporabljajo BerkeleyDB v obliki knjižnice - Squid se distribuira pod licenco GPLv2, AGPL pa ni združljiva z GPLv2. Namesto Berkeley DB je projekt prešel na uporabo podatkovne baze TrivialDB, ki je optimizirana za hkratni dostop do podatkov. Podpora za Berkeley DB je še vedno ohranjena, vendar je v obdelovalnikih 'ext_session_acl' in 'ext_time_quota_acl' zdaj priporočljivo uporabljati tip shranjevanja 'libtdb' namesto 'libdb'.
- Dodana je bila podpora za HTTP-zavihek CDN-Loop, določen v RFC 8586, ki omogoča odkrivanje zank pri uporabi mrež za dostavo vsebin (zavihek nudi zaščito pred situacijami, ko se zahteva med preusmeritvijo med CDN-ji iz neznanih razlogov vrne nazaj v izvorni CDN, kar povzroči neskončno zanko).
- V mehanizem SSL-Bump, ki omogoča prestrezanje vsebine šifriranih HTTPS-sevanj, je bila dodana podpora za preusmerjanje zamenjanih (ponovno šifriranih) HTTPS-zahtev prek drugih proksijev, navedenih v cache_peer, z uporabo običajnega tunela na osnovi metode HTTP CONNECT (prenos prek HTTPS trenutno ni podprt, saj Squid še ne more prenašati TLS znotraj TLS). SSL-Bump omogoča, da ob prvem prestreženem HTTPS-zahtevanju vzpostavi TLS-povezavo s ciljnim strežnikom in pridobi njegov certifikat. Po tem Squid uporabi ime gostitelja iz dejanskega certifikata, prejetega od strežnika, in ustvari lažni certifikat, s katerim posnema zahtevani strežnik pri interakciji s klientom, hkrati pa še naprej uporablja za pridobivanje podatkov TLS-povezavo, vzpostavljeno s ciljnim strežnikom (da zamenjava ne povzroči opozoril v brskalnikih na strani klienta, je potrebno dodati v skladišče korenskih certifikatov svoj certifikat, uporabljen za generiranje lažnih certifikatov).
- Dodane so bile direktive mark_client_connection in mark_client_pack za povezovanje oznak Netfilter (CONNMARK) s klientskimi TCP-povezavami ali posameznimi paketi.
Nedavno su objavljene verzije Squid 5.2 i Squid 4.17 koje ispravljaju ranjivosti:
- CVE-2021-28116 — curenje informacija prilikom obrade posebno oblikovanih WCCPv2 poruka. Ranljivost omogućava napadaču da ošteti listu poznatih WCCP usmjerivača i preusmjeri saobraćaj klijenata proxy servera na vlastiti host. Problem se javlja samo u konfiguracijama s aktiviranom podrškom za WCCPv2 i kada je moguće izvršiti IP spoofing usmjerivača.
- CVE-2021-41611 — greška prilikom verifikacije TLS-certifikatov, koja omogućava pristup korišćenjem nepouzdane sertifikate.
Izvor: opennet.ru
