Η σύνδεση FTP λειτουργεί αλλά η λίστα φακέλων κολλάει: γιατί
Οι συνδέσεις FTP και οι λίστες φακέλων χρησιμοποιούν δύο διαφορετικές συνδέσεις. Όταν μια λίστα κολλάει, ελέγξτε τη διεύθυνση παθητικών δεδομένων και το εύρος θυρών, όχι τον κωδικό.
Το όνομα χρήστη λειτουργεί, ο κωδικός πρόσβασης λειτουργεί και ο πελάτης λέει ότι είναι συνδεδεμένος. Μετά περιμένει για πάντα μια λίστα φακέλου ή την πρώτη μεταφορά αρχείου, και τίποτα στα διαπιστευτήρια δεν το εξηγεί. Το FTP ανοίγει μια δεύτερη σύνδεση για κάθε λίστα και κάθε αρχείο, και αυτή η δεύτερη σύνδεση είναι που αποτυγχάνει. Η σύνδεση αποδεικνύει μόνο ότι η πρώτη συνομιλία λειτουργεί.
Κάντε τους ελέγχους με τη σειρά. Ο καθένας αποκλείει διαφορετικό επίπεδο, οπότε σταματήστε στον πρώτο που παράγει ανωμαλία.
Διαχωρίστε πρώτα τις δύο συνδέσεις
Μια σύνδεση ελέγχου μεταφέρει εντολές και απαντήσεις στη θύρα ακρόασης του διακομιστή. Μια σύνδεση δεδομένων μεταφέρει τη λίστα καταλόγου ή το σώμα του αρχείου, και σε παθητική λειτουργία ο διακομιστής επιλέγει το τελικό του σημείο και το ανακοινώνει στην απάντηση PASV ή EPSV. Η άδεια στη θύρα 21 δεν λέει τίποτα για το αν η θύρα δεδομένων είναι προσβάσιμη, και γι' αυτό ακριβώς η σύνδεση πετυχαίνει ενώ κάθε λίστα λήγει. Ο οδηγός του WinSCP για τις λειτουργίες FTP εξηγεί τον διαχωρισμό και τις απαιτήσεις του δικτύου.
Αν ο πελάτης βρίσκεται πίσω από το VPN, η διαδρομή δεδομένων περνά από το ίδιο τούνελ αλλά όχι απαραίτητα από την ίδια πολιτική.
Διαβάστε τη διεύθυνση στην απάντηση PASV
Εκτελέστε έναν πελάτη με λεπτομέρειες και διαβάστε την απάντηση αντί να μαντεύετε. curl -v ftp://user@host/ εκτυπώνει τη γραμμή PASV με τη διεύθυνση και τη θύρα που θέλει ο διακομιστής, και σε αυτή τη διεύθυνση συνδέεται ο πελάτης στη συνέχεια. Αν είναι ιδιωτική διεύθυνση που δεν σημαίνει τίποτα στην πλευρά του πελάτη μέσα στο τούνελ, η σύνδεση δεδομένων δεν πηγαίνει πουθενά ενώ το κανάλι ελέγχου παραμένει υγιές.
Συγκρίνετε αυτή τη διεύθυνση με τη διεύθυνση που έφτασε πραγματικά ο πελάτης. Η αναντιστοιχία είναι η απάντηση, και συνήθως προέρχεται από NAT ή από διακομιστή ρυθμισμένο με εσωτερική διεύθυνση.
Ελέγξτε το εύρος θυρών και την πολιτική του τούνελ
Οι παθητικοί διακομιστές εκχωρούν θύρες δεδομένων από ένα ρυθμισμένο εύρος, και αυτό το εύρος πρέπει να επιτρέπεται μέσω του VPN και οποιουδήποτε τείχους προστασίας στη διαδρομή. Μια πολιτική που επιτρέπει 21 και τίποτα άλλο είναι πολιτική μόνο για σύνδεση. Επιβεβαιώστε το εύρος με όποιον διαχειρίζεται τον διακομιστή και μετά δοκιμάστε μία θύρα από αυτό αντί να υποθέσετε ότι όλο το εύρος συμπεριφέρεται το ίδιο.
Τα κρυπτογραφημένα κανάλια ελέγχου το κάνουν δυσκολότερο, γιατί ένα ενδιάμεσο κουτί δεν μπορεί πλέον να ξαναγράψει την ανακοινωμένη διεύθυνση εν πτήσει.
Μάθετε πότε βοηθά το EPSV ή μια εναλλακτική
Το EPSV επιστρέφει θύρα χωρίς ξεχωριστή διεύθυνση, κάτι που εξαλείφει την αποτυχία λάθος διεύθυνσης όταν το υποστηρίζουν και τα δύο άκρα. Σε ορισμένους πελάτες μπορεί επίσης να δοθεί εντολή να αγνοήσουν την ανακοινωμένη διεύθυνση και να επαναχρησιμοποιήσουν τον προορισμό της σύνδεσης ελέγχου. Και τα δύο είναι νόμιμα εργαλεία για συγκεκριμένη τοπολογία, όχι καθολική λύση.
Μην απενεργοποιείτε το TLS μόνο για να επιθεωρήσει ένα βοηθητικό τη συνεδρία. Αυτό ανταλλάσσει ένα λειτουργικό πρωτόκολλο με ένα χαλασμένο μοντέλο απειλών.
Επιβεβαιώστε με λίστα και μεταφορά
Αφού αλλάξει η πολιτική διεύθυνσης ή θύρας, ανοίξτε νέα συνεδρία στην ίδια διαδρομή VPN και καταγράψτε έναν κατάλογο. Μετά μεταφέρτε ένα μικρό αρχείο, γιατί μια λίστα και μια μεταφορά μπορεί να ακολουθήσουν διαφορετικές διαδρομές κώδικα σε ορισμένους διακομιστές. Ελέγξτε το αρχείο καταγραφής του πελάτη για σύνδεση δεδομένων στην αναμενόμενη διεύθυνση και θύρα και επιβεβαιώστε ότι τα byte έφτασαν.
Κρατήστε τα FTP, FTPS και SFTP ξεχωριστά στο μυαλό σας όσο το κάνετε. Μια αλλαγή παθητικής θύρας δεν είναι ρύθμιση SFTP και η διόρθωση δεν μεταφέρεται μεταξύ πρωτοκόλλων.