Στο SOCKS5, ο έλεγχος ταυτότητας διαπραγματεύεται πριν ο πελάτης στείλει το αίτημα προορισμού του. Αυτό καθιστά μια πρώιμη αποτυχία διαπιστευτηρίων διαφορετικό γεγονός από μια αποτυχία FTP, HTTPS ή άλλης εφαρμογής πέρα από τον διαμεσολαβητή.

Ο χαιρετισμός του πελάτη απαριθμεί τις μεθόδους ελέγχου ταυτότητας που υποστηρίζει. Ο διακομιστής επιλέγει μία μέθοδο από αυτή τη λίστα και στέλνει πίσω την επιλογή. Η τιμή 0xff σημαίνει ότι καμία προσφερόμενη μέθοδος δεν είναι αποδεκτή και η σύνδεση πρέπει να κλείσει. Ο πελάτης δεν δοκιμάζει απλώς κάθε μέθοδο από την πλευρά του διακομιστή αφού αποτύχει ένας κωδικός πρόσβασης.

Τι ελέγχει η σειρά του Dante

Το Dante 1.4.x ονομάζει τη ρύθμιση σε επίπεδο πρωτοκόλλου socksmethod. Η τεκμηρίωσή του λέει ότι οι μέθοδοι παρατίθενται με σειρά προτίμησης. Για μια πολιτική που επιτρέπει και τις δύο μεθόδους, αυτή η δήλωση προτιμά όνομα χρήστη/κωδικό πρόσβασης όταν ο πελάτης το προσφέρει:

socksmethod: username none

Η αντιστροφή της λίστας προτιμά μη πιστοποιημένη πρόσβαση όταν προσφέρονται και οι δύο μέθοδοι:

socksmethod: none username

Πρόκειται για εναλλακτικές δηλώσεις μεθόδων, όχι πλήρεις διαμορφώσεις διακομιστή. Οι διεπαφές ακρόασης, οι επιτρεπόμενοι πελάτες, οι κανόνες προορισμού και τυχόν περιορισμοί ελέγχου ταυτότητας ανά κανόνα εξακολουθούν να έχουν σημασία.

Η αποδοχή none έχει συγκεκριμένη συνέπεια: ένας πελάτης που προσφέρει μόνο κανέναν έλεγχο ταυτότητας μπορεί να γίνει δεκτός σύμφωνα με τους ισχύοντες κανόνες. Η τοποθέτηση του username πρώτου δεν μετατρέπει μια λίστα που περιέχει none σε απαίτηση να παρέχουν όλοι κωδικό πρόσβασης.

Επιλέξτε πρώτα την απαίτηση

Εάν κάθε επιτρεπόμενος πελάτης πρέπει να ελέγχεται με όνομα χρήστη/κωδικό πρόσβασης, διαμορφώστε αυτή την απαίτηση με συνέπεια στους καθολικούς και ισχύοντες κανόνες αντί να προσθέτετε το none ως γενική διόρθωση συμβατότητας. Εάν η ανώνυμη πρόσβαση είναι σκόπιμη για μια περιορισμένη ομάδα πελατών, κάντε την ομάδα και τους επιτρεπόμενους προορισμούς της ρητούς.

Το Dante έχει επίσης το clientmethod, που αφορά ελέγχους που εκτελούνται όταν συνδέεται ο πελάτης TCP, πριν από τη διαπραγμάτευση SOCKS. Είναι ξεχωριστό επίπεδο από τις μεθόδους που ανταλλάσσονται στον χαιρετισμό SOCKS5. Αποσπάσματα διαμόρφωσης που χρησιμοποιούν παλαιότερη λέξη-κλειδί method πρέπει να διαβάζονται σύμφωνα με το εγχειρίδιο της εγκατεστημένης έκδοσης Dante.

Όταν δύο πελάτες συμπεριφέρονται διαφορετικά, συγκρίνετε τι προσφέρει ο καθένας, τι επιλέγει το Dante και αν η υπο-διαπραγμάτευση της επιλεγμένης μεθόδου πετυχαίνει. Στη συνέχεια επιθεωρήστε την απάντηση προορισμού SOCKS. Αυτή η ακολουθία εντοπίζει ένα απόν callback διαπιστευτηρίων χωρίς να αποδίδει κάθε αποτυχία στο FTP ή να αλλάζει στα τυφλά την πολιτική ελέγχου ταυτότητας του διακομιστή.

Τέλος, ο έλεγχος ταυτότητας όνομα χρήστη/κωδικός πρόσβασης του SOCKS5 δεν κρυπτογραφεί την ανταλλαγή του κωδικού πρόσβασης. Χρησιμοποιήστε κατάλληλα προστατευμένη μεταφορά ή δίκτυο όταν αυτά τα διαπιστευτήρια χρειάζονται εμπιστευτικότητα.

Σχετικά άρθρα