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


Το FTP (σημαίνει \Πρωτόκολλο μεταφοράς αρχείων”) είναι ένα τυπικό και παλιό πρωτόκολλο δικτύου που χρησιμοποιείται για τη μεταφορά αρχείων μεταξύ ενός πελάτη και διακομιστή σε ένα δίκτυο υπολογιστών. Είναι βασίζεται σε μια αρχιτεκτονική μοντέλου πελάτη-διακομιστή, η οποία προσφέρει πρόσβαση σε αρχεία και καταλόγους μέσω ενός προγράμματος-πελάτη FTP, για αποστολή αρχείων στον διακομιστή καθώς και λήψη αρχείων από αυτόν.

Στο προηγούμενο άρθρο μας, εξηγήσαμε πώς να εγκαταστήσετε, να ρυθμίσετε και να ασφαλίσετε τον διακομιστή FTP στο CentOS/RHEL 7 για τη μεταφορά αρχείων υπολογιστή μεταξύ πελάτη και διακομιστή σε δίκτυο υπολογιστών.

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

Εγκαταστήστε τον διακομιστή FTP στο RHEL 8

1. Για να εγκαταστήσετε ασφαλές πακέτο FTP, χρησιμοποιήστε την ακόλουθη εντολή dnf.

# dnf install vsftpd

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

# systemctl start vsftpd
# systemctl enable vsftpd
# systemctl status vsftpd

3. Στη συνέχεια, πρέπει να ανοίξετε τη θύρα FTP 21 στο τείχος προστασίας του συστήματος για να επιτρέψετε την πρόσβαση σε υπηρεσίες FTP από εξωτερικά συστήματα.

# firewall-cmd --zone=public --permanent --add-port=21/tcp
# firewall-cmd --zone=public --permanent --add-port=45073/tcp
# firewall-cmd --reload

Διαμόρφωση διακομιστή FTP στο RHEL 8

4. Για να διαμορφώσετε έναν διακομιστή FTP, πρέπει να δημιουργήσετε αντίγραφο ασφαλείας του κύριου αρχείου διαμόρφωσης FTP /etc/vsftpd/vsftpd.conf χρησιμοποιώντας την ακόλουθη εντολή αντιγραφής.

# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.orig

5. Στη συνέχεια, ανοίξτε το αρχείο διαμόρφωσης χρησιμοποιώντας το αγαπημένο σας πρόγραμμα επεξεργασίας γραμμής εντολών.

# vi /etc/vsftpd/vsftpd.conf

Ορίστε τις ακόλουθες παραμέτρους με αυτές τις αντίστοιχες τιμές (δείτε man vsftpd.conf για τις έννοιες των παραμέτρων διαμόρφωσης):

anonymous_enable=NO             
local_enable=YES		
write_enable=YES		
local_umask=022		        
dirmessage_enable=YES	        
xferlog_enable=YES		
connect_from_port_20=YES        
xferlog_std_format=YES          
listen=NO   			
listen_ipv6=YES		        
pam_service_name=vsftpd        

6. Στη συνέχεια, πρέπει να διαμορφώσετε το FTP ώστε να επιτρέπεται/απαγορεύεται η πρόσβαση των χρηστών σε υπηρεσίες FTP με βάση το αρχείο λίστας χρηστών /etc/vsftpd.userlist.

Από προεπιλογή, στους χρήστες που αναφέρονται στο αρχείο /etc/vsftpd.userlist δεν επιτρέπεται η πρόσβαση με την επιλογή userlist_deny ορίζεται σε ΝΑΙ, εάν userlist_enable =YES, επιτρέπει την πρόσβαση.

Ωστόσο, η ρύθμιση της παραμέτρου userlist_deny=NO αλλάζει τη ρύθμιση, πράγμα που σημαίνει ότι μόνο οι χρήστες που αναφέρονται ρητά στο userlist_file=/etc/vsftpd.userlist θα επιτρέπεται να συνδέονται.

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

userlist_enable=YES                   # allow access to list of usernames from the userlist_file
userlist_file=/etc/vsftpd.userlist    # stores usernames.
userlist_deny=NO   

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

chroot_local_user=YES		#means local users will be placed in a chroot jail, their home directory after login by default settings.
user_sub_token=$USER         	
local_root=/home/$USER/ftp   	

Αποθηκεύστε τις αλλαγές στο αρχείο και κλείστε το.

8. Ορίστε τον ακόλουθο boolean κανόνα SELinux για να ενεργοποιήσετε το FTP να διαβάζει/εγγράφει αρχεία του αρχικού καταλόγου του χρήστη.

# semanage boolean -m ftpd_full_access --on

9. Τέλος επανεκκινήστε την υπηρεσία vsftpd για να επηρεάσει όλες τις αλλαγές που κάναμε μέχρι στιγμής παραπάνω:

# systemctl restart vsftpd

Δοκιμή διακομιστή FTP σε RHEL 8

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

# useradd -m -c "Tecmint HowTos" -s /bin/bash tecmint
# passwd tecmint

11. Στη συνέχεια, προσθέστε τον χρήστη tecmint στο αρχείο /etc/vsftpd.userlist χρησιμοποιώντας την εντολή echo ως εξής.

# echo "tecmint" | tee -a /etc/vsftpd.userlist
# cat /etc/vsftpd.userlist

12. Στη συνέχεια, δημιουργήστε τον εναλλακτικό τοπικό ριζικό κατάλογο για τον χρήστη (tecmint, ο δικός σας είναι πιθανώς διαφορετικός) και ορίστε τα κατάλληλα δικαιώματα σε αυτόν τον κατάλογο.

# mkdir -p /home/tecmint/ftp
# chown nobody:nobody /home/tecmint/ftp
# chmod a-w /home/tecmint/ftp

13. Στη συνέχεια, δημιουργήστε έναν κατάλογο μέσα στην τοπική τοποθεσία ρίζας, όπου ο χρήστης θα διατηρεί τα αρχεία του/της.

# mkdir /home/tecmint/ftp/files
# chown tecmint:tecmint /home/tecmint/ftp/files
# chmod 0700 /home/tecmint/ftp/files/

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

# ftp 
Δείγμα εξόδου
Connected to 192.168.56.100
220 Welcome to TecMint.com FTP service.
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls

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