Rilis stabil dari server proxy Squid 5

Setelah tiga tahun pengembangan, rilis stabil dari server proxy Squid 5.1 disajikan, siap digunakan dalam sistem produksi (rilis 5.0.x berstatus versi beta). Setelah membuat cabang 5.x stabil, sekarang hanya akan memperbaiki masalah kerentanan dan stabilitas, dan pengoptimalan kecil juga diperbolehkan. Pengembangan fitur baru akan dilakukan di cabang eksperimental baru 6.0. Pengguna cabang stabil 4.x sebelumnya disarankan untuk berencana bermigrasi ke cabang 5.x.

Inovasi utama Squid 5:

  • Implementasi protokol ICAP (Protokol Adaptasi Konten Internet), yang digunakan untuk integrasi dengan sistem inspeksi konten eksternal, telah menambahkan dukungan untuk mekanisme lampiran data (trailer), yang memungkinkan Anda melampirkan header tambahan dengan metadata yang ditempatkan setelah isi pesan ke respons (misalnya, Anda dapat mengirim checksum dan detail masalah yang teridentifikasi).
  • Saat mengarahkan ulang permintaan, algoritme "Happy Eyeballs" digunakan, yang segera menggunakan alamat IP yang diterima, tanpa menunggu penyelesaian semua alamat target IPv4 dan IPv6 yang berpotensi tersedia. Alih-alih mempertimbangkan pengaturan "dns_v4_first" untuk menentukan urutan di mana keluarga alamat IPv4 atau IPv6 digunakan, urutan respons DNS sekarang dihormati: jika respons AAAA DNS datang lebih dulu sambil menunggu alamat IP diselesaikan, maka hasilnya Alamat IPv6 akan digunakan. Dengan demikian, pengaturan keluarga alamat yang disukai sekarang dilakukan di firewall, DNS, atau tingkat startup dengan opsi "--disable-ipv6". Perubahan yang diusulkan mempercepat waktu penyiapan koneksi TCP dan mengurangi dampak kinerja latensi resolusi DNS.
  • Untuk digunakan dalam direktif "external_acl", penangan "ext_kerberos_sid_group_acl" telah ditambahkan untuk autentikasi dengan verifikasi grup di Active Directory menggunakan Kerberos. Utilitas ldapsearch yang disediakan oleh paket OpenLDAP digunakan untuk menanyakan nama grup.
  • Dukungan untuk format Berkeley DB tidak digunakan lagi karena masalah lisensi. Cabang Berkeley DB 5.x tidak dirawat selama beberapa tahun dan tetap dengan kerentanan yang belum ditambal, dan beralih ke rilis yang lebih baru tidak memungkinkan perubahan lisensi ke AGPLv3, persyaratan yang juga berlaku untuk aplikasi yang menggunakan BerkeleyDB dalam bentuk perpustakaan - Squid dilisensikan di bawah GPLv2, dan AGPL tidak kompatibel dengan GPLv2. Alih-alih Berkeley DB, proyek dialihkan menggunakan DBMS TrivialDB, yang, tidak seperti Berkeley DB, dioptimalkan untuk akses paralel simultan ke database. Dukungan Berkeley DB telah dipertahankan untuk saat ini, tetapi penangan "ext_session_acl" dan "ext_time_quota_acl" sekarang disarankan untuk menggunakan jenis penyimpanan "libtdb" daripada "libdb".
  • Menambahkan dukungan untuk header HTTP CDN-Loop, yang ditentukan dalam RFC 8586, yang memungkinkan Anda mendeteksi loop saat menggunakan jaringan pengiriman konten (header memberikan perlindungan terhadap situasi ketika permintaan dalam proses pengalihan antara CDN karena alasan tertentu kembali ke CDN asli, membentuk loop tak terbatas ).
  • Dukungan untuk mengarahkan ulang permintaan HTTPS palsu (dienkripsi ulang) melalui server proxy lain yang ditentukan dalam cache_peer menggunakan terowongan reguler berdasarkan metode HTTP CONNECT telah ditambahkan ke mekanisme SSL-Bump, yang memungkinkan pengorganisasian intersepsi konten sesi HTTPS terenkripsi (transmisi over HTTPS tidak didukung karena Squid belum bisa melewati TLS di dalam TLS). SSL-Bump memungkinkan, setelah menerima permintaan HTTPS pertama yang dicegat, untuk membuat koneksi TLS dengan server target dan mendapatkan sertifikatnya. Setelah itu, Squid menggunakan nama host dari sertifikat asli yang diterima dari server dan membuat sertifikat dummy yang meniru server yang diminta saat berinteraksi dengan klien, sambil terus menggunakan koneksi TLS yang dibuat dengan server target untuk menerima data (jadi bahwa penggantian tidak mengarah ke peringatan keluaran di browser di sisi klien, Anda perlu menambahkan sertifikat yang digunakan untuk membuat sertifikat dummy ke penyimpanan sertifikat root).
  • Menambahkan arahan mark_client_connection dan mark_client_pack untuk mengikat tanda Netfilter (CONNMARK) ke koneksi TCP klien atau paket individual.

Mengikuti pengejaran, rilis Squid 5.2 dan Squid 4.17 diterbitkan di mana kerentanan berikut telah diperbaiki:

  • CVE-2021-28116 - Informasi bocor saat memproses pesan yang dibuat WCCPv2. Kerentanan memungkinkan penyerang merusak daftar router WCCP yang diketahui dan mengalihkan lalu lintas klien proxy ke host mereka. Masalahnya hanya muncul dalam konfigurasi dengan dukungan WCCPv2 diaktifkan dan bila memungkinkan untuk memalsukan alamat IP router.
  • CVE-2021-41611 - Terjadi kesalahan saat memvalidasi sertifikat TLS, mengizinkan akses menggunakan sertifikat yang tidak tepercaya.

Sumber: opennet.ru

Tambah komentar