Bản phát hành ổn định của máy chủ proxy Squid 5

Sau ba năm phát triển, một bản phát hành ổn định của máy chủ proxy Squid 5.1 đã được trình làng, sẵn sàng để sử dụng trên các hệ thống sản xuất (bản phát hành 5.0.x có trạng thái là phiên bản beta). Sau khi nhánh 5.x đã được cấp trạng thái ổn định, từ giờ trở đi, chỉ các bản sửa lỗi cho các lỗ hổng và sự cố về tính ổn định sẽ được thực hiện trong đó và các tối ưu hóa nhỏ cũng được cho phép. Việc phát triển các tính năng mới sẽ được thực hiện trong nhánh thử nghiệm mới 6.0. Người dùng của nhánh 4.x ổn định trước đó nên lên kế hoạch di chuyển sang nhánh 5.x.

Những cải tiến chính trong Squid 5:

  • Việc triển khai ICAP (Giao thức thích ứng nội dung Internet), được sử dụng để tích hợp với các hệ thống xác minh nội dung bên ngoài, đã hỗ trợ thêm cho cơ chế đính kèm dữ liệu (đoạn giới thiệu), cho phép bạn đính kèm các tiêu đề bổ sung với siêu dữ liệu vào phản hồi, được đặt sau tin nhắn nội dung (ví dụ: bạn có thể gửi tổng kiểm tra và thông tin chi tiết về các vấn đề được xác định).
  • Khi chuyển hướng yêu cầu, thuật toán “Happy Eyeballs” được sử dụng, thuật toán này ngay lập tức sử dụng địa chỉ IP nhận được mà không cần đợi giải quyết tất cả các địa chỉ mục tiêu IPv4 và IPv6 có sẵn. Thay vì tính đến cài đặt "dns_v4_first" để xác định xem họ địa chỉ IPv4 hay IPv6 được sử dụng, thứ tự của phản hồi DNS hiện được tính đến: nếu phản hồi DNS AAAA đến trước khi chờ địa chỉ IP giải quyết, thì địa chỉ IPv6 thu được sẽ được sử dụng. Do đó, việc thiết lập họ địa chỉ ưa thích hiện được thực hiện ở cấp độ tường lửa, DNS hoặc khởi động với tùy chọn "--disable-ipv6". Thay đổi được đề xuất cho phép chúng tôi tăng tốc thời gian thiết lập kết nối TCP và giảm tác động đến hiệu suất của sự chậm trễ trong quá trình phân giải DNS.
  • Để sử dụng trong lệnh "external_acl", trình xử lý "ext_kerberos_sid_group_acl" đã được thêm để xác thực bằng việc kiểm tra nhóm trong Active Directory bằng Kerberos. Để truy vấn tên nhóm, hãy sử dụng tiện ích ldapsearch do gói OpenLDAP cung cấp.
  • Hỗ trợ cho định dạng Berkeley DB đã không được dùng nữa do vấn đề cấp phép. Nhánh Berkeley DB 5.x đã không được duy trì trong vài năm và vẫn còn tồn tại các lỗ hổng chưa được vá, đồng thời việc chuyển đổi sang các bản phát hành mới hơn bị ngăn cản do thay đổi giấy phép thành AGPLv3, các yêu cầu của nó cũng áp dụng cho các ứng dụng sử dụng BerkeleyDB dưới dạng thư viện - Squid được cung cấp theo giấy phép GPLv2 và AGPL không tương thích với GPLv2. Thay vì Berkeley DB, dự án đã được chuyển sang sử dụng TrivialDB DBMS, không giống như Berkeley DB, được tối ưu hóa để truy cập song song đồng thời vào cơ sở dữ liệu. Hỗ trợ Berkeley DB hiện vẫn được giữ lại, nhưng trình xử lý "ext_session_acl" và "ext_time_quota_acl" hiện khuyên bạn nên sử dụng loại lưu trữ "libtdb" thay vì "libdb".
  • Đã thêm hỗ trợ cho tiêu đề HTTP CDN-Loop, được xác định trong RFC 8586, cho phép bạn phát hiện các vòng lặp khi sử dụng mạng phân phối nội dung (tiêu đề này cung cấp khả năng bảo vệ khỏi các tình huống khi một yêu cầu trong quá trình chuyển hướng giữa các CDN vì lý do nào đó quay trở lại CDN gốc, tạo thành một vòng lặp vô tận).
  • Cơ chế SSL-Bump, cho phép bạn chặn nội dung của các phiên HTTPS được mã hóa, đã thêm hỗ trợ để chuyển hướng các yêu cầu HTTPS giả mạo (được mã hóa lại) thông qua các máy chủ proxy khác được chỉ định trong cache_peer, sử dụng đường hầm thông thường dựa trên phương thức HTTP CONNECT ( truyền qua HTTPS không được hỗ trợ vì Squid chưa thể truyền TLS trong TLS). SSL-Bump cho phép bạn thiết lập kết nối TLS với máy chủ mục tiêu khi nhận được yêu cầu HTTPS bị chặn đầu tiên và nhận được chứng chỉ của nó. Sau đó, Squid sử dụng tên máy chủ từ chứng chỉ thực nhận được từ máy chủ và tạo chứng chỉ giả, nó bắt chước máy chủ được yêu cầu khi tương tác với máy khách, đồng thời tiếp tục sử dụng kết nối TLS được thiết lập với máy chủ mục tiêu để nhận dữ liệu ( để việc thay thế không dẫn đến cảnh báo đầu ra trong trình duyệt ở phía máy khách, bạn cần thêm chứng chỉ được sử dụng để tạo chứng chỉ giả vào kho chứng chỉ gốc).
  • Đã thêm các chỉ thị mark_client_connection và mark_client_pack để liên kết các nhãn Netfilter (CONNMARK) với các kết nối TCP của máy khách hoặc các gói riêng lẻ.

Theo kịp họ, các bản phát hành Squid 5.2 và Squid 4.17 đã được xuất bản, trong đó các lỗ hổng đã được sửa:

  • CVE-2021-28116 - Rò rỉ thông tin khi xử lý các tin nhắn WCCPv2 được tạo đặc biệt. Lỗ hổng này cho phép kẻ tấn công làm hỏng danh sách các bộ định tuyến WCCP đã biết và chuyển hướng lưu lượng truy cập từ máy khách máy chủ proxy đến máy chủ của chúng. Sự cố chỉ xuất hiện trong các cấu hình có hỗ trợ WCCPv2 và khi có thể giả mạo địa chỉ IP của bộ định tuyến.
  • CVE-2021-41611 - Sự cố trong xác minh chứng chỉ TLS cho phép truy cập bằng chứng chỉ không đáng tin cậy.

Nguồn: opennet.ru

Thêm một lời nhận xét