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.