Az FTP -kiszolgáló telepítése, konfigurálása és védelme a CentOS 7 rendszerben

instagram story viewer

FTP (Fájlátviteli protokoll) hagyományos és széles körben használt szabványos eszköz fájlok átvitele szerver és kliensek között hálózaton keresztül, különösen ott, ahol nincs szükség hitelesítésre (lehetővé teszi a névtelen felhasználók számára, hogy csatlakozzanak a szerverhez). Meg kell értenünk, hogy az FTP alapértelmezés szerint nem biztonságos, mert titkosítás nélkül továbbítja a felhasználói hitelesítő adatokat és adatokat.

Ebben az útmutatóban leírjuk az FTP szerver telepítésének, konfigurálásának és biztonságának lépéseit (VSFTPD áll "Nagyon biztonságos FTP démon") ban ben CentOS/RHEL 7 és Fedora elosztások.

Vegye figyelembe, hogy az útmutatóban szereplő összes parancs a következőképpen fog futni gyökér, abban az esetben, ha nem a szervert használja a gyökér fiókot, használja a sudo parancs hogy root jogosultságokat szerezzen.

1. lépés: Az FTP -kiszolgáló telepítése

1. Telepítés vsftpd a kiszolgáló egyenesen halad, csak futtassa a következő parancsot a terminálon.

# yum telepítés vsftpd. 

2. A telepítés befejezése után a szolgáltatás először le lesz tiltva, ezért egyelőre manuálisan kell elindítanunk, és engedélyeznünk kell, hogy a következő rendszerindításkor is automatikusan elinduljon:

# systemctl start vsftpd. # systemctl engedélyezze a vsftpd -t. 

3. Ezután, hogy lehetővé tegyük a hozzáférést az FTP szolgáltatásokhoz külső rendszerekből, meg kell nyitnunk a portot 21, ahol az FTP démonok az alábbiak szerint hallgatják:

# tűzfal-cmd --zone = public --permanent --add-port = 21/tcp. # tűzfal-cmd --zone = public --permanent --add-service = ftp. # tűzfal-cmd-újratöltés. 

2. lépés: Az FTP -kiszolgáló konfigurálása

4. Most átállunk néhány konfiguráció elvégzésére az FTP szerver beállításához és biztonságához, kezdjük az eredeti konfigurációs fájl biztonsági másolatának készítésével /etc/vsftpd/vsftpd.conf:

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

Ezután nyissa meg a fenti konfigurációs fájlt, és állítsa be a következő beállításokat a megfelelő értékekkel:

anonymous_enable = NO # letiltja az anonim bejelentkezést. local_enable = YES # engedélyezi a helyi bejelentkezéseket. write_enable = YES # engedélyezi a fájlrendszert megváltoztató FTP parancsokat. local_umask = 022 # umask értéke fájlok létrehozásához helyi felhasználók számára. dirmessage_enable = YES # engedélyezi az üzenetek megjelenítését, amikor a felhasználók először belépnek egy új könyvtárba. xferlog_enable = IGEN # a rendszer egy naplófájlt tart fenn, amely részletezi a feltöltéseket és a letöltéseket. connect_from_port_20 = IGEN # használja a 20-as portot (ftp-data) a szerver gépen a PORT stílusú kapcsolatokhoz. xferlog_std_format = IGEN # a szabványos naplófájl -formátum megtartása. listen = NO # megakadályozza, hogy a vsftpd önálló módban fusson. listen_ipv6 = IGEN # A vsftpd IPv6 -aljzaton hallgatja az IPv4 -es helyett. pam_service_name = vsftpd A PAM szolgáltatás # neve, amelyet a vsftpd fog használni. userlist_enable = IGEN # engedélyezze a vsftpd felhasználónévlista betöltését. tcp_wrappers = IGEN # kapcsolja be a tcp csomagolást. 

5. Most konfigurálja az FTP -t, hogy engedélyezze/megtagadja az FTP -hozzáférést a felhasználóknak a felhasználói listafájl alapján /etc/vsftpd.userlist.

Alapértelmezés szerint a listában szereplő felhasználók userlist_file =/etc/vsftpd.userlist megtagadják a bejelentkezési hozzáférést a gombbal userlist_deny opció beállítása IGEN, ha userlist_enable = IGEN.

Azonban, userlist_deny = NEM megváltoztatja a beállítást, vagyis csak a kifejezetten felsorolt ​​felhasználók userlist_file =/etc/vsftpd.userlist engedélyezik a bejelentkezést.

userlist_enable = IGEN # A vsftpd betölti a felhasználónevek listáját a userlist_file fájlnévből. userlist_file =/etc/vsftpd.userlist # tárolja a felhasználóneveket. userlist_deny = NEM 

Ez még nem minden, amikor a felhasználók bejelentkeznek az FTP -szerverre, chroot -börtönbe kerülnek, ez a helyi gyökérkönyvtár, amely csak az FTP -munkamenet otthoni könyvtáraként fog működni.

Ezután két lehetséges forgatókönyvet fogunk megvizsgálni, hogyan lehet az FTP -felhasználókat az FTP -felhasználók Home könyvtárai (helyi gyökér) könyvtárába chrootolni, az alábbiakban ismertetettek szerint.

6. Most adja hozzá ezt a két lehetőséget, hogy az FTP -felhasználókat saját könyvtáraiba korlátozza.

chroot_local_user = IGEN. allow_writeable_chroot = IGEN. 

chroot_local_user = IGEN azt jelenti, hogy a helyi felhasználókat alapértelmezett beállítások szerint a bejelentkezést követően a chroot börtönbe helyezik.

És alapértelmezés szerint a vsftpd biztonsági okokból nem teszi lehetővé a chroot jail könyvtár írását, azonban használhatjuk ezt a lehetőséget allow_writeable_chroot = IGEN hogy felülbírálja ezt a beállítást.

Mentse el a fájlt, és zárja be.

FTP szerver védelme SELinux segítségével

7. Most állítsuk be a SELinux logikai értékkel, hogy az FTP olvashassa a felhasználó saját könyvtárában található fájlokat. Vegye figyelembe, hogy ez eredetileg a következő paranccsal történt:

# setsebool -P ftp_home_dir be. 

Azonban a ftp_home_dir direktíva alapértelmezés szerint le van tiltva, ahogyan ez a hibajelentésben szerepel: https://bugzilla.redhat.com/show_bug.cgi? id = 1097775.

Most használni fogjuk szemanage parancs a SELinux szabály beállításához, hogy lehetővé tegye az FTP számára a felhasználó saját könyvtárának olvasását/írását.

# semanage boolean -m ftpd_full_access --on. 

Ezen a ponton újra kell indítanunk a vsftpd -t, hogy végrehajtsuk az összes fenti változtatást:

# systemctl újraindítás vsftpd. 

4. lépés: Az FTP -kiszolgáló tesztelése

8. Most teszteljük az FTP -kiszolgálót egy FTP -felhasználó létrehozásával useradd parancs.

# useradd -m -c „Ravi Saive, CEO” -s /bin /bash ravi. # passwd ravi. 

Ezt követően hozzá kell adnunk a felhasználót ravi a fájlhoz /etc/vsftpd.userlist használni a visszhang parancs alábbiak szerint:

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

9. Most itt az ideje annak tesztelésére, hogy a fenti beállítások megfelelően működnek -e. Kezdjük anonim bejelentkezések tesztelésével, az alábbi képernyőképen láthatjuk, hogy a névtelen bejelentkezés nem engedélyezett:

# ftp 192.168.56.10
192.168.56.10 (192.168.56.10). 220 Üdvözöljük a TecMint.com FTP szolgáltatásban. Név (192.168.56.10:root): névtelen. 530 Az engedély megtagadva. Bejelentkezés sikertelen. ftp>
Névtelen FTP bejelentkezés tesztelése
Névtelen FTP bejelentkezés tesztelése

10. Azt is teszteljük, hogy a fájlban nem szereplő felhasználó -e /etc/vsftpd.userlist engedélyt kap a bejelentkezésre, ami nem így van, mint az alábbi képernyőképen:

# ftp 192.168.56.10
192.168.56.10 (192.168.56.10). 220 Üdvözöljük a TecMint.com FTP szolgáltatásban. Név (192.168.56.10:root): aaronkilik. 530 Az engedély megtagadva. Bejelentkezés sikertelen. ftp>
Az FTP felhasználói bejelentkezés sikertelen
Az FTP felhasználói bejelentkezés sikertelen

11. Most végezzen utolsó ellenőrzést, ha a fájlban szereplő felhasználó szerepel -e /etc/vsftpd.userlist, valójában a saját könyvtárába kerül a bejelentkezés után:

# ftp 192.168.56.10
192.168.56.10 (192.168.56.10). 220 Üdvözöljük a TecMint.com FTP szolgáltatásban. Név (192.168.56.10:root): ravi. 331 Kérjük, adja meg a jelszót. Jelszó:
230 Sikeres bejelentkezés. A távoli rendszer típusa UNIX. Bináris mód használata fájlok átviteléhez. ftp> ls
FTP felhasználói bejelentkezés sikeres [
FTP felhasználói bejelentkezés sikeres [
Figyelem: Használata allow_writeable_chroot = IGEN rendelkezik bizonyos biztonsági vonatkozásokkal, különösen akkor, ha a felhasználók rendelkeznek feltöltési engedéllyel vagy shell hozzáféréssel.

Csak akkor aktiválja ezt az opciót, ha pontosan tudja, mit csinál. Fontos megjegyezni, hogy ezek a biztonsági vonatkozások nem vsftpd specifikusak, hanem minden FTP démonra vonatkoznak, amelyek a helyi felhasználókat is a chroot börtönökbe bocsátják.

Ezért a következő szakaszban megvizsgáljuk egy biztonságosabb módot egy másik nem írható helyi gyökérkönyvtár beállítására.

5. lépés: Konfigurálja a különböző FTP felhasználói kezdőkönyvtárakat

12. Nyissa meg újra a vsftpd konfigurációs fájlt, és kezdje az alábbi nem biztonságos opció megjegyzésével:

#allow_writeable_chroot = IGEN. 

Ezután hozza létre az alternatív helyi gyökérkönyvtárat a felhasználó számára (ravi, a tied valószínűleg más), és távolítsd el az írási jogosultságokat minden felhasználó számára ebbe a könyvtárba:

# mkdir/home/ravi/ftp. # chown nobody: nobody/home/ravi/ftp. # chmod a-w/home/ravi/ftp. 

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

# mkdir/home/ravi/ftp/files. # chown ravi: ravi/home/ravi/ftp/files. # chmod 0700/home/ravi/ftp/files/

Ezután adja hozzá/módosítsa a következő beállításokat a vsftpd konfigurációs fájlban ezekkel az értékekkel:

user_sub_token = $ USER # beszúrja a felhasználónevet a helyi gyökérkönyvtárba local_root =/home/$ USER/ftp # meghatározza a felhasználók helyi gyökérkönyvtárát. 

Mentse el a fájlt, és zárja be. Ismét indítsuk újra a szolgáltatást az új beállításokkal:

# systemctl újraindítás vsftpd. 

14. Most végezzen újra egy utolsó tesztet, és nézze meg, hogy a felhasználók helyi gyökérkönyvtára az FTP könyvtár, amelyet a saját könyvtárában hoztunk létre.

# ftp 192.168.56.10
192.168.56.10 (192.168.56.10). 220 Üdvözöljük a TecMint.com FTP szolgáltatásban. Név (192.168.56.10:root): ravi. 331 Kérjük, adja meg a jelszót. Jelszó:
230 Sikeres bejelentkezés. A távoli rendszer típusa UNIX. Bináris mód használata fájlok átviteléhez. ftp> ls
Az FTP felhasználói kezdőkönyvtárba történő bejelentkezés sikeres
Az FTP felhasználói kezdőkönyvtárba történő bejelentkezés sikeres

Ez az! Ebben a cikkben leírtuk, hogyan kell telepíteni, konfigurálni és biztonságossá tenni egy FTP -kiszolgálót a CentOS 7 rendszerben, a megjegyzés részben, hogy írjon nekünk az útmutatóval kapcsolatban, vagy osszon meg ezzel kapcsolatos hasznos információkat téma.

Javasolt olvasmány:Telepítse a ProFTPD szervert az RHEL/CentOS 7 rendszerre

A következő cikkben azt is megmutatjuk, hogyan kell FTP szerver védelme SSL/TLS használatával kapcsolatokat a CentOS 7 rendszerben, addig maradjon kapcsolatban a TecMint -tel.

Teachs.ru