A VSFTPD telepítése
A VSFTPD (Very Secure FTP Daemon) egy szoftver, amelyet az FTP szerveren történő konfigurálására használnak. Ebben az oktatóanyagban a VSFTPD-t fogja használni a gépen az FTP-kiszolgáló konfigurálásához. A VSFTPD telepítése előtt frissítse a kiszolgáló adattárait a következő parancs kiadásával.
[e-mail védett]: ~ $ sudo apt-get update -yEzután telepítse a VSFTPD-t a következő paranccsal.
[e-mail védett]: ~ $ sudo apt-get install vsftpd -yVégül ellenőrizze a telepítést a vsftpd verziójának ellenőrzésével a következő paranccsal.
[e-mail védett]: ~ $ vsftpd -v
A fenti parancs kiadja a vsftpd verzióját, ha a telepítés sikeres.
FTP aktív módban
Aktív módban az FTP kliens úgy kezdi a munkamenetet, hogy létrehozza a TCP vezérlő kapcsolatot az ügyfélgép bármely véletlen portjáról a kiszolgáló 21. portjához. Ezután az ügyfél elkezd egy véletlen X porton hallgatni az adatkapcsolatot, és a TCP Control kapcsolaton keresztül értesíti a szervert arról, hogy az ügyfél az X porton várja az adatkapcsolatot. Ezt követően a szerver adatkapcsolatot létesít a 20-as és az ügyfélgép X-es portjával.
Probléma merülhet fel, ha az ügyfél tűzfal mögött van, és az X port blokkolva van. Ebben az esetben a szerver nem képes adatkapcsolatot létrehozni az ügyféllel. A probléma elkerülése érdekében az FTP szervert leginkább passzív módban használják, amelyet később a cikkben tárgyalunk. Alapértelmezés szerint a VSFTPD Passzív módot használ, ezért azt Aktív módra kell váltanunk.
Először nyissa meg a VSFTPD konfigurációs fájlt.
[e-mail védett]: ~ $ sudo nano / etc / vsftpd.konfAdja hozzá a következő sort a fájl végéhez.
pasv_enable = NEM
Ügyeljen arra is, hogy a 'connect_from_port_20' opció értéke 'YES.'Ez az opció biztosítja, hogy az adatkapcsolat létrejön a szerver 20. portján.
Ezután hozzon létre egy könyvtárat, amelyet az FTP-kiszolgáló használni fog a fájlok tárolásához. Ehhez az oktatóanyaghoz az '/ home / ubuntu / ftp /' állományt fogjuk konfigurálni az FTP szerver gyökérútvonalaként.
[e-mail védett]: ~ $ sudo mkdir / home / ubuntu / ftpMost adja meg ezt a könyvtárat a konfigurációs fájlban a 'local_root' beállítás megváltoztatásával. A következő paraméter konfigurálja a szerver gyökérútvonalát.
helyi_gyökér = / home / ubuntu / ftp
Az 'write_enable' beállítást engedélyezni kell, hogy a felhasználók az FTP-kiszolgálóra írhassanak.
A konfigurációs fájl minden módosításakor mindig indítsa újra a szervert.
[e-mail védett]: ~ $ sudo systemctl restart vsftpdJelszó beállítása egy felhasználó számára
Az FTP kliens felhasználónév és jelszó segítségével csatlakozik a szerverhez. A következő paranccsal állítsa be a felhasználó jelszavát a gépen.
[e-mail védett]: ~ $ sudo passwd ubuntuA fenti parancs meg fogja kérni a jelszót az 'ubuntu' felhasználó számára.
A tűzfal beállítása aktív módra
Ha az FTP-t aktív módban használják, az FTP-kiszolgáló két portot fog használni az ügyféllel való kommunikációhoz, a 21. és 22. portot. A 21-es portot a parancsok átadására használják az ügyfélnek, a 20-as port pedig az adatok bármely más véletlenszerű portra történő továbbítására szolgál. Az ufw segítségével konfigurálhatjuk a tűzfalat a szerveren. Telepítse az ufw szoftvert a következő paranccsal.
[e-mail védett]: ~ $ sudo apt-get install ufwMost a szerver oldalon megnyitjuk a 20., 21. és 22. portot (az SSH-kapcsolathoz).
[e-mail védett]: ~ $ sudo ufw engedélyezheti bármelyikből bármelyik port proto tcp-be
Engedélyezze és ellenőrizze az ufw állapotát a következő parancsokkal.
[e-mail védett]: ~ $ sudo ufw enable[e-mail védett]: ~ $ sudo ufw állapot
JEGYZET: ha az FTP-kiszolgálót a felhőben konfigurálja, akkor engedélyeznie kell a 20., 21. és 22. portot is a biztonsági csoportban.
FIGYELEM: Az ufw engedélyezése előtt a távoli rendszeren mindig engedélyezze a 22. portot a szükséges portokkal együtt. Alapértelmezés szerint az UFW blokkolja a 22-es port forgalmát, így nem férhet hozzá a távoli szerverhez SSH használatával, ha engedélyezi az ufw-t anélkül, hogy engedélyezné a 22. port forgalmát.
Az FTP kliens telepítése
A szerverünk aktív módban van konfigurálva, és az ügyfél felől hozzáférhetünk hozzá. Az ügyfélalkalmazáshoz a FileZilla, egy ftp kliens alkalmazást fogjuk használni. Telepítse a FileZillát a következő paranccsal.
[e-mail védett]: ~ $ sudo apt-get install filezilla -yNyissa meg az FTP kliens alkalmazást, és írja be az FTP kiszolgáló nyilvános IP címét és egyéb hitelesítő adatait.
A "Gyors csatlakozás" gombra kattintva csatlakozik az FTP-kiszolgálóhoz, és automatikusan a "/ home / ubuntu / ftp" konfigurációs fájl "local_root" opciójában megadott könyvtárba kerül.
Problémák aktív módban
Az FTP aktív módban történő használata problémákat vet fel, amikor az ügyfél a tűzfal mögött van. A kezdeti vezérlőparancsok bevitele után, amikor a kiszolgáló adatkapcsolatot hoz létre az ügyféllel egy véletlenszerű porton, a portot az ügyfél tűzfala blokkolhatja, ami az adatátvitel sikertelenségét okozhatja. Az FTP passzív módban használható a tűzfalakkal kapcsolatos problémák megoldására.
FTP passzív módban
Passzív módban az ügyfél vezérlő kapcsolatot létesít a kiszolgálóval a kiszolgáló 21. portján. Ezután az ügyfél elküldi a speciális 'PASV' parancsot, hogy tájékoztassa a szervert arról, hogy az adatkapcsolatot a kliens fogja létrehozni a kiszolgáló helyett. Válaszként az ügyfél megkapja a kiszolgáló IP-címét és véletlenszerű portszámát (ezt a portszámot a kiszolgálón konfigurálják). Az ügyfél ezt az IP-címet és portszámot használja adatkapcsolat létrehozására a szerverrel. Passzív módban mind az adat-, mind a vezérlő kapcsolatokat az ügyfél hozza létre, hogy a tűzfal ne zavarja az ügyfél és a szerver közötti kommunikációt.
Nyissa meg az FTP konfigurációs fájlt a kedvenc szerkesztőjében.
[e-mail védett]: ~ $ sudo nano / etc / vsftpd.konfÁllítsa a „pasv_enable” opciót „YES” értékre a fájlban, hogy a szerver passzív módban kommunikálhasson az ügyféllel. Ezenkívül állítsa be a "local_root" opciót a szerver gyökérkönyvtárának megadásához, és állítsa az "write_enable" opciót "YES" értékre, hogy a felhasználók fájlokat tölthessenek fel a szerverre.
Amint arról korábban szó volt, az adatkapcsolatot az ügyfél hozza létre, és a szerver elküldi nyilvános IP-jét és egy véletlenszerű portját az ügyfélnek adatkapcsolat létrehozása céljából. A kiszolgáló ezen véletlenszerű portja a konfigurációs fájlban található portok egy tartományából határozható meg.
Az adatkapcsolat a szerver és az ügyfél között egy 1024 és 1048 közötti porton jön létre. Indítsa újra az FTP-kiszolgálót a konfigurációs fájl megváltoztatása után.
[e-mail védett]: ~ $ sudo systemctl restart vsftpdA tűzfal beállítása passzív módban
Ha az FTP-t passzív módban használjuk, akkor az adatkapcsolat minden 1024 és 1048 közötti port között létrejön, ezért engedélyezni kell az összes portot az FTP szerveren.
[e-mail védett]: ~ $ sudo ufw engedélyezheti bármelyikből bármelyik port proto tcp-be
Miután engedélyezte a tűzfal összes portját, a következő parancs futtatásával aktiválja az ufw fájlt.
[e-mail védett]: ~ $ sudo ufw enableA tűzfal engedélyezése előtt mindig engedélyezze a kiszolgálók portjait; ellenkező esetben nem férhet hozzá SSH-n keresztül a szerveréhez ufw néven, amely alapértelmezés szerint blokkolja a 22-es portot.
A kapcsolat tesztelése
Most passzív módban állítottuk be az FTP szervert, és ellenőrizhetjük az ftp kapcsolatot az ügyfélalkalmazással. Ehhez nyissa meg a FileZillát a rendszerében.
A gazdagép, a felhasználónév, a jelszó és a port megadása után most kapcsolatba léphet a szerverével. Most, hogy csatlakozik a passzív módban futó FTP-kiszolgálóhoz, fájlokat tölthet fel a szerverre.
SSL-tanúsítványok konfigurálása az FTP-kiszolgálóval
Alapértelmezés szerint az FTP-kiszolgáló nem biztonságos csatornán létesíti a kapcsolatot az ügyfél és a kiszolgáló között. Ezt a típusú kommunikációt nem szabad használni, ha bizalmas adatokat szeretne megosztani az ügyfél és a kiszolgáló között. A biztonságos csatornán történő kommunikációhoz SSL tanúsítványokat kell használni.
SSL-tanúsítványok generálása
SSL tanúsítványokat használunk a biztonságos kommunikáció beállításához az ügyfél és a szerver között. Ezeket a tanúsítványokat az openssl segítségével állítjuk elő. A következő parancs SSL-tanúsítványokat generál a kiszolgálóhoz.
[e-mail védett]: ~ $ sudo openssl req -x509 -nodes -day 365 -newkey rsa: 2048 -keyout / etc / ssl / private / vsftpd.pem -out / etc / ssl / private / vsftpd.pemA fenti parancs futtatásakor néhány kérdést fognak feltenni. Miután megválaszolta ezeket a kérdéseket, a tanúsítványok létrehozásra kerülnek. A tanúsítványokat a terminálon ellenőrizheti.
[e-mail védett]: ~ $ sudo ls / etc / ssl / private /
Tanúsítványok használata a konfigurációs fájlban
Most tanúsítványaink használatra készek. Konfiguráljuk a 'vsftpd fájlt.conf 'fájl az SSL tanúsítványok használatához a kommunikációhoz. Nyissa meg a konfigurációs fájlt a következő paranccsal.
[e-mail védett]: ~ $ sudo nano / etc / vsftpd.konfAdja hozzá a következő sorokat a fájlok végéhez. Ezek a változtatások biztosítják, hogy az FTP-kiszolgáló az újonnan létrehozott SSL-tanúsítványokat használja a biztonságos kommunikációhoz az ügyféllel.
ssl_enable = IGENforce_local_data_ssl = NEM
force_local_logins_ssl = NEM
ssl_tlsv1 = IGEN
ssl_sslv2 = NEM
ssl_sslv3 = NEM
rsa_cert_file = / etc / ssl / private / vsftpd.pem
rsa_private_key_file = / etc / ssl / private / vsftpd.pem
Indítsa újra az FTP-kiszolgálót a változások alkalmazásához.
[e-mail védett]: ~ $ sudo systemctl restart vsftpdA kiszolgáló újraindítása után próbáljon meg csatlakozni a kiszolgálóhoz a FileZilla kliens alkalmazás segítségével. Ezúttal az ügyfélalkalmazás megkérdezi, hogy megbízik-e ezekben a tanúsítványokban.
Ha rendelkezik megbízható tanúsító hatóság tanúsítványaival, akkor ez a figyelmeztetés nem jelenik meg. Tanúsítványainkat az openssl használatával hoztuk létre, amely nem egy megbízható tanúsító hatóság, ezért a mi esetünkben tanúsítvány hitelesítést kért. Most egy biztonságos csatornán kommunikálhatunk az ügyfél és a szerver között.
Névtelen konfiguráció
Az anonim bejelentkezést az FTP-kiszolgálón is engedélyezheti. Ha engedélyezi ezt a konfigurációt, akkor bármely felhasználó bármilyen felhasználónévvel és jelszóval bejelentkezhet az FTP szerverre. A konfigurációs fájl következő paraméterei az FTP-kiszolgálót névtelenül hozzáférhetővé teszik.
A fenti konfiguráció az anonim felhasználók gyökérútvonalát '/ home / ubuntu / ftp / anon' értékre állítja, és nem fogja kérni a jelszót, amikor egy névtelen felhasználó bejelentkezik.
JEGYZET: Győződjön meg arról, hogy a / / home / ubuntu / ftp / anon elérési út létezik az FTP-kiszolgálón.
Indítsa újra az FTP-kiszolgálót.
[e-mail védett]: ~ $ sudo systemctl restart vsftpdA szerver újraindítása után megpróbálunk csatlakozni a szerverhez a Google Chrome böngészőn keresztül. Lépjen a következő URL-re.
ftp: // 3.8.12.52A fenti URL az FTP-kiszolgáló gyökérkönyvtárába vezet, a konfigurációs fájlban megadottak szerint. Ha az Névtelen bejelentkezés le van tiltva, amikor egy böngésző segítségével megpróbál csatlakozni az FTP-kiszolgálóhoz, akkor először hitelesítést kér, majd a szerver gyökérkönyvtárába kerül.
Konfigurálja a helyi hozzáférést
A konfigurációs fájl megváltoztatásával engedélyezhetjük vagy blokkolhatjuk az FTP-kiszolgálóhoz való helyi hozzáférést is. Jelenleg az FTP-kliens alkalmazás használata nélkül is helyben férhetünk hozzá FTP-kiszolgálónkhoz, de blokkolhatjuk ezt a hozzáférést. Ehhez módosítanunk kell a 'local_enable' paramétert.
Először indítsa újra az FTP-kiszolgálót.
[e-mail védett]: ~ $ sudo systemctl restart vsftpdA kiszolgáló újraindítása után próbálja meg helyileg elérni az FTP szervert a parancssori felület használatával. Jelentkezzen be a távoli szerverre az SSH használatával.
[e-mail védett]: ~ $ ssh ubuntu @ 3.8.12.52 -iMost adja ki a következő parancsot, hogy helyileg bejelentkezzen az FTP-kiszolgálóra a parancssori felület használatával.
[e-mail védett]: ~ $ ftp localhostA fenti parancs futtatásakor 500 hibát dob.
Következtetés
A File Transfer Protocol-t sok éve használják fájlok és dokumentumok interneten történő továbbítására. A VSFTPD az egyik olyan csomag, amelyet FTP-kiszolgálóként használnak a számítógépén. A VSFTPD különféle konfigurációkat tartalmaz, amelyekkel testre szabhatja az FTP-kiszolgálót. Ez az oktatóanyag bemutatta, hogyan konfigurálhat egy FTP-kiszolgálót TLS-sel a fokozott biztonság érdekében. Ha többet szeretne megtudni az FTP-konfigurációkról, látogassa meg a következő linket.
http: // vsftpd.vadállatok.org / vsftpd_conf.html