SOCKS5, HTTP, HTTPS hay Shadowsocks: chọn loại proxy nào?

Loại nào mã hoá đường tới proxy, nhà mạng thấy được gì, loại nào chở UDP. So sánh thẳng thắn bốn loại proxy mà GreenTunnel hỗ trợ.

Khi thêm một profile trong Proxy Route, việc đầu tiên GreenTunnel hỏi là Loại: SOCKS5, HTTP, HTTPS hay Shadowsocks. Bốn cái tên nghe na ná nhau, nhưng khác nhau ở một điểm quan trọng: ai nhìn được gì trên đường đi. Bài này giải thích từng loại bằng ngôn ngữ đơn giản, kèm bảng so sánh để bạn chọn đúng.

Ba “người” có thể nhìn thấy lưu lượng của bạn

Khi dùng proxy, kết nối của bạn đi qua hai chặng: máy bạn → proxy, rồi proxy → trang web. Có ba bên đáng quan tâm:

  • Người quan sát trên chặng đầu: nhà mạng, chủ quán cà phê có Wi-Fi, mạng công ty. Loại proxy quyết định họ thấy gì.
  • Người vận hành proxy: luôn biết bạn kết nối tới đâu, với mọi loại proxy.
  • Trang web: thấy IP của proxy thay vì IP của bạn.

Một tin tốt: phần lớn trang web ngày nay dùng HTTPS. Nội dung bạn xem (mật khẩu đăng nhập, tin nhắn, số thẻ) được mã hoá từ trình duyệt tới tận trang web, nên kể cả proxy không mã hoá cũng không đọc được nội dung đó. Cái bị lộ là tên trang và, với vài loại proxy, mật khẩu của chính proxy.

Người quan sát thấy gì với từng loại

So sánh bốn loại proxy: với SOCKS5 nhà mạng thấy example.com:443 và mật khẩu proxy. Với HTTP CONNECT thấy dòng CONNECT example.com:443 và mật khẩu Basic. Với HTTPS proxy chỉ thấy tên proxy, còn với Shadowsocks chỉ thấy IP proxy và dữ liệu trông như ngẫu nhiên
Đoạn từ máy bạn tới proxy: hai loại không mã hoá, hai loại có mã hoá. Địa chỉ trong hình là địa chỉ minh hoạ.

SOCKS5

Giao thức proxy lâu đời và đa dụng. GreenTunnel gửi cho proxy tên miền đích (ví dụ example.com:443) dưới dạng văn bản thường. Nếu proxy yêu cầu đăng nhập, tên và mật khẩu cũng đi dạng văn bản thường. Ngoài ra gói tin đầu tiên của HTTPS chứa tên trang (SNI) cũng đi qua chặng này. GreenTunnel tách nhỏ tên trang ở cả hai chỗ để bộ lọc DPI đơn giản không đọc được, nhưng bản thân chặng này không được mã hoá.

SOCKS5 có thể chở UDP qua cơ chế UDP ASSOCIATE nếu máy chủ hỗ trợ. Trong GreenTunnel, công tắc Gửi cả UDP của SOCKS5 tắt sẵn. Hãy bật lên khi bạn chắc máy chủ hỗ trợ.

HTTP CONNECT

Kiểu proxy hay gặp ở công ty. GreenTunnel gửi dòng CONNECT example.com:443 tới proxy, và proxy mở đường hầm TCP tới trang đó. Dòng lệnh này, cùng mật khẩu kiểu “Basic” (chỉ là mã hoá base64, không phải mã hoá thật), đều đọc được trên đường. HTTP proxy chỉ chở TCP.

HTTPS proxy

Về bản chất vẫn là HTTP CONNECT, nhưng toàn bộ trao đổi với proxy nằm trong một kết nối TLS. Người quan sát chỉ thấy bạn kết nối tới proxy (tên và IP của nó), không thấy trang đích hay mật khẩu. GreenTunnel xác minh chứng chỉ của proxy, nên proxy cần chứng chỉ hợp lệ cho đúng tên máy chủ của nó. Chứng chỉ tự ký sẽ bị từ chối. Cũng như HTTP, loại này chỉ chở TCP.

Shadowsocks

Giao thức proxy được thiết kế để mã hoá ngay từ byte đầu tiên. Không có bước bắt tay nào lộ rõ: người quan sát chỉ thấy luồng dữ liệu trông như ngẫu nhiên đi tới một IP và cổng. GreenTunnel hỗ trợ các kiểu mã hoá AEAD phổ biến (aes-128-gcm, aes-256-gcm, chacha20-ietf-poly1305) và họ 2022-blake3-*. Mặc định là aes-256-gcm. UDP bật sẵn. Các plugin như obfs hay v2ray-plugin chưa được hỗ trợ.

Mã hoá không có nghĩa là “vô hình”: một số mạng vẫn có thể nhận ra hoặc chặn lưu lượng Shadowsocks. Đừng tin bất kỳ ai hứa hẹn điều ngược lại.

Trình chỉnh sửa profile loại SOCKS5 với máy chủ minh hoạ, cổng 1080, tên đăng nhập và mật khẩu tuỳ chọn
SOCKS5: máy chủ, cổng, đăng nhập tuỳ chọn.
Trình chỉnh sửa profile loại Shadowsocks đang mở danh sách chọn kiểu mã hoá
Shadowsocks: chọn kiểu mã hoá và mật khẩu.

Bảng so sánh

SOCKS5HTTP CONNECTHTTPS proxyShadowsocks
Mã hoá tới proxyKhôngKhôngCó (TLS)Có
Nhà mạng thấy trang đíchCóCóKhông, chỉ thấy proxyKhông, chỉ thấy IP proxy
Mật khẩu proxy lộ trên đườngCóCóKhôngKhông
Chở UDPTuỳ chọn, nếu máy chủ hỗ trợKhôngKhôngCó (bật sẵn)
Cổng mặc định trong app108080804438388
Hợp vớimạng nội bộ tin cậyproxy công typroxy dùng qua mạng lạmáy chủ riêng ở xa

Proxy và vượt chặn DPI

Với proxy SOCKS5 và HTTP thường, tên trang đi dạng rõ tới proxy hai lần: trong yêu cầu gửi proxy và trong gói HTTPS đầu tiên. GreenTunnel tách nhỏ cả hai trên đường tới proxy, giống như với kết nối đi thẳng. Với HTTPS proxy, bộ lọc chỉ thấy tên của chính proxy, và GreenTunnel cũng tách nhỏ tên đó, có ích khi chính proxy bị lọc. Shadowsocks không lộ tên nào nên không có gì để tách. WireGuard chạy trên UDP nên kỹ thuật tách gói không áp dụng được.

Mỗi profile SOCKS5, HTTP và HTTPS có công tắc Vượt DPI, bật sẵn. Hãy tắt nó nếu proxy chạy lỗi khi gói tin bị tách. Tách gói chỉ qua mặt được bộ lọc đơn giản chứ không mã hoá gì, nên trên mạng bạn không tin tưởng, loại có mã hoá vẫn là lựa chọn tốt hơn.

Vậy nên chọn loại nào?

  • Công ty bắt dùng proxy: dùng đúng loại công ty cấp, thường là HTTP hoặc HTTPS. Bạn không có lựa chọn khác, và mạng công ty vốn đã tin cậy được ở mức nào đó.
  • Proxy trong mạng nhà, hoặc đầu kia của đường hầm SSH: SOCKS5 là đủ, vì chặng đầu nằm trong mạng bạn kiểm soát.
  • Máy chủ riêng ở xa, dùng qua Wi-Fi công cộng hay mạng di động: Shadowsocks (có UDP) hoặc HTTPS proxy.
  • Cần chở mọi thứ, kể cả UDP, ở mức gói tin: cân nhắc Tunnel Link với WireGuard.

Khi tuyến đang dùng không chở được UDP, GreenTunnel chặn QUIC và mọi lưu lượng UDP khác trừ DNS, để trình duyệt và ứng dụng chuyển sang TCP qua proxy. Vì sao điều này không làm hỏng trang web, xem bài không rò rỉ khi proxy lỗi.

Proxy Route nằm trong ứng dụng GreenTunnel VPN. Xem cách GreenTunnel hoạt động ở trang chủ.

Câu hỏi thường gặp

Dùng SOCKS5 thì nhà mạng có đọc được mật khẩu ngân hàng của tôi không?

Không, nếu trang ngân hàng dùng HTTPS (gần như mọi ngân hàng đều vậy). Nội dung được trang web tự mã hoá. Nhà mạng chỉ thấy tên trang và mật khẩu của proxy, nếu proxy có yêu cầu.

HTTPS proxy có phải là proxy cho trang HTTPS không?

Không hẳn. Mọi loại proxy ở đây đều mở được trang HTTPS. “HTTPS proxy” nghĩa là kết nối tới chính proxy được mã hoá bằng TLS.

Shadowsocks có giúp tôi ẩn danh không?

Không. Shadowsocks che chặng từ máy bạn tới máy chủ, còn người vận hành máy chủ vẫn thấy bạn vào đâu, và trang web vẫn có thể nhận ra bạn qua tài khoản, cookie. Đây là công cụ riêng tư, không phải công cụ ẩn danh.

Tôi nên chọn kiểu mã hoá Shadowsocks nào?

Kiểu mà máy chủ của bạn đang dùng, vì hai đầu phải khớp nhau. Nếu bạn tự dựng máy chủ, aes-256-gcm hoặc chacha20-ietf-poly1305 đều là lựa chọn phổ biến.

← Tất cả bài viết