Κατανόηση SFTP έναντι FTPS έναντι FTP

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

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

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

FTP

Το FTP είναι το πρωτόκολλο μεταφοράς αρχείων δεκαετιών που προτάθηκε αρχικά με το RFC 114. Αυτό αργότερα εξελίχθηκε ως RFC 959, το οποίο είναι το πρότυπο που χρησιμοποιείται σήμερα.

Το FTP λειτουργεί σε δύο κανάλια για την ανταλλαγή πληροφοριών: ένα για εντολές και το άλλο για δεδομένα. Αυτό απαιτεί δύο θύρες για να λειτουργήσει το FTP – το κανάλι εντολών και το κανάλι δεδομένων.

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

Το κανάλι δεδομένων χρησιμοποιεί μια προσωρινή θύρα κατ’ απαίτηση που ακούει στον διακομιστή (παθητική λειτουργία) ή στον πελάτη (ενεργή λειτουργία). Αυτό το κανάλι είναι υπεύθυνο για την κοινή χρήση πραγματικών δεδομένων μεταξύ διακομιστή και πελάτη με τη μορφή καταχωρίσεων καταλόγου και μεταφοράς αρχείων.

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

Το FTP είναι ένα εγγενώς ανασφαλές πρωτόκολλο καθώς τόσο τα κανάλια εντολών όσο και τα κανάλια δεδομένων μεταφέρουν πληροφορίες σε μη κρυπτογραφημένη μορφή, η οποία είναι εύκολα επιρρεπής σε υποκλοπή από οποιονδήποτε χρησιμοποιεί επιθέσεις man-in-the-middle.

  Πώς να ενεργοποιήσετε το Startup Chime στο νέο σας Mac

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

Έλεγχος ταυτότητας σε FTP

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

Ενεργός και παθητικός τρόπος λειτουργίας FTP

Το FTP χρησιμοποιεί είτε Ενεργή είτε Παθητική λειτουργία για τη ρύθμιση των συνδέσεων.

Στην ενεργή λειτουργία, ένας χρήστης συνδέεται από μια τυχαία θύρα του προγράμματος-πελάτη FTP στη θύρα FTP 21/tcp του διακομιστή και στέλνει την εντολή PORT, προσδιορίζοντας τη σύνδεση του διακομιστή θύρας πελάτη. Αυτή η θύρα θα χρησιμοποιηθεί για το κανάλι δεδομένων.

Στη συνέχεια, ο διακομιστής συνδέεται από τη θύρα 20/tcp στη θύρα πελάτη που καθορίστηκε νωρίτερα με την εντολή PORT από τον πελάτη. Αυτό το κανάλι δεδομένων χρησιμοποιείται στη συνέχεια για μεταφορές αρχείων μεταξύ διακομιστή και πελάτη.

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

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

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

  Διορθώστε το σφάλμα συστήματος αρχείων 2147219196

FTPS

Ακόμα κι αν είστε διατεθειμένοι να αναλάβετε κινδύνους που σχετίζονται με το FTP με μη κρυπτογραφημένη μετάδοση δεδομένων και επιθέσεις main-in-the-μεσαία, οι απαιτήσεις του κλάδου σας αναγκάζουν να χρησιμοποιήσετε μια πιο ασφαλή εναλλακτική, όπως το FTPS και το SFTP, που είναι συγκριτικά πολύ πιο ασφαλή.

Το 1990, με την αλλαγή του τοπίου ασφαλείας, η Netscape δημιούργησε το πρωτόκολλο SSL ή Secure Sockets Layer (SSL, τώρα γνωστό ως TLS) για την προστασία της επικοινωνίας μέσω ενός δικτύου. Το SSL εφαρμόστηκε στο FTP που έγινε FTPS ή Ασφαλές πρωτόκολλο μεταφοράς αρχείων. Το FTPS ή το FTP/S εκτελείται συνήθως στη θύρα 990/tcp, αλλά μπορεί επίσης να το δει κανείς στη θύρα 21/tcp. Ομοίως, για τη θύρα καναλιού δεδομένων η 989/tcp είναι η κοινή θύρα που χρησιμοποιείται για το FTPS. Εάν η θύρα εντολών είναι 21/tcp, η θύρα δεδομένων της αναμένεται να είναι 20/tcp.

Όπως το FTP, το FTPS χρησιμοποιεί δύο κανάλια για επικοινωνία: εντολές και κανάλι δεδομένων. Είτε το κανάλι δεδομένων μπορεί να κρυπτογραφηθεί με FTPS, είτε τόσο τα κανάλια εντολών όσο και τα κανάλια δεδομένων μπορούν να κρυπτογραφηθούν για περισσότερη ασφάλεια.

Το FTPS, όπως και το FTP, χρησιμοποιεί επίσης πολλαπλές θύρες για κανάλια εντολών και δεδομένων. Έτσι, η θύρα 21/tcp χρησιμοποιείται για την αρχική σύνδεση και τη μετάδοση πληροφοριών ελέγχου ταυτότητας. Αργότερα, θα χρειαστούν διαφορετικές θύρες για τη ρύθμιση καναλιών δεδομένων για κάθε μεταφορά αρχείων ή αίτηση καταχώρισης καταλόγου από τον πελάτη. Έτσι, όπως και το FTP, χρειάζεται μια σειρά από θύρες που θα επιτρέπεται στο τείχος προστασίας σας.

Έλεγχος ταυτότητας σε FTPS

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

  Πώς να εισαγάγετε μια εικόνα στο MS Word που ενημερώνεται αυτόματα

SFTP

Σε αντίθεση με τα FTP και FTPS, το SFTP (SSH File Transfer Protocol) είναι ένα εντελώς διαφορετικό πρωτόκολλο που βασίζεται σε SSH (ή Secure Shell). Το SFTP, από προεπιλογή, λειτουργεί στη θύρα 22/tcp, το ίδιο με το SSH, αν και μπορεί να ρυθμιστεί ώστε να χρησιμοποιεί μια προσαρμοσμένη δωρεάν θύρα στο διακομιστή.

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

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

Έλεγχος ταυτότητας σε SFTP

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

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

Περίληψη

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

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

Μπορεί επίσης να σας ενδιαφέρει να μάθετε το καλύτερο λογισμικό διακομιστή FTP και πελάτες FTP/SFTP.