Nakon tri godine razvoja predstavljeno je stabilno izdanje proxy poslužitelja Squid 5.1, spremno za korištenje u radnim sustavima (izdania 5.0.x su imala status beta verzija). Nakon što je grani 5.x dodijeljen status stabilne, u njoj će se od sada proizvoditi samo ispravke ranjivosti i problema sa stabilnošću, dok su male optimizacije dopuštene. Razvoj novih mogućnosti odvijat će se u novoj eksperimentalnoj grani 6.0. Korisnicima prethodne stabilne grane 4.x preporučuje se planiranje prijelaza na granu 5.x.
Glavne novosti Squid 5:
- U implementaciju protokola ICAP (Internet Content Adaptation Protocol), koji se koristi za integraciju s vanjskim sustavima provjere sadržaja, dodana je podrška mehanizmu pridruživanja podataka (trailer), koji omogućava priključivanje dodatnih zaglavlja s metapodacima nakon tijela poruke (na primjer, može se prenijeti kontrolna suma i detalji o otkrivenim problemima).
- Pri preusmjeravanju zahtjeva korišten je algoritam „Happy Eyeballs”, koji odmah koristi dobivenu IP adresu, ne čekajući razrješavanje svih potencijalno dostupnih odredišnih adresa IPv4 i IPv6. Umjesto uzimanja u obzir postavke „dns_v4_first” za određivanje reda korištenja adresnog prostora IPv4 ili IPv6, sada se uzima u obzir redoslijed odgovora u DNS-u: ako prvi stigne odgovor DNS AAAA, koristit će se dobivena IPv6 adresa. Tako se postavka preferiranog adresnog prostora sada provodi na razini vatrozida, DNS-a ili pokretanja s opcijom „—disable-ipv6”. Predložena promjena omogućava ubrzanje vremena uspostavljanja TCP veza i smanjuje utjecaj kašnjenja pri razrješavanju u DNS-u na performanse. IP adrese Za korištenje u direktivi „external_acl” dodan je obrtnik „ext_kerberos_sid_group_acl” za autentifikaciju s provjerom grupa u Active Directory pomoću Kerberos-a. Za upit imena grupe koristi se alat ldapsearch, koji osigurava paket OpenLDAP.
- Kako bi se koristila u direktivi «external_acl», dodan je upravljač «ext_kerberos_sid_group_acl» za autentifikaciju s provjerom grupa u Active Directory putem Kerberosa. Za zahtjev za imenom grupe koristi se alat ldapsearch, koji je dostupan u paketu OpenLDAP.
- Podrška za Berkeley DB format baze podataka proglašena je zastarjelom zbog problema s licenci. Grana Berkeley DB 5.x se već nekoliko godina ne održava i ostaje s neispravnim ranjivostima, a prelazak na novije izdanja onemogućen je promjenom licence na AGPLv3, čiji se zahtjevi odnose i na aplikacije koje koriste BerkeleyDB u obliku knjižnice – Squid se isporučuje pod GPLv2 licencom, a AGPL nije kompatibilna s GPLv2. Umjesto Berkeley DB, projekt je prenesen na korištenje TrivialDB sustava upravljanja bazom podataka, koji je, za razliku od Berkeley DB, optimiziran za istovremeni paralelni pristup bazi podataka. Podrška za Berkeley DB trenutno se održava, ali se u obradnicima „ext_session_acl” i „ext_time_quota_acl” sada preporučuje korištenje tipa pohrane „libtdb” umjesto „libdb”.
- Dodana je podrška za HTTP zaglavlje CDN-Loop, definirano u RFC 8586, koje omogućava prepoznavanje petlji prilikom korištenja mreža za isporuku sadržaja (zaglavlje pruža zaštitu od situacija kada se zahtjev u procesu preusmjeravanja između CDN-ova iz nekog razloga vraća nazad u izvorni CDN, stvarajući beskonačnu petlju).
- U SSL-Bump mehanizam, koji omogućava presretanje sadržaja šifriranih HTTPS sesija, dodana je podrška za preusmjeravanje zamijenjenih (ponovno šifriranih) HTTPS zahtjeva kroz druge proxy poslužitelje navedene u cache_peer koristeći obični tunel temeljen na HTTP CONNECT metodi (prijenos putem HTTPS nije podržan, jer Squid trenutno ne može prenositi TLS unutar TLS). SSL-Bump omogućava prilikom dolaska prvog presretnutog HTTPS zahtjeva uspostavljanje TLS veze s ciljnim poslužiteljem i dobivanje njegovog certifikata. Nakon toga, Squid koristi naziv hosta iz stvarnog certifikata primljenog od poslužitelja i stvara lažni certifikat, pomoću kojeg imitira zahtijevani poslužitelj prilikom interakcije s klijentom, nastavljajući pritom koristiti za dobivanje podataka TLS vezu koju je uspostavio s ciljnim poslužiteljem (da bi zamjena ne dovela do prikazivanja upozorenja u preglednicima na strani klijenta, potrebno je dodati svoj certifikat, korišten za generiranje lažnih certifikata, u skladište korijenskih certifikata).
- Dodane su direktive mark_client_connection i mark_client_pack za vezivanje oznaka Netfilter (CONNMARK) na klijentske TCP veze ili pojedinačne pakete.
Ubrzo nakon toga, objavljeni su izdanja Squid 5.2 i Squid 4.17 u kojima su ispravljene ranjivosti:
- CVE-2021-28116 — curenje informacija prilikom obrade posebno oblikovanih WCCPv2 poruka. Ova ranjivost omogućuje napadaču da ošteti popis poznatih WCCP usmjerivača i preusmjeri promet korisnika proxy poslužitelja na vlastiti poslužitelj. Problem se javlja samo u konfiguracijama s uključenom podrškom za WCCPv2 i uz mogućnost spoofinga IP adrese usmjerivača.
- CVE-2021-41611 — greška prilikom provjere TLS certifikata, koja omogućuje pristup korištenjem nepouzdanih certifikata.
Izvor: opennet.ru
