Linux

Az FTP-kiszolgáló beállítása VSFTPD-vel az Ubuntu 20-on.04

Az FTP-kiszolgáló beállítása VSFTPD-vel az Ubuntu 20-on.04

Ez a cikk ismerteti az FTP-kiszolgáló telepítését és konfigurálását az Ubuntu 20 rendszeren.04, amelyet fájlok megosztására használ az eszközök között.

Az FTP (File Transfer Protocol) egy szabványos hálózati protokoll, amelyet fájlok távoli hálózathoz és onnan történő továbbítására használnak. Számos nyílt forráskódú FTP-kiszolgáló áll rendelkezésre a Linux számára. A legismertebb és legszélesebb körben használt PureFTPd, ProFTPD és vsftpd . Telepítjük a vsftpd (Very Secure Ftp Daemon), egy stabil, biztonságos és gyors FTP szervert. Megmutatjuk azt is, hogyan kell konfigurálni a szervert úgy, hogy a felhasználókat az otthoni könyvtárra korlátozza, és a teljes átvitelet SSL / TLS-sel titkosítsa.

Bár az FTP nagyon népszerű protokoll, a biztonságosabb és gyorsabb adatátvitel érdekében az SCP-t vagy az SFTP-t kell használnia .

A vsftpd telepítése az Ubuntu 20-ra.04 #

A vsftpd csomag elérhető az Ubuntu tárolókban. Telepítéséhez hajtsa végre a következő parancsokat:

sudo apt frissítéssudo apt install vsftpd

Az ftp szolgáltatás a telepítési folyamat befejeztével automatikusan elindul. Ennek ellenőrzéséhez nyomtassa ki a szolgáltatás állapotát:

sudo systemctl állapot vsftpd

A kimenetnek meg kell mutatnia, hogy a vsftpd szolgáltatás aktív és fut:

● vsftpd.szolgáltatás - vsftpd FTP szerver Betöltött: betöltve (/ lib / systemd / system / vsftpd.szolgáltatás; engedélyezve; gyártói beállítás: engedélyezve) Aktív: aktív (fut) kedd óta 2021-03-02 15:17:22 UTC; 3 nappal ezelőtt… 

A vsftpd # beállítása

A vsftpd szerver konfigurációja a / etc / vsftpd.konf fájl.

A szerver beállításainak többsége jól dokumentált a fájlban. Az összes rendelkezésre álló lehetőségért keresse fel a vsftpd dokumentációs oldalát.

A következő szakaszokban áttekintünk néhány fontos beállítást, amely szükséges a biztonságos vsftpd telepítés konfigurálásához.

Először nyissa meg a vsftpd konfigurációs fájlt:

sudo nano / etc / vsftpd.konf

1. FTP hozzáférés #

Az FTP-kiszolgálóhoz való hozzáférést csak a helyi felhasználók számára engedélyezzük. Keresse meg a anonymous_enable és local_enable irányelveket, és ellenőrizze, hogy a konfiguráció megfelel-e az alábbi soroknak:

/ etc / vsftpd.konf
anonymous_enable = NINCS local_enable = IGEN 

2. Feltöltések engedélyezése #

Keresse meg és kommentelje a write_enable irányelv a fájlrendszer változásainak engedélyezéséhez, például a fájlok feltöltéséhez és eltávolításához:

/ etc / vsftpd.konf
write_enable = IGEN 

3. Chroot börtön #

Annak megakadályozására, hogy a helyi FTP-felhasználók hozzáférjenek a fájlokhoz a saját könyvtárukon kívül, törölje a kezdőbetűket chroot_local_user:

/ etc / vsftpd.konf
chroot_local_user = IGEN 

Alapértelmezés szerint biztonsági okokból, amikor a chroot engedélyezve van, a vsftpd megtagadja a fájlok feltöltését, ha a könyvtár, amelybe a felhasználók bezárultak, írható.

Használja az alábbi megoldások egyikét a feltöltések engedélyezéséhez, ha a chroot engedélyezve van:

4. Passzív FTP-kapcsolatok #

Alapértelmezés szerint a vsftpd aktív módot használ. A passzív mód használatához állítsa be a portok minimális és maximális tartományát:

/ etc / vsftpd.konf
pasv_min_port = 30000 pasv_max_port = 31000 

Bármely portot használhat passzív FTP kapcsolatokhoz. Ha a passzív mód engedélyezve van, az FTP-kliens megnyit egy kapcsolatot a kiszolgálóval egy véletlenszerű porton, az Ön által választott tartományban.

5. Felhasználói bejelentkezés korlátozása #

A vsftpd úgy konfigurálható, hogy csak bizonyos felhasználók jelentkezhessenek be. Ehhez adja hozzá a következő sorokat a fájl végéhez:

/ etc / vsftpd.konf
userlist_enable = IGEN userlist_file = / etc / vsftpd.user_list userlist_deny = NEM 

Ha ez az opció engedélyezve van, akkor a felhasználónevek hozzáadásával kifejezetten meg kell határoznia, hogy mely felhasználók jelentkezhetnek be / etc / vsftpd.user_list fájl (soronként egy felhasználó).

6. Az átvitel biztonsága SSL / TLS segítségével #

Az FTP átvitel SSL / TLS használatával történő titkosításához rendelkeznie kell egy SSL tanúsítvánnyal, és konfigurálnia kell az FTP szervert annak használatához.

Használhat meglévő, megbízható tanúsító hatóság által aláírt SSL-tanúsítványt, vagy létrehozhat önaláírt tanúsítványt.

Ha van olyan tartománya vagy aldomainje, amely az FTP-kiszolgáló IP-címére mutat, akkor gyorsan létrehozhat egy ingyenes Let's Encrypt SSL tanúsítványt.

Létrehozunk egy 2048 bites magánkulcsot és saját aláírású SSL tanúsítványt, amely tíz évig érvényes lesz:

sudo openssl req -x509 -node -nap 3650 -newkey rsa: 2048 -keyout / etc / ssl / private / vsftpd.pem -out / etc / ssl / private / vsftpd.pem

A magánkulcs és a tanúsítvány is ugyanabba a fájlba kerül.

Az SSL tanúsítvány létrehozása után nyissa meg a vsftpd konfigurációs fájlt:

sudo nano / etc / vsftpd.konf

Találd meg rsa_cert_file és rsa_private_key_file irányelveket, változtassák értékeiket a pam fájl elérési útját, és állítsa be a ssl_enable irányelv IGEN:

/ etc / vsftpd.konf
rsa_cert_file = / etc / ssl / private / vsftpd.pem rsa_private_key_file = / etc / ssl / private / vsftpd.pem ssl_enable = IGEN 

Ha másként nincs meghatározva, az FTP-kiszolgáló csak a TLS-t használja a biztonságos kapcsolatok létrehozásához.

Indítsa újra a vsftpd szolgáltatást #

Miután végzett a szerkesztéssel, a vsftpd konfigurációs fájlnak (a megjegyzéseket leszámítva) ilyennek kell kinéznie:

/ etc / vsftpd.konf
hallgat = NEM hallgat_ipv6 = IGEN névtelen_engedhető = NEM helyi_engedhető = IGEN írási_engedhető = IGEN dirmessage_enable = IGEN felhasználási_localtime = IGEN xferlog_enable = IGEN connect_from_port_20 = IGEN chroot_local_user = YES biztonságos_chroot_dir_p = / var / futtat / serv / futtat / sms / rt / futtat / vs / var / futtat / privát / vsftpd.pem rsa_private_key_file = / etc / ssl / private / vsftpd.pem ssl_enable = IGEN user_sub_token = $ USER local_root = / home / $ USER / ftp pasv_min_port = 30000 pasv_max_port = 31000 userlist_enable = IGEN userlist_file = / etc / vsftpd.user_list userlist_deny = NEM 

Mentse a fájlt, és indítsa újra a vsftpd szolgáltatást, hogy a módosítások életbe lépjenek:

sudo systemctl indítsa újra a vsftpd fájlt

A tűzfal megnyitása #

Ha UFW tűzfalat futtat, engedélyeznie kell az FTP forgalmat.

A port megnyitásához 21 (FTP parancs port), port 20 (FTP adatport), és 30000-31000 (Passzív portok tartománya), futtassa a következő parancsokat:

sudo ufw 20: 21 / tcpsudo ufw lehetővé teszi 30000: 31000 / tcp

A zárolás elkerülése érdekében ellenőrizze a portot 22 nyitva van:

sudo ufw lehetővé teszi az OpenSSH használatát

Töltse le újra az UFW-szabályokat az UFW letiltásával és újbóli engedélyezésével:

sudo ufw letiltásasudo ufw engedélyezése

A módosítások futtatásának ellenőrzése:

sudo ufw állapot
Állapot: aktív To Action from - ------ ---- 20: 21 / tcp ALLOW Anywhere 30000: 31000 / tcp ALLOW Anywhere OpenSSH ALLOW Anywhere 20: 21 / tcp (v6) ALLOW Anywhere (v6) 30000: 31000 / tcp (v6) ALLOW Anywhere (v6) OpenSSH (v6) ALLOW Anywhere (v6) 

FTP-felhasználó létrehozása #

Az FTP szerver teszteléséhez létrehozunk egy új felhasználót.

  1. Hozzon létre egy új nevű felhasználót newftpuser:

    sudo adduser newftpuser
  2. Adja hozzá a felhasználót az engedélyezett FTP-felhasználók listájához:

    visszhang "newftpuser" | sudo tee -a / etc / vsftpd.user_list
  3. Hozza létre az FTP könyvtárfát, és állítsa be a megfelelő engedélyeket:

    sudo mkdir -p / home / newftpuser / ftp / uploadsudo chmod 550 / home / newftpuser / ftpsudo chmod 750 / home / newftpuser / ftp / uploadsudo chown -R newftpuser: / home / newftpuser / ftp

    Az előző szakaszban leírtak szerint a felhasználó feltöltheti fájljait a ftp / feltöltés Könyvtár.

Ezen a ponton az FTP-szerver teljesen működőképes. Képesnek kell lennie a kiszolgálóhoz való csatlakozásra bármely olyan FTP-ügyfél használatával, amely beállítható TLS-titkosítás használatára, például a FileZilla .

A Shell hozzáférés letiltása #

Alapértelmezés szerint egy felhasználó létrehozásakor, ha nincs kifejezetten megadva, a felhasználónak SSH-hozzáférése lesz a kiszolgálóhoz. A héjhozzáférés letiltásához hozzon létre egy új héjat, amely egy üzenetet nyomtat, amelyben elmondja a felhasználónak, hogy a fiókja csak FTP-hozzáférésre korlátozódik.

A következő parancsok létrehozásával futtassa a / bin / ftponly fájlt, és futtathatóvá tegye:

echo -e '#!/ bin / sh \ necho "Ez a fiók csak az FTP hozzáférésre korlátozódik."'| sudo tee -a / bin / ftponlysudo chmod a + x / bin / ftponly

Csatolja az új héjat az érvényes héjak listájához a / etc / shell fájl:

echo "/ bin / ftponly" | sudo tee -a / etc / shells

Módosítsa a felhasználói héjat erre: / bin / ftponly:

sudo usermod newftpuser -s / bin / ftponly

Ugyanazzal a paranccsal megváltoztathatja az összes felhasználó héját, amelyhez csak FTP-hozzáférést kíván megadni.

Következtetés

Megmutattuk, hogyan telepíthet és konfigurálhat biztonságos és gyors FTP-kiszolgálót az Ubuntu 20-ra.04 rendszer.

Ha bármilyen kérdése vagy visszajelzése van, nyugodtan írjon megjegyzést.

Az egérmutató és a kurzor méretének, színének és sémájának módosítása a Windows 10 rendszeren
Az egérmutató és a kurzor a Windows 10 operációs rendszerben nagyon fontos szempont. Ez elmondható más operációs rendszerekről is, tehát valójában eze...
Ingyenes és nyílt forráskódú játékmotorok a Linux játékok fejlesztéséhez
Ez a cikk felsorolja azokat az ingyenes és nyílt forráskódú játékmotorokat, amelyek felhasználhatók 2D és 3D játékok fejlesztésére Linuxon. Számos ily...
Shadow of the Tomb Raider for Linux Tutorial
A Shadow of the Tomb Raider a Tomb Raider sorozat tizenkettedik kiegészítője - az Eidos Montreal által létrehozott akció-kaland játék franchise. A ját...