Weboldal keresés

Az FTP-kiszolgáló telepítése, konfigurálása és biztonságossá tétele az RHEL 8-ban


Az FTP (a „File Transfer Protocol” rövidítése) egy szabványos és régi hálózati protokoll, amelyet a számítógépes hálózaton lévő kliens és szerver közötti fájlok átvitelére használnak. Kliens-szerver modellarchitektúrára épül, amely FTP kliensen keresztül hozzáférést biztosít a fájlokhoz és könyvtárakhoz, fájlok feltöltéséhez a szerverre, illetve onnan történő letöltéséhez.

Korábbi cikkünkben elmagyaráztuk, hogyan telepíthető, konfigurálható és biztonságos FTP-kiszolgáló a CentOS/RHEL 7 rendszerben a számítógépes fájlok számítógépes hálózaton lévő kliens és szerver közötti átviteléhez.

Ebben a cikkben leírjuk, hogyan telepíthet, konfigurálhat és biztosíthat FTP-kiszolgálót a RHEL 8 rendszeren a számítógépek közötti alapvető fájlmegosztáshoz.

Telepítse az FTP-kiszolgálót az RHEL 8-ra

1. A biztonságos FTP-csomag telepítéséhez használja a következő dnf parancsot.

dnf install vsftpd

2. Ha a telepítés befejeződött, addig el kell indítania a vsftpd szolgáltatást, engedélyeznie kell az automatikus elindulást a rendszerindításkor, majd ellenőriznie kell az állapotot a következő systemctl parancsokkal.

systemctl start vsftpd
systemctl enable vsftpd
systemctl status vsftpd

3. Ezután meg kell nyitnia a 21-es FTP-portot a rendszer tűzfalán, hogy külső rendszerekről hozzáférhessen az FTP-szolgáltatásokhoz.

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

Konfigurálja az FTP-kiszolgálót az RHEL 8-on

4. Egy FTP-kiszolgáló konfigurálásához biztonsági másolatot kell készítenie a fő FTP-konfigurációs fájlról: /etc/vsftpd/vsftpd.conf a következő másolási paranccsal.

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

5. Ezután nyissa meg a konfigurációs fájlt kedvenc parancssori szerkesztőjével.

vi /etc/vsftpd/vsftpd.conf

Állítsa be a következő paramétereket ezekkel a megfelelő értékekkel (a konfigurációs paraméterek jelentését lásd: 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. Ezután be kell állítania az FTP-t, hogy engedélyezze/megtagadja a felhasználók hozzáférését az FTP-szolgáltatásokhoz az /etc/vsftpd.userlist felhasználólistafájl alapján.

Alapértelmezés szerint az /etc/vsftpd.userlist fájlban felsorolt felhasználók hozzáférése megtagadva a userlist_deny beállítás YES értékre állításával, ha a userlist_enable =YES, engedélyezi a hozzáférést.

A userlist_deny=NO paraméter beállítása azonban megváltoztatja a beállítást, ami azt jelenti, hogy csak a userlist_file=/etc/vsftpd.userlist fájlban kifejezetten felsorolt felhasználók jelentkezhetnek be.

Ezért adja hozzá a következő sorokat a vsftpd.conf konfigurációs fájlhoz (vagy ha már létezik, törölje a megjegyzéseket, és állítsa be az értékeket a képen látható módon):

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

7. Most adja hozzá a következő sorokat a vsftpd.conf konfigurációs fájlhoz, hogy az FTP-felhasználókat a saját könyvtárakra korlátozza.

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   	

Mentse el a változtatásokat a fájlban, és zárja be.

8. Állítsa be a következő SELinux logikai szabályt annak engedélyezéséhez, hogy az FTP olvassa/írja a felhasználó kezdőkönyvtárának fájljait.

semanage boolean -m ftpd_full_access --on

9. Végül indítsa újra a vsftpd szolgáltatást, hogy hatással legyen a fent eddig végrehajtott összes változtatásra:

systemctl restart vsftpd

Az FTP-kiszolgáló tesztelése RHEL 8-on

10. Annak teszteléséhez, hogy a fenti FTP-beállítás megfelelően működik-e, először hozzon létre egy FTP-felhasználót a useradd paranccsal, és hozzon létre egy jelszót a felhasználó számára.

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

11. Ezután adja hozzá a tecmint felhasználót az /etc/vsftpd.userlist fájlhoz az echo paranccsal az alábbiak szerint.

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

12. Ezután hozza létre a felhasználó alternatív helyi gyökérkönyvtárát (tecmint, az Öné valószínűleg más), és állítsa be a megfelelő engedélyeket ebben a könyvtárban.

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

13. Ezután hozzon létre egy könyvtárat a helyi gyökér helyen, ahol a felhasználó tárolja a fájljait.

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

14. Most csatlakozzon az FTP-kiszolgálóhoz bármelyik FTP-kliens használatával az alábbiak szerint.

ftp [email 
Minta kimenet
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

Ez az! Ebben a cikkben bemutattuk, hogyan telepíthet, konfigurálhat és hogyan biztosíthat FTP-kiszolgálót az RHEL 8-ban. Következő cikkünkben bemutatjuk, hogyan lehet az FTP-kiszolgálót biztonságossá tenni SSL/TLS kapcsolatok használatával. Addig is maradj velünk.