Kuidas installida, konfigureerida ja turvata FTP-serverit RHEL 8-s


FTP (tähendab failiedastusprotokolli) on standardne ja vana võrguprotokoll, mida kasutatakse failide edastamiseks arvutivõrgus kliendi ja serveri vahel. See on üles ehitatud kliendi-serveri mudeli arhitektuuril, mis pakub FTP-kliendi kaudu juurdepääsu failidele ja kataloogidele, nii failide serverisse üleslaadimiseks kui ka failide allalaadimiseks.

Oma eelmises artiklis oleme selgitanud, kuidas installida, konfigureerida ja turvata FTP-server CentOS/RHEL 7-s arvutifailide edastamiseks arvutivõrgus kliendi ja serveri vahel.

Selles artiklis kirjeldame, kuidas FTP-serverit RHEL 8-le installida, konfigureerida ja turvata, et arvutite vahel faile põhiliselt jagada.

Installige FTP-server RHEL 8-le

1. Turvalise FTP-paketi installimiseks kasutage järgmist käsku dnf.

# dnf install vsftpd

2. Kui installimine on lõppenud, peate vahepeal käivitama teenuse vsftpd, lubama selle käivitamise automaatselt süsteemi käivitamisel ja seejärel kontrollima olekut järgmiste käskude systemctl abil.

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

3. Järgmisena peate FTP-pordi 21 avama süsteemi tulemüüris, et võimaldada FTP-teenustele juurdepääs välistest süsteemidest.

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

FTP-serveri seadistamine RHEL 8-l

4. FTP-serveri konfigureerimiseks peate tegema järgmise varukoopia peamisest FTP-konfiguratsioonifailist /etc/vsftpd/vsftpd.conf , kasutades järgmist käsku copy.

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

5. Seejärel avage oma käsurea redaktori abil konfiguratsioonifail.

# vi /etc/vsftpd/vsftpd.conf

Nende vastavate väärtustega määrake järgmised parameetrid (konfiguratsiooniparameetrite tähendusi vt 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. Järgmisena peate konfigureerima FTP, et lubada/keelata kasutajatel juurdepääs FTP-teenustele kasutajaloendifaili /etc/vsftpd.userlist põhjal.

Vaikimisi keelatakse failis /etc/vsftpd.userlist loetletud kasutajatele juurdepääs, kui suvand userlist_deny on seatud väärtusele YES , kui userlist_enable = JAH , see võimaldab juurdepääsu.

Kuid parameetri userlist_deny = NO määramine muudab seadet, mis tähendab, et ainult userlist_file =/etc/vsftpd.userlist kategoorias loetletud kasutajad saavad sisse logida.

Seetõttu lisage oma konfiguratsioonifaili vsftpd.conf järgmised read (või kui need juba olemas on, tühjendage need ja määrake nende väärtused, nagu näidatud):

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

7. Nüüd lisage oma konfiguratsioonifaili vsftpd.conf järgmised read, et piirata FTP kasutajate kodukatalooge.

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   	

Salvestage muudatused faili ja sulgege see.

8. Määrake järgmine SELinuksi tõeväärtusreegel, et FTP võimaldaks kasutaja kodukataloogi faile lugeda/kirjutada.

# semanage boolean -m ftpd_full_access --on

9. Lõpuks taaskäivitage vsftpd teenus, et mõjutada kõiki ülaltoodud muudatusi:

# systemctl restart vsftpd

FTP-serveri testimine RHEL 8-l

10. Et kontrollida, kas ülaltoodud FTP seadistamine töötab, alustage kõigepealt FTP kasutaja loomisega käsuga useradd ja looge sellele kasutajale parool.

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

11. Seejärel lisage kasutaja tecmint faili /etc/vsftpd.userlist, kasutades käsku echo järgmiselt.

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

12. Seejärel looge kasutaja jaoks alternatiivne kohalik juurkataloog (tecmint, teie oma on ilmselt erinev) ja määrake sellele kataloogile sobivad õigused.

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

13. Järgmisena looge kohaliku juure asukohas kataloog, kus kasutaja oma faile hoiab.

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

14. Nüüd looge ühendus FTP-serveriga mis tahes FTP-kliendi abil järgmiselt.

# ftp [email 
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

See on kõik! Selles artiklis kirjeldasime, kuidas FTP-serverit RHEL 8-s installida, konfigureerida ja turvata. Järgmises artiklis näitame, kuidas FTP-serverit SSL/TLS-ühenduste abil kaitsta. Seni jääge meiega.