posted by qubix on October 24, 2015

Ως γνωστόν το plain FTP θεωρείται και είναι ανασφαλές. Στο πνεύμα αυτό λοιπόν, το filezilla αποφάσισε και καλά έκανε να βάλει default τη σύνδεση με FTP over TLS...

Κάπου εκεί λοιπόν ανακάλυψα πως ο server στον οποίο ήθελα να συνδεθώ, μετά από ένα warning για το tls certificate, όταν έφτανε στην εντολή MLSD για να δείξει τα περιεχόμενα του directory (PWD -> TYPE I -> PASV -> MLSD) πέταξε ένα ωραιότατο timeout..

Προφανώς το πρόβλημα ήταν στην PASV όπου προσπαθούσε να συνάψει σύνδεση σε passive mode(*). Έλα που όμως δεν υπήρχαν πόρτες ανοιχτές για το σκοπό αυτό...

O server αυτός έτρεχε cpanel και pureftpd οπότε ήταν απλά ..θέμα configuration:

1) κάνουμε uncomment τη γραμμή
PassivePortRange 30000 50000

στο αρχείο /etc/pure-ftpd.conf

προφανώς μπορούμε να βάλουμε οποιοδήποτε port range θέλουμε

2) κάνουμε restart τον pureftp daemon

/etc/init.d/pureftpd restart

3) για να κάνουμε τις αλλαγές μόνιμα πρέπει να πειράξουμε το conf του cpanel για τον pureftpd

/var/cpanel/conf/pureftpd/main

προσθέτουμε τη γραμμή

PassivePortRange: '30000 50000'

4) σιγουρευόμαστε πως οι πόρτες είναι ανοιχτές στο firewall

- αν δεν χρησιμοποιούμε κάποιο plugin (πχ csf)
iptables -t filter -I INPUT -p tcp –dport 30000:50000 -j ACCEPT

- αν χρησιμοποιούμε το csf (ή οποιοδήποτε άλλο plugin) πάμε στο interface του και σετάρουμε από εκεί τις πόρτες

5) δοκιμάζουμε τη νέα μας ασφαλή FTP over TLS σύνδεση :]

Τις παραπάνω εντολές τις τρέχουμε ως root ή ως privileged user


(*) passive ftp mode είναι ο τρόπος σύνδεσης ενός client με τον ftp server κατά τον οποίο ο client συνδέεται ο ίδιος με τον server και στο command channel και στο data channel σε κάποιες τυχαίες unprivileged ports, σε αντίθεση με τον active mοde, στον οποίο ο server συνδέεται με τον client στο data channel, πράγμα το οποίο συνήθως δεν επιτρέπουν τα firewalls και πρόβλημα το οποίο λύνει ο passive τρόπος σύνδεσης.

hyperworks