Ένα VPN προστατεύει μια διαδρομή, και κάθε διαδρομή έχει τέλος. Όταν η σήραγγα τερματίζει σε μια πύλη της εταιρείας, η μεταφορά αρχείων συνεχίζεται από εκεί με την προστασία που παρέχει το δικό της πρωτόκολλο. Αυτή η διάκριση καθορίζει αν μια μεταφορά προστατεύεται από άκρη σε άκρη ή μόνο μέχρι την πύλη. Η ένδειξη Connected δεν λέει τίποτα για καμία από τις δύο περιπτώσεις.

Δύο τοποθετήσεις, δύο διαδρομές που απομένουν

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

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

Βάλτε το τελικό σημείο του VPN και την υπηρεσία FTP σε ένα μηχάνημα και δεν υπάρχει επόμενο τμήμα για να ανησυχείτε. Αυτή είναι διαφορετική τοποθέτηση και όχι απόδειξη ότι οι διεργασίες, τα αρχεία και τα διαπιστευτήρια του κεντρικού υπολογιστή είναι ασφαλή.

Το απλό FTP, το FTPS και το SFTP είναι τρεις αποφάσεις

Το απλό FTP δεν κρυπτογραφεί τίποτα, ούτε τον κωδικό πρόσβασης. Το FTPS προσθέτει TLS στο FTP, ώστε το κανάλι ελέγχου και, όταν συμφωνηθεί, το κανάλι δεδομένων να προστατεύονται. Το SFTP είναι διαφορετικό πρωτόκολλο που μεταφέρεται μέσα στο SSH και δεν είναι άλλος τρόπος γραφής του FTPS.

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

ProtocolUsual portWhat it protectsIdentity check
FTP21Nothing on the wireNone beyond the login
FTPS21 or 990Control channel, data channel when requiredTLS server certificate
SFTP22The whole session inside SSHSSH host key

Διαβάστε την τελευταία στήλη όταν η μεταφορά έχει σημασία, γιατί εκεί εμφανίζεται μια απρόσμενη αλλαγή ταυτότητας.

Η σύνδεση δεδομένων είναι μια δεύτερη σύνδεση

Το FTP ανοίγει μια σύνδεση ελέγχου και μετά ξεχωριστές συνδέσεις δεδομένων για λίστες και μεταφορές. Μια προστατευμένη σύνδεση δεν λέει τίποτα για αυτές τις μεταγενέστερες συνδέσεις, εκτός αν η ανάπτυξη απαιτεί προστασία και για αυτές.

Στο FTPS, ο πελάτης ζητά προστατευμένο κανάλι δεδομένων μέσω συγκεκριμένης εντολής, και μια πολιτική του διακομιστή μπορεί να αρνηθεί την ανοιχτή εναλλακτική. Επαληθεύστε ότι η πολιτική το απαιτεί αντί να υποθέσετε ότι η προεπιλογή του πελάτη αρκεί. Η παθητική λειτουργία προσθέτει μια δεύτερη επιπλοκή, γιατί ο διακομιστής διαφημίζει διεύθυνση και θύρα για τη σύνδεση δεδομένων. Ένα τείχος προστασίας ή μια συσκευή NAT που ξαναγράφει ή μπλοκάρει αυτή τη διαφήμιση παράγει μια συνεδρία που αυθεντικοποιείται και μετά κολλά στην πρώτη λίστα.

curl -vk ftps://files.corp.example/ --user alice --ftp-ssl-control
openssl s_client -connect files.corp.example:21 -starttls ftp
ss -tnp | grep -E ':21|:990'

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

Οι έλεγχοι ταυτότητας επιβιώνουν από τη σήραγγα

Ένας πελάτης FTPS επαληθεύει την ταυτότητα διακομιστή TLS, και ένας πελάτης SFTP επαληθεύει ένα κλειδί κεντρικού υπολογιστή SSH. Και οι δύο έλεγχοι ανήκουν στο πρωτόκολλο μεταφοράς αρχείων, και κανέναν δεν τον εκτελεί το VPN.

Αυτός ο διαχωρισμός έχει σημασία όταν κάτι στη μέση θέλει να επιθεωρήσει τη συνεδρία. Η απενεργοποίηση του TLS ώστε μια συσκευή δικτύου να διαβάζει τις εντολές αλλάζει το μοντέλο προστασίας αντί να το ολοκληρώσει, και το ίδιο ισχύει για την αποδοχή ενός ανεξήγητου κλειδιού κεντρικού υπολογιστή επειδή σηκώθηκε η σήραγγα. Κρατήστε τη σκόπιμη διαμόρφωση εμπιστοσύνης και προμηθευτείτε το σωστό υλικό από τον διαχειριστή. Μια σήραγγα που αυθεντικοποιείται δεν λέει τίποτα για τον διακομιστή στο μακρινό της άκρο.

Το υλικό ιδιωτικού κλειδιού και πιστοποιητικού για αυτά τα πρωτόκολλα είναι άλλο ένα τρίτο μυστικό, ξεχωριστό από τα διαπιστευτήρια του VPN.

Καταγράψτε τι επαληθεύσατε πραγματικά

Διαλέξτε ένα ακίνδυνο αρχείο που επιτρέπεται να μετακινήσετε και σημειώστε τέσσερα γεγονότα για την προσπάθεια: ποιο πρωτόκολλο έτρεξε, ποια ταυτότητα αντισυμβαλλομένου ελέγχθηκε, ποια διαδρομή προοριζόταν και αν η μεταφορά ολοκληρώθηκε.

lftp -u alice -e "set ftp:ssl-protect-data true; ls; bye" ftps://files.corp.example
sftp -v [email protected]

Μια λίστα καταλόγου, μια σύνδεση στη σήραγγα και μια ολοκληρωμένη μεταφορά είναι τρεις ξεχωριστές παρατηρήσεις, και μόνο η τελευταία λέει ότι η διαδρομή λειτουργεί για αρχεία. Αν ο σχεδιασμός βασίζεται μόνο στο VPN για την εμπιστευτικότητα στο υπόλοιπο άλμα, γράψτε το ως την απόφαση που είναι. Μια σημείωση αποδοχής που ονομάζει το άλμα και την παραδοχή εμπιστοσύνης του αξίζει περισσότερο από ένα στιγμιότυπο οθόνης ενός συνδεδεμένου πελάτη.

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