On Mon, 2008-11-24 at 18:25 +0200, Konstantinos Togias wrote: > 2008/11/24 Nikos Alexandris <[EMAIL PROTECTED]>: > > On Sun, 2008-11-23 at 21:42 +0200, Konstantinos Togias wrote: > >> 2008/11/23 Nikos Alexandris <[EMAIL PROTECTED]>: > >> > On Sat, 2008-11-22 at 22:34 +0200, Konstantinos Togias wrote: > >> >> 2008/11/22 Nikos Alexandris <[EMAIL PROTECTED]>: > >> >> > On Fri, 2008-11-21 at 20:56 +0200, apix wrote: > > [...] > >> >> > Ερώτηση 1η: Γιατί μας τα κάνει δύσκολα το gnome? > > [...] > >> > Με προβληματίζει το γεγονός ότι ούτε το gftp δεν δουλεύει. > > [...] > > > >> Έχω κάποιες ισχυρές υποψίες ότι το πρόβλημα οφείλεται στις ρυθμίσεις > >> του ftp server ή κάποιου firewall που κόβει τις εισερχόμενες συνδέσεις > >> στις > 1023 port του server. Το όλο μπάχαλο οφείλεται στο γεγονός ότι > >> για να επιτευχθεί μια ftp σύνδεση απαιτείται η διασύνδεση πελάτη και > >> εξυπηρετητή μέσω δύο διαδικτυακών θυρών του εξυπηρετητή, της 21 για > >> την ανταλλαγή εντολών και της 20 ή κάποιας > 1023 για την ανταλλαγή > >> δεδομένων. Υπάρχουν δύο μέθοδοι σύνδεσης η ACTIVE και η PASSIVE. > > > >> Η > >> ACTIVE είναι η default που χρησιμοποιεί η εφαρμογή κονσόλας ftp, > >> εμπλέκει τις θύρες 20 και 21 του server και απαιτεί να μην κόβονται > >> από κάποιο firewall οι εισερχόμενες συνδέσεις σε θύρες > 1023 του > >> client. > > > > ACTIVE mode: "απαιτεί να μην κόβονται > >> από κάποιο firewall οι εισερχόμενες συνδέσεις σε θύρες > 1023" > > > >> H PASSIVE mode αναπτύχθηκε για να αντιμετωπίσει περιπτώσεις > >> όπου ο client είναι πίσω από κάποιο firewall που δεν του επιτρέπει να > >> δέχεται εισερχόμενες συνδέσεις σε θύρες > 1023. Αντίθετα απαιτεί το > >> firewall του server να επιτρέπει εισερχόμενες συνδέσεις προς τον > >> server σε θύρες > 1023. > > > > PASSIVE mode: "απαιτεί το > >> firewall του server να επιτρέπει εισερχόμενες συνδέσεις προς τον > >> server σε θύρες > 1023" > > > > Αν καταλαβαίνω σωστά και οι δυο μέθοδοι θέλουν/απαιτούν *ανοιχτά* ports > >> 1023. Σωστά; Δεν υπάρχει δηλαδή διαφορά μεταξύ active-passive σχετικά > > με τις θύρες > 1023; > > ACTIVE mode: Ο client ξεκινά μια σύνδεση από μια δικιά του τυχαία N > > 1023 port στην 21 port του server. Αυτή είναι μια εισερχόμενη σύνδεση > προς την port 21 για τον server. Η σύνδεση ( Client N <--> Server 21) > εγκαθιδρύεται (είναι πλέον μια ήδη ανοικτή υπάρχουσα σύνδεση) και ο > server απαντά μέσω αυτής ότι όλα ΟΚ μέχρι εδώ. Ο client ανοίγει την > δική του πόρτα N+1 και περιμένει για εισερχόμενες συνδέσεις σε αυτή. > Μέσω της ήδη υπάρχουσας σύνδεσης ( Client N <---> Server 21 ) ο Client > πληροφορεί το server ότι για την αποστολή και λήψη δεδομένων > χρησιμοποιεί την πόρτα Ν+1 (μέσω της εντολής PORT N+1). Ο Server τότε > ξεκινά μια νέα σύνδεση από τη δικιά του πόρτα 20 (η 20 είναι > προκαθορισμένη από το πρωτόκολλο ως η θύρα που χρησιμοποιείται από τη > μεριά του server για την επικοινωνία δεδομένων) στην πόρτα N+1 του > client. Αυτή η σύνδεση είναι μια εισερχόμενη προς την τυχαία θύρα N+1 > του client. Ο client λαμβάνει την αίτηση για τη νέα σύνδεση στην πόρτα > Ν+1, η νέα σύνδεση (Server 20 <---> Client N+1 ) εγκαθιδρύεται και > αρχίζει η ανταλλαγή δεδομένων. > > Το πρόβλημα εδώ είναι ότι ο client δεν πρέπει να βρίσκεται πίσω από > firewall που να κόβει τις εισερχόμενες συνδέσεις (αυτές δηλαδή που δεν > έχουν ξεκινήσει από το εσωτερικό του δίκτυο, αλλά έρχονται από έξω ως > νέες αιτήσεις σύνδεσης) από την πόρτα 20 του server (ή οποιοδήποτε > υπολογιστή αν θέλουμε να μπορούμε να συνδεθούμε σε οποιοδήποτε ftp > server) προς την τυχαία πόρτα N+1 (N > 1023) του client. Πολλά > εταιρικά ή οικιακά firewall δεν είναι ρυθμισμένα να επιτρέπουν τέτοιου > είδους συνδέσεις, μια και αυτές θα μπορούσαν να χρησιμοποιηθούν από > κακόβουλο λογισμικό που υποκρίνεται ότι είναι ένας ftp server που > θέλει να κάνει data connection από την 20 πόρτα του σε κάποια N > 1024 > του προστατευόμενου υπολογιστή. Αν στον προστατευόμενο έχει ήδη > εγκατασταθεί ένα rootkit ή κάτι άλλο χωρίς να το γνωρίζει ο χρήστης, > και τέτοιου είδους εισερχόμενες συνδέσεις επιτρέπονται, τότε ο > επιτιθέμενος μπορεί να χρησιμοποιήσει ανεμπόδιστα μια τέτοια σύνδεση > για να αποκτήσει μη εξουσιοδοτημένη πρόσβαση στο προστατευμένο > μηχάνημα του χρήστη. > > PASSIVE mode: > > O client ξεκινά όπως και στην ACTIVE mode μια σύνδεση από μια δικιά > του τυχαία N > 1023 port στην 21 port του server. Αυτή είναι μια > εισερχόμενη σύνδεση προς την port 21 για τον server. Η σύνδεση ( > Client N <--> Server 21) εγκαθιδρύεται (είναι πλέον μια ήδη ανοικτή > υπάρχουσα σύνδεση) και ο server απαντά μέσω αυτής ότι όλα ΟΚ μέχρι > εδώ. Αντί τώρα ο client να ανοίξει μια δεύτερη δική του πόρτα και να > πει στον server να συνδεθεί σε αυτή, λέει στο server μέσω της ήδη > υπάρχουσας σύνδεσης ( Client N <--> Server 21) ότι θέλει να > χρησιμοποιήσει PASSIVE mode στέλνοντας την εντολή PASV. O server τότε, > εφόσον υποστηρίζει PASSIVE mode, ανοίγει μια δικιά του πόρτα P > 1023, > στην οποία περιμένει εισερχόμενες συνδέσεις, και ενημερώνει τον client > (μέσω της ήδη υπάρχουσας Client N <--> Server 21 σύνδεσης) ότι πρέπει > να συνδεθεί σε αυτή την πόρτα για επικοινωνία δεδομένων. Ο client τότε > ξεκινά μια νέα σύνδεση από την τυχαία δικιά του Ν+1 πόρτα στην τυχαία > P πόρτα του server. Ο server λαμβάνει την αίτηση για τη νέα σύνδεση > στην πόρτα P, η νέα σύνδεση (Client N+1 <---> Server P ) εγκαθιδρύεται > και αρχίζει η ανταλλαγή δεδομένων. > > Όπως γίνεται φανερό στην περίπτωση της PASSIVE mode και οι 2 συνδέσεις > που πραγματοποιούνται μεταξύ Server και Client ξεκινάνε από τον > client. Αυτό επιτρέπει την επικοινωνία ακόμα και όταν ο client > βρίσκεται πίσω από firewall που κόβει όλες τις νέες εισερχόμενες προς > αυτόν συνδέσεις προκειμένου να τον προστατέψει από επιθέσεις. Η άλλη > όψη όμως του νομίσματος είναι ότι πλέον και οι δυο συνδέσεις είναι > νέες εισερχόμενες για τον server. Έτσι ο server πρέπει να βρίσκεται > πίσω από firewall που δεν κόβει τις εισερχόμενες στις > 1023 πόρτες > συνδέσεις από όλο κάθε υπολογιστή προς τον server. Ο λόγος που > προτιμάται αυτή η μέθοδος είναι ότι ο server τρέχει συγκεκριμένο ια > ελεγχόμενο software, ενώ επιθεωρείται τακτικά από τον διαχειριστή του, > οπότε διατρέχει πολύ λιγότερο κίνδυνο από εισερχόμενες συνδέσεις σε > πόρτες > 1024 από ότι ο υπολογιστής-client που συνήθως είναι το pc > ενός υχαίου απλού χρήστη που κανεις δεν ξέρει τι λογιαμικό τρέχει, και > τι ιούς, trojans και rookits μπορεί να έχει κολλήσει. > > Οι περισσότεροι σύγχρονοι ftp clients επιχειρούν πρώτα να > δημιουργήσουν μια PASSIVE mode σύνδεση με τον server. Του στέλνουν την > εντολή PASV και αν αυτός απαντήσει με PORT P καταλαβαίνουν ότι > υποστηρίζει PASSIVE mode επιχειρούν να συνδεθούν στην πόρτα P. Αν τα > καταφέρουν τότε όλα καλώς. Το ερώτημα είναι τι γίνεται αν δεν τα > καταφέρουν. Πιθανότατα η αίτηση για σύνδεση κάνει timeout ή > απορρίπτεται, οπότε παίρνεις ένα Unable to connect και τέλος. Βέβαια, > αν στην εντολή PASV ο server απαντήσει ότι δεν υποστηρίζει ή επιτρέπει > PASSIVE mode, τότε πιθανότατα ο client (ανάλογα με τις ρυθμίσεις του) > δοκιμάζει ACTIVE mode. Αν δεν τα καταφέρει ούτε με active mode τότε > πάλι παίρνεις Unable to connect. > > Η προβληματική κατάσταση στα παραπάνω (και κατα τη γνώμη μου > πιθανότατα η περίπτωσή σου) είναι αυτή που ο server απαντά ότι μπορεί > να χρησιμοποιήσει PASSIVE mode, στέλνει την πόρτα P στον client, αλλά > τα πακέτα από τον client πρός την P του server δεν φτάνουν ποτέ στον > προορισμό τους, με αποτέλεσμα να αποτυγχάνει η σύνδεση. Αυτό μπορεί να > λυθεί με 3 πιθανούς τρόπους: > > 1. Ο καλός: Να ρυθμιστεί το firewall/router πίσω από το οποίο είναι ο > server να επιτρέπει εισερχόμενες συνδέσεις προς τον server για τις > μεγάλες (>1023) πόρτες. > > 2. O κακός: Να ρυθμιστεί ο server έτσι ώστε να απορρίπτει τις αιτήσεις > για PASSV mode. Έτσι ελπίζουμε ότι ίσως οι clients δοκιμάσουν active > mode, αντι να αναρωτιούνται τι γίνονται τα πακέτα που στέλνουν μέσω > PASSIVE. > > 3. Ο άσχημος: Να ρυθμίσεις τον client σου (αν ρυθμίζεται) να μην > δοκιμάζει πρώτα PASSIVE mode , αλλά να την πέφτει με την μία ACTIVEly > στον server, όπως κάνει το παλιό κλασσικό command line ftp. (Και λέω > αυτόν άσχημο, γιατί πάλι αν πας σε άλλο client που είναι ρυθμισμένος > αλλιώς οπότε θα προσπαθεί PASSIVE mode ή βρεθείς κάποια στιγμή πίσω > από ένα αυστηρό firewall πάλι δεν θα μπορείς να συνδεθείς στον server > αφού το ACTIVE θα το κόβει το δικό σου firewall και το passive το δικό > του, ενώ παράλληλα θα έχεις ρυθμίσει τον client σου σε μη default > λιγότερο ασφαλείς ρυθμίσεις.) > > Έχεις αρχίσει να μισείς ήδη το FTP πρωτόκολλο; Δεν είσαι ο μόνος... Τα > προβλήματα αυτά εξανεμίζονται, αφήνοντάς σου μόνο ένα ακόμα bonus, > αυτό της από άκρη σε άκρη κρυπτογραφημένης σύνδεσης, αν > χρησιμοποιήσεις sftp/scp αντί του απαρχαιωμένου πλέον ftp.
Κώστα, δεν μπορώ παρά να σου εκφράσω ένα θερμό Ευχαριστώ. To διάβασα, το ξαναδιάβασα και νομίζω ότι καταλαβαίνω τι γίνεται. Ο διαχειριστής μας μάλλον δεν ξέρει πολλά (αν κρίνω από την απάντησή του). Νίκος -- Ubuntu-gr mailing list [email protected] If you do not want to receive any more messages from the ubuntu-gr mailing list, please follow this link and choose unsubscribe: https://lists.ubuntu.com/mailman/listinfo/ubuntu-gr

