FTP

Last Updated on

Το Πρωτόκολλο Μεταφοράς Αρχείων (Αγγλ. File Transfer Protocol (FTP)) είναι ένα ευρέως χρησιμοποιούμενο πρωτόκολλο σε δίκτυα τα οποία υποστηρίζουν το πρωτόκολλο TCP/IP (δίκτυα όπως το διαδίκτυο ή εσωτερικά δίκτυα).

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

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


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

Προβλήματα NAT

Στην ενεργητική λειτουργία o διακομιστής FTP ξεκινά μια σύνδεση δεδομένων συνδεόμενος στην εξωτερική αριθμητική διεύθυνση της πύλης (Αγγλ. gateway) NAT. Στην άλλη πλευρά, το μηχάνημα το οποίο είναι υπεύθυνο για τη “μετάφραση” των εσωτερικών αριθμητικών διευθύνσεων του δικτύου στην εξωτερική, θα πάρει το SYN πακέτο για τη δημιουργία της σύνδεσης. Όμως, στον πίνακα κατάστασης (state table) του ΝΑΤ, στον οποίο διατηρείται το ιστορικό μεταφράσεων, δεν έχει καταγραφεί κανένα, με αποτέλεσμα το πακέτο να απορρίπτεται (γίνεται drop). To πακέτο δεν φτάνει ποτέ στον πελάτη, δεν σχηματίζεται σύνδεση δεδομένων και η μεταφορά δεδομένων είναι αδύνατη.

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

Έλλειψη κρυπτογράφησης

Τα δεδομένα που ανταλλάσσονται μέσω FTP δεν είναι κρυπτογραφημένα με αποτέλεσμα οι εντολές που αποστέλλονται μέσω της σύνδεσης ελέγχου να είναι απλό κείμενο. Για το λόγο αυτό μπορούν εύκολα, με τη χρήση ενός sniffer, να αλιευθούν, να διαβασθούν και να ξανασταλούν ανάλογα με τη βούληση του επιτιθέμενου. Ανάμεσα σε αυτές, η εντολή που χρησιμοποιείται για την είσοδο (Αγγλ. login) σε ένα λογαριασμό FTP, με τη σύνταξη “PASS password”, παρέχει στον επιτιθέμενο τον κωδικό του χρήστη. Αν συνδυαστεί με την εντολή “USER”, με την οποία αποστέλεται το όνομα του χρήστη, ο επιτιθέμενος μπορεί να χρησιμοποιήσει τα στοιχεία για να εισέλθει στον ξένο λογαριασμό με τα ίδια δικαιώματα.

Επειδή οι περισσότεροι άνθρωποι τείνουν να επαναχρησιμοποιούν κωδικούς, ο επιτιθέμενος έχει αυξήσει τις πιθανότητες του σε μια brute-force attack. Με αυτό τον τρόπο, είναι πιθανό να αποκτήσει έλεγχο του συστήματος του χρήστη μόλις βρει την αριθμητική διεύθυνση του, ανιχνεύοντας την έναρξη της συνόδου FTP (FTP session).

Man-in-the-middle

Με το κύριο File Transfer Protocol, ο διακομιστής δεν εξασφαλίζει ότι ο πελάτης είναι αυτός που λέει, ούτε ο πελάτης αντίστοιχα για τον διακομιστή. Ευκολονόητο, εφόσον το FTP δεν απαιτεί επαλήθευση των hosts και δεν ελέγχει αν τα δεδομένα προέρχονται από αυτούς, ούτε τα προστατεύει. Για αυτό το λόγο και τα δύο άκρα που ανταλλάσσουν δεδομένα, είναι ανοιχτά σε man-in-the-middle attack από κάποιον επιτιθέμενο που συλλαμβάνει τα πακέτα του κάθε host, και στέλνει ψευδείς απαντήσεις.


Θέματα στην ενότητα 'Ορολογία'