Setelah tiga tahun pengembangan, versi stabil baru dari server proxy Squid, 5.1, telah dirilis dan siap digunakan dalam sistem produksi (versi 5.0.x adalah versi beta).
Setelah cabang 5.x mencapai kondisi stabil, mulai sekarang hanya perbaikan untuk kerentanan dan masalah stabilitas yang akan diimplementasikan , bersama dengan optimasi kecil. Pengembangan fitur baru akan dilakukan di cabang eksperimental 6.0 yang baru. Pengguna cabang stabil 4.x sebelumnya disarankan untuk merencanakan migrasi ke cabang 5.x.
Squid 5.1 Fitur Utama Baru
Dalam versi baru ini, kompatibilitas dengan format Berkeley DB telah dihentikan karena masalah lisensi . Cabang Berkeley DB 5.x sudah tidak dipelihara selama beberapa tahun dan masih memiliki kerentanan yang belum ditambal, dan peningkatan ke versi yang lebih baru tidak memungkinkan perubahan lisensi AGPLv3, yang persyaratannya juga berlaku untuk aplikasi yang menggunakan Berkeley DB sebagai pustaka. Squid dirilis di bawah lisensi GPLv2, dan AGPL tidak kompatibel dengan GPLv2.
Alih-alih Berkeley DB, proyek ini beralih menggunakan DBMS TrivialDB, yang, tidak seperti Berkeley DB, dioptimalkan untuk akses paralel simultan ke basis data. Dukungan Berkeley DB tetap dipertahankan untuk saat ini, tetapi sekarang disarankan untuk menggunakan tipe penyimpanan "libtdb" alih-alih "libdb" dalam handler "ext_session_acl" dan "ext_time_quota_acl".
Selain itu, dukungan ditambahkan untuk header HTTP CDN-Loop, yang didefinisikan dalam RFC 8586, yang memungkinkan pendeteksian loop saat menggunakan jaringan pengiriman konten (header memberikan perlindungan terhadap situasi di mana permintaan, selama pengalihan antara CDN karena alasan tertentu, kembali ke CDN asli, membentuk loop tak terbatas).
Selain itu, mekanisme SSL-Bump, yang memungkinkan untuk mencegat konten sesi HTTPS terenkripsi, telah menambahkan dukungan untuk mengalihkan permintaan HTTPS palsu melalui server proxy lain yang ditentukan dalam cache_peer menggunakan terowongan reguler berdasarkan metode HTTP CONNECT (transmisi melalui HTTPS tidak didukung, karena Squid belum dapat mengirimkan TLS di dalam TLS).
SSL-Bump, setelah menerima permintaan HTTPS pertama yang dicegat, membangun koneksi TLS dengan server target dan memperoleh sertifikatnya. Squid kemudian menggunakan nama host dari sertifikat asli yang diterima dari server untuk membuat sertifikat palsu, yang digunakannya untuk meniru server yang diminta saat berinteraksi dengan klien , sambil terus menggunakan koneksi TLS yang telah dibangun dengan server target untuk menerima data.
Perlu juga dicatat bahwa implementasi ICAP (Internet Content Adaptation Protocol), yang digunakan untuk integrasi dengan sistem verifikasi konten eksternal, telah menambahkan dukungan untuk mekanisme lampiran data yang memungkinkan header metadata tambahan dilampirkan ke respons, yang ditempatkan setelah isi pesan.
Alih-alih memperhitungkan "dns_v4_first»Untuk menentukan urutan penggunaan keluarga alamat IPv4 atau IPv6, sekarang urutan respons dalam DNS diperhitungkan- Jika respons AAAA dari DNS muncul terlebih dahulu sambil menunggu alamat IP diselesaikan, alamat IPv6 yang dihasilkan akan digunakan. Oleh karena itu, pengaturan keluarga alamat yang disukai sekarang dilakukan di firewall, DNS, atau saat startup dengan opsi "–disable-ipv6".
Perubahan yang diusulkan akan mempercepat waktu untuk mengkonfigurasi koneksi TCP dan mengurangi dampak kinerja dari penundaan dalam resolusi DNS.
Saat mengalihkan permintaan, algoritma "Happy Eyeballs" digunakan, yang langsung menggunakan alamat IP yang diterima, tanpa menunggu semua alamat IPv4 dan IPv6 tujuan yang berpotensi tersedia untuk diselesaikan.
Untuk digunakan dalam arahan "external_acl", driver "ext_kerberos_sid_group_acl" telah ditambahkan untuk otentikasi dengan grup verifikasi di Active Directory menggunakan Kerberos. Utilitas ldapsearch yang disediakan oleh paket OpenLDAP digunakan untuk menanyakan nama grup.
Menambahkan arahan mark_client_connection dan mark_client_pack untuk mengikat tag Netfilter (CONNMARK) ke paket individual atau koneksi TCP klien
Terakhir, perlu disebutkan bahwa, mengikuti langkah-langkah dari versi Squid 5.2 dan Squid 4.17 yang telah dirilis, kerentanan berikut telah diperbaiki:
- CVE-2021-28116 - Kebocoran informasi saat memproses pesan WCCPv2 yang dibuat khusus. Kerentanan memungkinkan penyerang untuk merusak daftar router WCCP yang dikenal dan mengarahkan lalu lintas dari klien proxy ke host-nya. Masalahnya memanifestasikan dirinya hanya dalam konfigurasi dengan dukungan WCCPv2 diaktifkan dan bila memungkinkan untuk menipu alamat IP router.
- CVE-2021-41611: kesalahan memvalidasi sertifikat TLS yang mengizinkan akses menggunakan sertifikat yang tidak tepercaya.
Terakhir, jika Anda ingin mengetahui lebih lanjut, Anda dapat memeriksa detailnya di tautan berikut.