FTP

Az FTP konfigurálása TLS-sel az Ubuntuban

Az FTP konfigurálása TLS-sel az Ubuntuban
Az FTP (File Transfer Protocol) elsősorban a fájlok számítógépek közötti átvitelére szolgál. Az FTP kliens-szerver architektúrában működik, amelyben az ügyfél egy fájlt kér a szervertől, és a kiszolgáló visszaadja a szükséges fájlt az ügyfélnek. Az ügyfélgépen az FTP ügyfélalkalmazást használják a szerverrel való kommunikációhoz. A böngészőben elérhető az FTP szerver is. Alapértelmezés szerint az FTP egy nem biztonságos csatornán kommunikál, de lehetőség van az FTP beállítására úgy, hogy az adatokat biztonságos csatornán továbbítsa. Ebben az oktatóanyagban megtanulhatja, hogyan kell konfigurálni az FTP-kiszolgálót TLS-sel, majd a FileZillát használni kliensalkalmazásként az FTP-kiszolgálóhoz való kapcsolódáshoz.

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 -y

Ezután telepítse a VSFTPD-t a következő paranccsal.

[e-mail védett]: ~ $ sudo apt-get install vsftpd -y

Vé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.konf

Adja 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 / ftp

Most 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 vsftpd

Jelszó 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 ubuntu

A 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 ufw

Most 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 -y

Nyissa 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 vsftpd

A 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 enable

A 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.pem

A 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.konf

Adja 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 = IGEN
force_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 vsftpd

A 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 vsftpd

A 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.52

A 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 vsftpd

A 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 -i

Most 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 localhost

A 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

Az X-Mouse Button Control segítségével az egér gombjait másképp alakíthatja át a különböző szoftvereknél
Lehet, hogy szüksége van egy eszközre, amely megváltoztathatja az egér vezérlését minden használt alkalmazással. Ebben az esetben kipróbálhatja az úgy...
Microsoft Sculpt Touch vezeték nélküli egér áttekintés
Nemrég olvastam a Microsoft Sculpt Touch vezeték nélküli egér és úgy döntött, hogy megveszi. Egy ideig használat után úgy döntöttem, hogy megosztom ve...
AppyMouse képernyős Trackpad és egérmutató a Windows táblagépekhez
A táblagép-felhasználók gyakran hiányolják az egérmutatót, különösen akkor, ha szokták használni a laptopokat. Az érintőképernyős okostelefonok és táb...