Chọn phương thức xác thực SOCKS5 trong Dante
Hiểu cách Dante chọn một phương thức xác thực SOCKS5 được đề nghị và cách thứ tự phương thức thay đổi chính sách mà máy khách trải nghiệm.
Với SOCKS5, việc xác thực được thương lượng trước khi máy khách gửi yêu cầu đích của nó. Điều đó khiến một lỗi thông tin đăng nhập sớm trở thành sự kiện khác với lỗi FTP, HTTPS hoặc ứng dụng khác phía sau proxy.
Lời chào của máy khách liệt kê các phương thức xác thực mà nó hỗ trợ. Máy chủ chọn một phương thức từ danh sách đó và gửi lại lựa chọn. Giá trị 0xff nghĩa là không phương thức nào được đề nghị là chấp nhận được và kết nối phải đóng. Máy khách không chỉ đơn giản thử mọi phương thức phía máy chủ sau khi mật khẩu thất bại.
Thứ tự của Dante kiểm soát điều gì
Dante 1.4.x gọi thiết lập ở mức giao thức là socksmethod. Tài liệu của nó nói rằng các phương thức được liệt kê theo thứ tự ưu tiên. Với một chính sách cho phép cả hai phương thức, khai báo này ưu tiên tên người dùng/mật khẩu khi máy khách đề nghị nó:
socksmethod: username noneĐảo ngược danh sách ưu tiên truy cập không xác thực khi cả hai phương thức được đề nghị:
socksmethod: none usernameĐây là những khai báo phương thức thay thế, không phải cấu hình máy chủ đầy đủ. Các giao diện lắng nghe, máy khách được phép, quy tắc đích và mọi ràng buộc xác thực riêng cho quy tắc vẫn quan trọng.
Cho phép none có một hệ quả cụ thể: một máy khách chỉ đề nghị không xác thực có thể được chấp nhận theo các quy tắc áp dụng. Đặt username lên trước không biến một danh sách chứa none thành yêu cầu mọi người phải cung cấp mật khẩu.
Chọn yêu cầu trước
Nếu mọi máy khách được phép phải xác thực bằng tên người dùng/mật khẩu, hãy cấu hình yêu cầu đó một cách nhất quán trong các quy tắc toàn cục và áp dụng thay vì thêm none như một bản sửa lỗi tương thích chung. Nếu truy cập ẩn danh là có chủ đích cho một nhóm máy khách hạn chế, hãy làm rõ nhóm và các đích được phép của nó.
Dante cũng có clientmethod, liên quan đến các kiểm tra được thực hiện khi máy khách TCP kết nối, trước khi thương lượng SOCKS. Đây là một lớp tách biệt với các phương thức được trao đổi trong lời chào SOCKS5. Các đoạn cấu hình dùng từ khóa method cũ hơn nên được đọc theo hướng dẫn của phiên bản Dante đã cài đặt.
Khi hai máy khách hành xử khác nhau, hãy so sánh mỗi bên đề nghị gì, Dante chọn gì và liệu thương lượng phụ của phương thức được chọn có thành công không. Sau đó kiểm tra phản hồi đích SOCKS. Trình tự này xác định một lệnh gọi lại thông tin đăng nhập bị thiếu mà không quy mọi lỗi cho FTP hoặc thay đổi chính sách xác thực của máy chủ một cách mù quáng.
Cuối cùng, xác thực tên người dùng/mật khẩu của SOCKS5 không mã hóa việc trao đổi mật khẩu. Hãy dùng phương tiện truyền tải hoặc mạng được bảo vệ phù hợp khi những thông tin đăng nhập đó cần bí mật.