HTTP và SOCKS, dân cư và datacenter — các loại proxy khác nhau ở cách định tuyến lưu lượng và mức dễ bị phát hiện. Hướng dẫn rõ ràng phân biệt từng loại.
Proxy là một máy chủ nằm giữa bạn và internet, chuyển tiếp các yêu cầu của bạn để website thấy địa chỉ IP của proxy thay vì của bạn. Nhưng "proxy" bao gồm nhiều thứ rất khác nhau, chia theo hai trục: giao thức mà nó nói (HTTP hay SOCKS) và loại IP mà nó cấp cho bạn (dân cư, trung tâm dữ liệu, hay di động). Những lựa chọn đó quyết định proxy có thể làm gì và website có thể phát hiện nó dễ đến đâu. Bài viết này phân loại các kiểu và làm rõ khi nào mỗi loại quan trọng.
Tóm tắt nhanh
- Các loại proxy khác nhau theo hai trục độc lập: giao thức (HTTP/HTTPS cho lưu lượng web, SOCKS5 cho mọi lưu lượng) và nguồn IP (trung tâm dữ liệu, dân cư, hay di động).
- Proxy HTTP hiểu và có thể viết lại các header web; còn SOCKS5, được định nghĩa trong RFC 1928, không phụ thuộc giao thức và bổ sung xác thực cùng hỗ trợ UDP.
- IP trung tâm dữ liệu rẻ nhất và nhanh nhất nhưng dễ bị phát hiện nhất; IP dân cư và di động trông giống các kết nối tiêu dùng thật nên khó chặn hơn nhiều.
- Hầu hết proxy không mã hóa lưu lượng của bạn — một proxy HTTP thuần có thể thấy mọi thứ bạn gửi qua HTTP — nên proxy không thay thế được VPN khi bạn cần mã hóa.
- Không proxy nào tự động bịt được rò rỉ WebRTC hay DNS, vì vậy hãy luôn xác minh kết nối của bạn thực sự để lộ những gì.
Proxy là gì (và khác VPN ra sao)
Proxy chuyển tiếp lưu lượng ở tầng ứng dụng, thường cho một ứng dụng hoặc trình duyệt mà bạn đã cấu hình để dùng nó. Ngược lại, VPN mã hóa và đóng đường hầm cho toàn bộ lưu lượng của thiết bị ở tầng hệ điều hành. Các khác biệt thực tế:
- Phạm vi: một proxy thường định tuyến một ứng dụng; một VPN định tuyến tất cả.
- Mã hóa: VPN luôn mã hóa đường hầm; nhiều proxy không mã hóa gì cả.
- Thiết lập: proxy được cấu hình theo từng ứng dụng; VPN chạy trên toàn thiết bị.
Nếu bạn muốn so sánh rộng hơn bao gồm cả Tor, hãy xem so sánh công cụ bảo mật: VPN, proxy và Tor.
Giao thức proxy: HTTP và SOCKS
Giao thức quyết định proxy hiểu được loại lưu lượng nào.
Proxy HTTP / HTTPS
Một proxy HTTP hiểu riêng lưu lượng web. Vì nó hoạt động ở tầng HTTP, nó có thể đọc và sửa đổi header, lưu cache nội dung, và lọc yêu cầu — hữu ích cho việc duyệt web và scraping, nhưng chỉ giới hạn ở lưu lượng HTTP(S). Khi chuyển tiếp một yêu cầu, proxy thường gắn thêm header Forwarded (RFC 7239) hoặc X-Forwarded-For cũ hơn, và đó chính là cách máy chủ phân biệt được một yêu cầu được chuyển tiếp với một yêu cầu trực tiếp. Một proxy HTTPS (qua phương thức HTTP CONNECT) đóng đường hầm cho HTTPS đã mã hóa nên proxy không thể đọc nội dung, chỉ chuyển tiếp qua.
Proxy SOCKS
Một proxy SOCKS hoạt động ở tầng thấp hơn và không phụ thuộc giao thức: nó chuyển tiếp mọi loại lưu lượng — web, email, P2P, lưu lượng game — mà không quan tâm bên trong là gì. SOCKS5, phiên bản hiện tại được chuẩn hóa trong RFC 1928, ngoài TCP còn bổ sung xác thực bằng tên đăng nhập/mật khẩu cùng hỗ trợ UDP và IPv6. Proxy SOCKS linh hoạt hơn proxy HTTP nhưng không cung cấp các tính năng đặc thù cho HTTP như lưu cache hay thao tác trên header. Vì SOCKS5 không có khái niệm về header HTTP, nó cũng không bao giờ chèn header chuyển tiếp — những gì nó mang theo là mờ đục đối với nó.
| Proxy HTTP/HTTPS | Proxy SOCKS5 | |
|---|---|---|
| Loại lưu lượng | Chỉ HTTP(S) | Mọi loại (web, P2P, email, UDP) |
| Đọc/sửa được header | Có (HTTP) | Không |
| Mã hóa lưu lượng của bạn | Không (HTTPS chỉ đi qua) | Không |
| Trường hợp dùng điển hình | Duyệt web, scraping, lưu cache | Định tuyến linh hoạt, nhiều ứng dụng |
Mức độ ẩn danh của proxy
Proxy HTTP còn được phân loại theo mức độ chúng tiết lộ về bạn:
- Trong suốt (transparent) — chuyển tiếp IP thật của bạn trong header (ví dụ
X-Forwarded-For); không cung cấp tính ẩn danh nào, thường dùng để lưu cache hoặc lọc. - Ẩn danh (anonymous) — giấu IP thật của bạn nhưng vẫn tự nhận mình là một proxy, thường bằng cách gửi header
Viahoặc một giá trịForwardedđặc thù cho proxy. - Cao cấp (elite, ẩn danh cao) — giấu IP của bạn và không quảng cáo rằng nó là một proxy, khiến nó khó bị phát hiện nhất nếu chỉ nhìn vào header.
Các mức này chỉ mô tả những gì proxy tiết lộ trong header yêu cầu HTTP. Chúng không nói gì về uy tín IP của chính địa chỉ đó: một proxy "cao cấp" nằm trên một dải IP trung tâm dữ liệu đã bị gắn cờ vẫn dễ dàng bị chặn theo IP, dù header của nó trông sạch sẽ. Tính ẩn danh ở tầng header và độ tin cậy ở tầng IP là hai vấn đề độc lập, đó là lý do trục IP bên dưới quan trọng hơn cho việc né tránh phát hiện.
Trục IP: dân cư, trung tâm dữ liệu và di động
Đây là điểm phân biệt ảnh hưởng nhiều nhất đến việc phát hiện — được bàn sâu trong cách website phát hiện VPN và proxy.
- Proxy trung tâm dữ liệu (datacenter) dùng các IP thuộc sở hữu của các công ty lưu trữ. Chúng nhanh và rẻ, nhưng các dải IP của chúng được đăng ký cho trung tâm dữ liệu, nên đây là loại dễ nhận diện và chặn nhất.
- Proxy dân cư (residential) định tuyến qua các địa chỉ IP gia đình thật do ISP cấp. Vì chúng trông giống những kết nối hộ gia đình bình thường, chúng khó phát hiện hơn nhiều — và tương ứng là đắt hơn và chậm hơn.
- Proxy di động (mobile) dùng các IP từ các nhà mạng di động. Carrier-grade NAT nghĩa là nhiều người dùng thật chia sẻ chung các IP này, nên chặn một IP có nguy cơ chặn luôn nhiều người dùng hợp pháp, khiến IP di động là loại khó chặn nhất.
| Loại IP proxy | Khả năng bị phát hiện | Tốc độ | Chi phí |
|---|---|---|---|
| Trung tâm dữ liệu | Dễ phát hiện | Nhanh | Thấp |
| Dân cư | Khó phát hiện | Trung bình | Cao |
| Di động | Khó phát hiện nhất | Thay đổi | Cao nhất |
Còn một loại thứ tư, proxy ISP (đôi khi gọi là dân cư tĩnh), nằm giữa các loại trên: IP của chúng được lưu trữ trong trung tâm dữ liệu nhưng đăng ký dưới tên các ISP tiêu dùng, nên chúng kết hợp tốc độ và độ ổn định cấp trung tâm dữ liệu với các tín hiệu tin cậy của một mạng dân cư — ở mức giá cao hơn proxy trung tâm dữ liệu thông thường.
Công việc nào dùng proxy nào
Sự kết hợp đúng phụ thuộc vào nhiệm vụ, chứ không phải loại nào "tốt nhất":
- Duyệt web thông thường hoặc giấu IP khỏi một website đơn lẻ — một proxy HTTP trung tâm dữ liệu vừa rẻ vừa nhanh, và việc bị phát hiện hiếm khi quan trọng.
- Scraping web ở quy mô lớn — proxy dân cư tránh được các danh sách chặn mà các dải IP trung tâm dữ liệu hay rơi vào; hãy xoay vòng địa chỉ để trải đều yêu cầu trên nhiều IP.
- Truy cập các dịch vụ nghiêm ngặt, nhạy cảm với gian lận (đợt bán giày, kiểm chứng quảng cáo, nền tảng chỉ dành cho di động) — dùng proxy di động hoặc ISP, vì IP của chúng khó bị gắn cờ nhất mà không gây thiệt hại liên đới.
- Lưu lượng phi web (client game, torrent, email, giao thức tùy chỉnh) — dùng proxy SOCKS5, vì proxy HTTP chỉ xử lý HTTP(S).
- Quyền riêng tư cùng mã hóa trên mọi ứng dụng — không phải proxy chút nào; hãy dùng VPN, vì proxy hoạt động theo từng ứng dụng và thường không mã hóa.
Proxy thuận và proxy nghịch
Một điểm phân biệt nữa: một proxy thuận (forward proxy) hành động thay cho máy khách (bạn), chuyển tiếp các yêu cầu của bạn ra web — đó là tất cả những gì nói ở trên. Một proxy nghịch (reverse proxy) hành động thay cho một máy chủ, đứng trước các website để cân bằng tải, lưu cache và che chắn các máy chủ gốc (CDN là proxy nghịch). Khi người ta nói "dùng proxy" để bảo vệ quyền riêng tư, họ muốn nói đến một proxy thuận.
Một lưu ý về bảo mật
Nhiều proxy không mã hóa lưu lượng của bạn, nên một proxy HTTP thuần có thể thấy — và một proxy độc hại có thể ghi nhật ký hoặc can thiệp — mọi thứ bạn gửi qua HTTP. Sự bảo vệ mà HTTPS mang lại ở đây đến từ TLS giữa trình duyệt của bạn và đích đến, chứ không phải từ proxy: với một đường hầm CONNECT, proxy chỉ thấy host đích và các byte đã mã hóa, nhưng một proxy trong suốt hoặc cấu hình sai mà chặn TLS có thể phá vỡ sự bảo đảm đó. Các proxy công cộng miễn phí đặc biệt rủi ro chính vì bạn không thể kiểm tra xem chúng làm gì với lưu lượng mà chúng chuyển tiếp. Nếu bạn cần cả quyền riêng tư lẫn mã hóa trên mọi ứng dụng, thì một VPN thường là công cụ tốt hơn; một proxy phù hợp nhất khi bạn cần định tuyến lưu lượng cụ thể qua một IP cụ thể. Dù thế nào, hãy xác nhận kết nối của bạn thực sự để lộ những gì bằng một bài kiểm tra VPN/proxy, và để ý các rò rỉ DNS có thể tiết lộ bộ phân giải thật của bạn.
Câu hỏi thường gặp
Sự khác biệt giữa proxy và VPN là gì?
Một proxy chuyển tiếp lưu lượng cho một ứng dụng đơn lẻ và thường không mã hóa nó; một VPN mã hóa và đóng đường hầm cho toàn bộ lưu lượng của thiết bị bạn ở tầng hệ điều hành. Dùng proxy để định tuyến lưu lượng cụ thể qua một IP được chọn, và dùng VPN khi bạn muốn quyền riêng tư và mã hóa trên toàn thiết bị.
Loại proxy nào khó phát hiện nhất?
Proxy di động khó phát hiện nhất, kế đến là proxy dân cư, vì cả hai đều dùng các IP thuộc về những kết nối tiêu dùng thật được nhiều người chia sẻ. Proxy trung tâm dữ liệu dễ phát hiện nhất vì các dải IP của chúng được đăng ký cho các nhà cung cấp dịch vụ lưu trữ và xuất hiện trong các danh sách chặn.
SOCKS5 có tốt hơn proxy HTTP không?
Còn tùy vào công việc. SOCKS5 linh hoạt hơn — nó xử lý mọi loại lưu lượng và hỗ trợ UDP — trong khi proxy HTTP có thể lưu cache và thao tác trên các yêu cầu web. Cả hai đều không tự mã hóa lưu lượng của bạn, nên với các tác vụ chỉ thuần web thì proxy HTTP là ổn, còn với lưu lượng đa dạng hoặc phi web thì SOCKS5 là lựa chọn phù hợp hơn.
Proxy có giấu IP của tôi hoàn toàn không?
Chỉ ở mức mà loại và cấu hình của chúng cho phép. Proxy trong suốt làm lộ IP thật của bạn trong header, và ngay cả proxy cao cấp cũng không ngăn được rò rỉ WebRTC hay DNS. Hãy kiểm tra xem bạn thực sự để lộ những gì bằng một bài kiểm tra VPN/proxy thay vì cho rằng proxy giấu được tất cả.
Kết luận
"Proxy" trải dài qua hai lựa chọn độc lập: giao thức (HTTP cho các tính năng đặc thù web, SOCKS5 cho sự linh hoạt) và loại IP (trung tâm dữ liệu cho tốc độ giá rẻ, dân cư và di động để né phát hiện). Cộng thêm mức độ ẩn danh và sự phân biệt proxy thuận với proxy nghịch, bạn có thể chọn đúng công cụ cho từng việc — đồng thời nhớ rằng hầu hết proxy không mã hóa, và không loại nào tự động bịt được rò rỉ WebRTC hay DNS.
Bài viết nên đọc: