Cơ sở kiến thức ProxyCompass
Xác thực proxy: danh sách IP được phép hay tên người dùng và mật khẩu?
Xác thực proxy kiểm tra xem ứng dụng của bạn có được dùng dịch vụ proxy hay không. Biết địa chỉ và cổng của proxy thường chưa đủ: dịch vụ còn phải phân biệt máy khách được phép với các hệ thống khác có thể kết nối đến nó. Nhờ đó, chỉ những máy khách bạn cấp quyền mới được dùng các proxy đã mua.
Hai phương thức phổ biến dựa vào các bằng chứng khác nhau. Khi xác thực bằng IP, proxy kiểm tra nguồn kết nối. Khi xác thực bằng tên người dùng và mật khẩu, ứng dụng cung cấp thông tin xác thực. Phương thức đầu gắn quyền truy cập với địa chỉ mạng; phương thức sau có thể cho phép ứng dụng giữ quyền truy cập khi chuyển mạng. Dịch vụ cũng có thể yêu cầu đồng thời cả hai điều kiện.
Lựa chọn này ảnh hưởng đến cách kết nối, những ứng dụng có thể dùng và điều xảy ra khi môi trường làm việc thay đổi. Đây là một phần riêng trong việc chọn cấu hình proxy: xác thực không quyết định IP đầu ra thuộc trung tâm dữ liệu hay mạng dân cư, là IP tĩnh hay xoay. Nó quyết định ai được dùng dịch vụ cung cấp IP đó.
Cách hoạt động của hai phương thức xác thực
Xác thực bằng IP: cấp quyền cho nguồn kết nối
Với xác thực bằng IP, bạn thêm địa chỉ máy khách vào danh sách được phép của nhà cung cấp, thường gọi là whitelist hoặc allowlist. Khi có kết nối đến, proxy đối chiếu IP nguồn với danh sách này. Nếu khớp và đáp ứng các điều kiện truy cập khác của dịch vụ, ứng dụng có thể dùng proxy mà không phải gửi tên người dùng và mật khẩu proxy riêng.
Với proxy trên internet, địa chỉ cần xét thường là IP công cộng đầu ra của mạng bạn. Đây là địa chỉ mà ứng dụng dùng để kết nối đến proxy, không phải IP đầu ra mà proxy sau đó thể hiện với các trang web. Mua proxy tĩnh không làm kết nối internet tại nhà trở thành tĩnh: các địa chỉ này thuộc những phần khác nhau của tuyến kết nối.
Vì vậy, truy cập vẫn thuận tiện khi nguồn được phép không đổi. Chương trình có thể khởi động lại hoặc thiết bị được phép khác có thể kết nối qua mạng đó mà không cần mật khẩu proxy riêng. Nếu IP đầu ra thay đổi, quyền cũ không tự động áp dụng cho địa chỉ mới. Hướng dẫn xác thực bằng IP giải thích cách xác định đúng địa chỉ nguồn và quản lý danh sách được phép.
Tên người dùng và mật khẩu: quyền truy cập do ứng dụng cung cấp
Với xác thực bằng tên người dùng và mật khẩu, nhà cung cấp cấp thông tin xác thực để dùng proxy. Ứng dụng gửi chúng trong quá trình trao đổi của giao thức proxy được hỗ trợ. Trình duyệt có thể yêu cầu người dùng nhập; tập lệnh có thể lấy từ cấu hình mà không hiển thị cửa sổ đăng nhập.
Khi thông tin xác thực là yêu cầu xác thực duy nhất, quyền truy cập có thể đi theo ứng dụng giữa các mạng. Cấu hình đang hoạt động vẫn có thể kết nối từ IP nguồn mới. Điều này hữu ích khi nơi chạy tác vụ thay đổi thường xuyên hơn cài đặt proxy.
Thông tin xác thực này dành cho kết nối với proxy. Chúng không mặc nhiên là mật khẩu bảng điều khiển của nhà cung cấp. Xác thực với proxy không có nghĩa bạn đã đăng nhập vào trang web đích. Trang đó vẫn áp dụng quy tắc đăng nhập và truy cập riêng. Hướng dẫn xác thực bằng tên người dùng và mật khẩu trình bày các trường kết nối, máy khách được hỗ trợ và định dạng thông tin xác thực.
Xác thực bằng IP so với tên người dùng và mật khẩu
Bảng dưới mô tả riêng từng phương thức. Truy cập bằng mật khẩu ở đây là truy cập không có hạn chế IP bổ sung; chế độ kết hợp được giải thích ở phần sau.
| Khác biệt trong thực tế | Xác thực bằng IP | Tên người dùng và mật khẩu |
|---|---|---|
| Cơ sở cấp quyền truy cập | Kết nối phải đến từ IP nguồn được phép. | Ứng dụng phải cung cấp thông tin xác thực proxy hợp lệ. |
| Cài đặt ứng dụng | Không cần thông tin xác thực proxy, nhưng vẫn cần đúng giao thức, địa chỉ và cổng proxy. | Ứng dụng phải hỗ trợ cách trao đổi thông tin xác thực của proxy. |
| Chuyển sang mạng khác | Nguồn mới phải được cho phép sẵn hoặc được thêm vào danh sách. | Thông tin xác thực cũ có thể dùng được từ mạng mới. |
| Nhiều ứng dụng | Các ứng dụng dùng cùng điểm ra mạng được phép chia sẻ quyền truy cập của IP đó. | Mỗi ứng dụng phải gửi thông tin xác thực được dịch vụ chấp nhận; nhiều ứng dụng có thể dùng cùng một cặp nếu được phép. |
| Thông tin bị lộ khi địa chỉ proxy rò rỉ | Chỉ địa chỉ và cổng không đủ để vượt qua kiểm tra IP nguồn từ mạng chưa được chấp thuận. | Cấu hình đầy đủ chứa thông tin xác thực hợp lệ có thể cho phép truy cập từ mạng khác. |
| Những gì bạn quản lý | Địa chỉ nguồn được phép và các tuyến mạng dùng chúng. | Thông tin xác thực và các ứng dụng được cấu hình để gửi chúng. |
Không phương thức nào quyết định số IP đầu ra của dịch vụ. Một IP máy khách được phép hoặc một bộ thông tin xác thực có thể cho phép truy cập nhiều proxy. Chúng cũng không cấp số kết nối không giới hạn hay làm địa chỉ đầu ra của các proxy trở thành độc quyền cho một khách hàng.
Cách chọn theo ứng dụng và mạng của bạn
Trước hết, kiểm tra ứng dụng có dùng được phương thức được cung cấp hay không
Một chương trình có thể hỗ trợ giao thức proxy nhưng không hỗ trợ mọi lựa chọn xác thực của giao thức đó. Chỉ có trường địa chỉ và cổng không chứng minh chương trình gửi được tên người dùng và mật khẩu. Chẳng hạn, khả năng hỗ trợ SOCKS5 tích hợp trong Chrome không bao gồm xác thực SOCKS5 bằng tên người dùng và mật khẩu. Thông tin xác thực đúng không khắc phục được việc máy khách thiếu khả năng này.
Nếu ứng dụng cần dùng hỗ trợ giao thức được cung cấp nhưng không gửi được thông tin xác thực, xác thực bằng IP có thể là cách truy cập khả dụng. Tuy nhiên, địa chỉ nguồn vẫn phải được phép. Khi địa chỉ đó thường xuyên thay đổi, chuyển sang truy cập bằng IP giải quyết vấn đề thông tin xác thực nhưng vẫn để lại việc quản lý địa chỉ nguồn. Thay vào đó, bạn có thể cần máy khách hỗ trợ cách xác thực cần thiết hoặc điểm ra mạng ổn định.
Vì vậy, câu hỏi hữu ích trước khi mua phải cụ thể: ứng dụng này có dùng được giao thức proxy này với phương thức xác thực này không? Thành công trong trình duyệt hoặc công cụ dòng lệnh khác chưa trả lời được câu hỏi đó.
Tiếp theo, xem phần nào trong cấu hình thường thay đổi
Xác thực bằng IP phù hợp với công việc có điểm ra mạng ổn định và được kiểm soát. Khi điểm ra đã được cho phép, việc thay chương trình phía sau nó không đòi hỏi phân phối thông tin xác thực proxy cho mỗi tiến trình mới. Cài đặt truy cập của dịch vụ vẫn gắn với mạng mà công việc dùng.
Thông tin xác thực phù hợp với công việc có nơi thực thi thay đổi. Nếu tác vụ chuyển sang máy chủ khác hoặc các tiến trình xử lý mới chạy từ mạng khác, bạn không cần sửa danh sách được phép riêng cho từng nguồn, miễn là dịch vụ chấp nhận thông tin xác thực không ràng buộc IP. Cấu hình proxy có thể chuyển cùng ứng dụng.
Điểm phân biệt quan trọng là tần suất nguồn kết nối đầu ra thay đổi, không phải bạn gọi máy đó là máy tính xách tay, VPS hay máy chủ đám mây. Máy tính xách tay có thể luôn dùng điểm ra cố định của văn phòng; một hệ thống máy chủ có thể chuyển giữa các địa chỉ công cộng. Hãy chọn theo đường kết nối thực tế và những thay đổi dự kiến trong công việc bình thường.
Nếu cả hai phương thức đều dùng được, chọn cách dễ quản lý hơn
Hãy xem ai sẽ quản lý cài đặt. Quản trị viên mạng kiểm soát điểm ra cố định dùng chung cho nhiều ứng dụng có thể quản lý truy cập qua một quyền cho địa chỉ nguồn. Lập trình viên chuyển công việc giữa các môi trường nhưng không kiểm soát được IP công cộng có thể thấy thông tin xác thực không ràng buộc IP dễ quản lý hơn.
Tính cả nguồn lực bổ sung mà lựa chọn đó đòi hỏi. IP công cộng cố định, mục bổ sung trong danh sách được phép hoặc gateway được quản lý có thể phát sinh chi phí. Truy cập bằng mật khẩu có thể tránh các chi phí này, nhưng chỉ khi dùng được từ những mạng cần thiết. Hãy so sánh các lựa chọn dịch vụ thực tế; chỉ có mật khẩu không làm proxy rẻ hơn.
Xác thực kết hợp: IP và mật khẩu
Nhà cung cấp có thể cho phép chọn truy cập bằng IP hoặc bằng mật khẩu, hoặc yêu cầu cả hai cùng lúc. Đây là những cách bố trí khác nhau. Trong chế độ kết hợp, thông tin xác thực hợp lệ chỉ được chấp nhận khi kết nối đồng thời đến từ địa chỉ hoặc mạng được phép. Chỉ mật khẩu đúng là chưa đủ, và chỉ nguồn được phép cũng chưa đủ.
Cách này có thể phù hợp với ứng dụng yêu cầu trường tên người dùng và mật khẩu trong khi vẫn giới hạn nơi bắt nguồn truy cập. Nó cũng có thể hạn chế việc dùng thông tin xác thực đã sao chép bên ngoài mạng được phép. Cách này không cho sự tự do chuyển giữa các mạng bất kỳ như truy cập bằng mật khẩu không ràng buộc IP.
Trong các gói tĩnh của ProxyCompass, chế độ kết hợp chấp nhận thông tin xác thực hợp lệ từ địa chỉ IPv4 công cộng của máy khách nằm trong cùng mạng con /24 với IP đã thêm vào whitelist. Những địa chỉ này có ba số đầu giống nhau. Vì vậy, nhiều địa chỉ máy khách trong mạng con đó có thể dùng thông tin xác thực thông qua một mục whitelist. Quy tắc này áp dụng cho máy khách kết nối đến dịch vụ, không phải các IP đầu ra đã mua. Hướng dẫn tên người dùng và mật khẩu được liên kết phía trên có các ví dụ kết nối.
Phương thức nào kiểm soát truy cập tốt hơn?
Xác thực bằng IP đặt quyết định truy cập tại điểm ra mạng. Người chỉ có địa chỉ proxy không thể dùng nó từ một nguồn khác chưa được chấp thuận. Nhưng proxy không thể nhận diện từng người chỉ vì họ dùng chung IP được phép. Nếu nhiều người dùng kết nối qua cùng địa chỉ công cộng, kiểm tra IP thấy cùng một nguồn cho tất cả. Điều này quan trọng với điểm ra dùng chung của văn phòng và địa chỉ công cộng được chia sẻ giữa các thuê bao internet.
Xác thực bằng tên người dùng và mật khẩu đặt quyền truy cập trong thông tin xác thực mà ứng dụng có thể gửi không phụ thuộc vị trí. Cách này hoạt động tốt giữa các mạng không liên quan. Điều đó cũng có nghĩa cấu hình sao chép chứa thông tin xác thực hợp lệ có thể vẫn dùng được ở nơi khác. Nếu nhà cung cấp có thông tin xác thực riêng cho từng người dùng hoặc công việc, chúng giúp quản lý truy cập chi tiết hơn; một mật khẩu dùng chung cho tất cả không tạo ra sự phân tách đó.
Vì vậy, lựa chọn tùy vào điều bạn kiểm soát đáng tin cậy hơn: nhóm hệ thống phía sau điểm ra mạng được phép hay thông tin xác thực cấp cho ứng dụng. Truy cập kết hợp yêu cầu cả hai điều kiện nên hạn chế nơi có thể sử dụng ngay cả thông tin xác thực hợp lệ.
Kiểm soát truy cập và mã hóa là hai vấn đề riêng biệt. Xác thực bằng IP không mã hóa lưu lượng, và mật khẩu không tự động tạo kết nối mã hóa. Bảo vệ thông tin xác thực khi truyền đòi hỏi bảo vệ chính kết nối từ máy khách đến proxy. Chỉ mở trang HTTPS qua proxy không bảo vệ được cuộc trao đổi đăng nhập không mã hóa đã diễn ra trước đó với proxy.
Xác thực bằng IP có làm proxy nhanh hơn không?
Truy cập bằng IP có thể tránh trao đổi thông tin xác thực, nhưng quá trình thiết lập kết nối khác nhau giữa HTTP và SOCKS. Trong SOCKS5, xác thực bằng tên người dùng và mật khẩu thêm một yêu cầu và phản hồi khi thiết lập. Với HTTP, máy khách có thể chờ yêu cầu xác thực rồi gửi lại yêu cầu, hoặc gửi thông tin xác thực phù hợp ngay từ đầu. Do đó, truy cập bằng mật khẩu không phải lúc nào cũng thêm một lượt truyền khứ hồi qua mạng.
Khác biệt này quan trọng nhất khi công việc liên tục tạo kết nối mới để thực hiện một lượng nhỏ công việc. Nó ít ảnh hưởng hơn khi dùng lại kết nối đã thiết lập. Ví dụ, yêu cầu thêm trang từ cùng website qua đường hầm HTTPS đang có không lặp lại đăng nhập proxy đã dùng để tạo đường hầm. Đây là chi phí thiết lập kết nối, không phải mức giảm cố định của tốc độ truyền dữ liệu proxy.
Nếu cả hai phương thức phù hợp, hãy so sánh chúng với cùng giao thức, tài nguyên proxy tương đương và kiểu kết nối thực tế của bạn. Thử nghiệm mở kết nối mới cho mỗi yêu cầu trả lời câu hỏi khác với thử nghiệm dùng lại kết nối. Không có so sánh như vậy, tuyên bố rằng một phương thức xác thực luôn nhanh hơn không giúp ích nhiều khi chọn dịch vụ.
Xác thực có thể tiết lộ địa chỉ đang chạy proxy không?
Có. Mật khẩu có thể ngăn sử dụng trái phép nhưng vẫn cho phép hệ thống bên ngoài nhận diện dịch vụ. Ví dụ, công cụ kiểm tra có thể liên hệ địa chỉ và cổng của proxy HTTP mà không có thông tin xác thực hợp lệ. Phản hồi 407 Proxy Authentication Required cùng tiêu đề Proxy-Authenticate chỉ rõ yêu cầu xác thực proxy. Công cụ kiểm tra không cần biết mật khẩu để nhận bằng chứng này.
Dịch vụ giới hạn IP có thể tiết lộ ít hơn nếu chặn nguồn chưa được chấp thuận trước khi trả về phản hồi proxy dễ nhận diện. Nhưng chỉ danh sách được phép không bảo đảm hành vi này: máy chủ có thể trả về lời từ chối đặc trưng. Điểm kết nối bảo vệ bằng mật khẩu cũng có thể có bộ lọc mạng. Khác biệt cần xét là kết nối bên ngoài có thể tiếp cận phần nào và nhận phản hồi gì.
Địa chỉ đang kiểm tra cũng quan trọng. Khi địa chỉ đầu vào và IP đầu ra của proxy giống nhau, phản hồi dễ nhận diện có thể xác định địa chỉ mà website nhìn thấy. Với gateway dùng các IP đầu ra khác nhau, chỉ nhận diện gateway không tự xác định được mọi IP đầu ra trong nhóm của nó.
Trang web đích không tự động nhận yêu cầu đăng nhập proxy trong quá trình duyệt thông thường: cuộc trao đổi đó diễn ra giữa máy khách và proxy. Trang web hoặc dịch vụ phát hiện của nó cần bằng chứng khác, có thể gồm phép kiểm tra riêng đối với địa chỉ. Vì vậy, chỉ đổi cách xác thực không thể cam kết làm IP không bị nhận diện là proxy hay xóa thông tin đã biết về nó.
