Ρύθμιση ασφαλούς μεταφοράς αρχείων FTP με χρήση SSL/TLS στο RHEL 8


Στο τελευταίο μας άρθρο, περιγράψαμε λεπτομερώς τον τρόπο εγκατάστασης και διαμόρφωσης ενός διακομιστή FTP στο RHEL 8 Linux. Σε αυτό το άρθρο, θα εξηγήσουμε πώς να ασφαλίσετε έναν διακομιστή FTP χρησιμοποιώντας SSL/TLS για να ενεργοποιήσετε τις υπηρεσίες κρυπτογράφησης δεδομένων για ασφαλή μεταφορά αρχείων μεταξύ συστημάτων.

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

  1. Πώς να εγκαταστήσετε, να ρυθμίσετε και να ασφαλίσετε τον διακομιστή FTP στο RHEL 8

Βήμα 1. Δημιουργία πιστοποιητικού SSL/TLS και ιδιωτικού κλειδιού

1. Δημιουργήστε τον ακόλουθο κατάλογο για να αποθηκεύσετε το πιστοποιητικό SSL/TLS και τα αρχεία κλειδιών.

mkdir -p /etc/ssl/vsftpd

2. Στη συνέχεια, δημιουργήστε ένα αυτο-υπογεγραμμένο πιστοποιητικό SSL/TLS και ιδιωτικό κλειδί χρησιμοποιώντας την ακόλουθη εντολή.

openssl req -x509 -nodes -keyout /etc/ssl/vsftpd/vsftpd.pem -out /etc/ssl/vsftpd/vsftpd.pem -days 365 -newkey rsa:2048

Ακολουθεί η εξήγηση για κάθε σημαία που χρησιμοποιείται στην παραπάνω εντολή.

  1. απαιτούμενο – είναι μια εντολή για τη διαχείριση αιτήματος υπογραφής πιστοποιητικού X.509 (CSR).
  2. x509 – σημαίνει διαχείριση δεδομένων πιστοποιητικού X.509.
  3. ημέρες – ορίζει τον αριθμό ημερών για τις οποίες ισχύει το πιστοποιητικό.
  4. νέο κλειδί – καθορίζει τον επεξεργαστή κλειδιού πιστοποιητικού.
  5. rsa:2048 – Ο επεξεργαστής κλειδιού RSA, θα δημιουργήσει ένα ιδιωτικό κλειδί 2048 bit.
  6. keyout – ορίζει το αρχείο αποθήκευσης κλειδιών.
  7. έξω – ορίζει το αρχείο αποθήκευσης πιστοποιητικού, σημειώστε ότι τόσο το πιστοποιητικό όσο και το κλειδί αποθηκεύονται στο ίδιο αρχείο: /etc/ssl/vsftpd/vsftpd.pem.

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

Country Name (2 letter code) [XX]:IN
State or Province Name (full name) []:Lower Parel
Locality Name (eg, city) [Default City]:Mumbai
Organization Name (eg, company) [Default Company Ltd]:TecMint.com
Organizational Unit Name (eg, section) []:Linux and Open Source
Common Name (eg, your name or your server's hostname) []:tecmint
Email Address []:[email 

Βήμα 2. Διαμόρφωση του VSFTPD για χρήση SSL/TLS

3. Ανοίξτε το αρχείο διαμόρφωσης VSFTPD για επεξεργασία χρησιμοποιώντας τον αγαπημένο σας επεξεργαστή γραμμής εντολών.

vi /etc/vsftpd/vsftpd.conf

Προσθέστε τις ακόλουθες παραμέτρους διαμόρφωσης για να ενεργοποιήσετε το SSL και, στη συνέχεια, επιλέξτε την έκδοση του SSL και του TLS που θα χρησιμοποιήσετε, στο τέλος του αρχείου.

ssl_enable=YES
ssl_tlsv1_2=YES
ssl_sslv2=NO
ssl_sslv3=NO

4. Στη συνέχεια, προσθέστε τις επιλογές rsa_cert_file και rsa_private_key_file για να καθορίσετε τη θέση του πιστοποιητικού SSL και του αρχείου κλειδιού αντίστοιχα.

rsa_cert_file=/etc/ssl/vsftpd/vsftpd.pem
rsa_private_key_file=/etc/ssl/vsftpd/vsftpd.pem

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

allow_anon_ssl=NO			# disable anonymous users from using SSL
force_local_data_ssl=YES		# force all non-anonymous logins to use a secure SSL connection for data transfer
force_local_logins_ssl=YES		# force all non-anonymous logins  to send the password over SSL

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

require_ssl_reuse=NO
ssl_ciphers=HIGH

7. Πρέπει επίσης να καθορίσετε το εύρος θυρών (ελάχιστη και μέγιστη θύρα) των παθητικών θυρών που θα χρησιμοποιηθούν από το vsftpd για ασφαλείς συνδέσεις, χρησιμοποιώντας τα pasv_min_port και pasv_max_port παραμέτρους αντίστοιχα. Επιπλέον, μπορείτε προαιρετικά να ενεργοποιήσετε τον εντοπισμό σφαλμάτων SSL για σκοπούς αντιμετώπισης προβλημάτων, χρησιμοποιώντας την επιλογή debug_ssl.

pasv_min_port=40000
pasv_max_port=50000
debug_ssl=YES

8. Τέλος, αποθηκεύστε το αρχείο και επανεκκινήστε την υπηρεσία vsftpd για να τεθούν σε ισχύ οι παραπάνω αλλαγές.

systemctl restart vsftpd

9. Μια ακόμη κρίσιμη εργασία που πρέπει να εκτελέσετε για να έχετε πρόσβαση με ασφάλεια στον διακομιστή FTP είναι να ανοίξετε τις θύρες 990 και 40000-50000 στο σύστημα τείχος προστασίας. Αυτό θα επιτρέψει τις συνδέσεις TLS στην υπηρεσία vsftpd και θα ανοίξει το εύρος των παθητικών θυρών που ορίζεται στο αρχείο διαμόρφωσης VSFTPD αντίστοιχα, ως εξής.

firewall-cmd --zone=public --permanent –add-port=990/tcp
firewall-cmd --zone=public --permanent –add-port=40000-50000/tcp
firewall-cmd --reload

Βήμα 3: Εγκαταστήστε το FileZilla για ασφαλή σύνδεση στον διακομιστή FTP

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

Εγκαταστήστε το FileZilla σε Linux χρησιμοποιώντας τον προεπιλεγμένο διαχειριστή πακέτων ως εξής:

sudo apt-get install filezilla   		#Debian/Ubuntu
yum install epel-release filezilla		#On CentOS/RHEL
dnf install filezilla			        #Fedora 22+
sudo zypper install filezilla			#openSUSE

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

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

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

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

Αυτό είναι όλο! Σε αυτό το άρθρο, δείξαμε πώς να ασφαλίσετε έναν διακομιστή FTP χρησιμοποιώντας SSL/TLS για ασφαλή μεταφορά αρχείων στο RHEL 8. Αυτό είναι το δεύτερο μέρος του περιεκτικού μας οδηγού για την εγκατάσταση, τη διαμόρφωση και την ασφάλεια ενός διακομιστή FTP στο RHEL 8. Για να μοιραστείτε τυχόν απορίες ή σκέψεις, χρησιμοποιήστε την παρακάτω φόρμα σχολίων.