Phát hành phác thảo-ss-server 1.4, triển khai proxy Shadowsocks từ dự án Outline

Máy chủ proxy phác thảo-ss-server 1.4 đã được phát hành, sử dụng giao thức Shadowsocks để che giấu bản chất lưu lượng truy cập, vượt qua tường lửa và đánh lừa các hệ thống kiểm tra gói. Máy chủ đang được phát triển bởi dự án Outline, dự án này còn cung cấp thêm một khung ứng dụng máy khách và giao diện điều khiển cho phép bạn nhanh chóng triển khai các máy chủ Shadowsocks nhiều người dùng dựa trên máy chủ phác thảo-ss trong môi trường đám mây công cộng hoặc trên thiết bị của riêng bạn, quản lý chúng thông qua giao diện web và tổ chức quyền truy cập của người dùng bằng các phím. Mã này được phát triển và duy trì bởi Jigsaw, một bộ phận trong Google được thành lập để phát triển các công cụ nhằm vượt qua kiểm duyệt và tổ chức trao đổi thông tin miễn phí.

Outline-ss-server được viết bằng Go và được phân phối theo giấy phép Apache 2.0. Mã được sử dụng làm cơ sở là máy chủ proxy go-shadowsocks2, được tạo bởi cộng đồng nhà phát triển Shadowsocks. Gần đây, hoạt động chính của dự án Shadowsocks tập trung vào việc phát triển một máy chủ mới bằng ngôn ngữ Rust và việc triển khai bằng ngôn ngữ Go đã không được cập nhật trong hơn một năm và đang bị tụt hậu đáng kể về mặt chức năng.

Sự khác biệt giữa Outline-ss-server và go-shadowsocks2 nằm ở việc hỗ trợ kết nối nhiều người dùng thông qua một cổng mạng, khả năng mở nhiều cổng mạng để nhận kết nối, hỗ trợ khởi động lại nóng và cập nhật cấu hình mà không ngắt kết nối, tích hợp sẵn công cụ giám sát và điều chỉnh lưu lượng truy cập dựa trên nền tảng prometheus .io.

Phát hành phác thảo-ss-server 1.4, triển khai proxy Shadowsocks từ dự án Outline

phác thảo-ss-server cũng bổ sung thêm khả năng bảo vệ chống lại các cuộc tấn công yêu cầu thăm dò và phát lại lưu lượng truy cập. Một cuộc tấn công thông qua các yêu cầu kiểm tra nhằm mục đích xác định sự hiện diện của proxy; ví dụ: kẻ tấn công có thể gửi các bộ dữ liệu có kích thước khác nhau đến máy chủ Shadowsocks mục tiêu và phân tích lượng dữ liệu mà máy chủ sẽ đọc trước khi phát hiện lỗi và đóng kết nối. Tấn công phát lại lưu lượng truy cập dựa trên việc chặn phiên giữa máy khách và máy chủ, sau đó cố gắng truyền lại dữ liệu bị chặn để xác định sự hiện diện của proxy.

Để bảo vệ khỏi các cuộc tấn công thông qua các yêu cầu kiểm tra, máy chủ Outline-ss-server khi có dữ liệu không chính xác đến sẽ không làm gián đoạn kết nối và không hiển thị lỗi mà vẫn tiếp tục nhận thông tin, hoạt động như một loại lỗ đen. Để bảo vệ chống phát lại, dữ liệu nhận được từ máy khách sẽ được kiểm tra bổ sung về độ lặp lại bằng cách sử dụng tổng kiểm tra được lưu trữ trong vài nghìn chuỗi bắt tay cuối cùng (tối đa 40 nghìn, kích thước được đặt khi máy chủ khởi động và tiêu thụ 20 byte bộ nhớ cho mỗi chuỗi). Để chặn các phản hồi lặp lại từ máy chủ, tất cả các chuỗi bắt tay của máy chủ đều sử dụng mã xác thực HMAC với thẻ 32 bit.

Xét về mức độ ẩn lưu lượng truy cập, giao thức Shadowsocks trong triển khai máy chủ phác thảo-ss gần giống với phương thức truyền tải trình cắm thêm Obfs4 trong mạng ẩn danh Tor. Giao thức được tạo để vượt qua hệ thống kiểm duyệt lưu lượng ở Trung Quốc (“Tường lửa vĩ đại của Trung Quốc”) và cho phép bạn ẩn khá hiệu quả lưu lượng được chuyển tiếp qua một máy chủ khác (lưu lượng truy cập rất khó xác định do đính kèm hạt giống ngẫu nhiên và mô phỏng của dòng chảy liên tục).

SOCKS5 được sử dụng làm giao thức cho các yêu cầu ủy quyền - một proxy có hỗ trợ SOCKS5 được khởi chạy trên hệ thống cục bộ, giúp chuyển lưu lượng truy cập đến máy chủ từ xa nơi các yêu cầu thực sự được thực thi. Lưu lượng giữa máy khách và máy chủ được đặt trong một đường hầm được mã hóa (mã hóa xác thực được hỗ trợ AEAD_CHACHA20_POLY1305, AEAD_AES_128_GCM và AEAD_AES_256_GCM), che giấu sự thật về việc tạo ra nó là nhiệm vụ chính của Shadowsocks. Hỗ trợ tổ chức các đường hầm TCP và UDP, cũng như tạo các đường hầm tùy ý không bị giới hạn bởi SOCKS5 thông qua việc sử dụng các plugin gợi nhớ đến việc truyền tải plug-in trong Tor.

Nguồn: opennet.ru

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