Megtanít-a-Lak - Ahol a várba a földszintről vezet az út...


FTP

Az FTP szabvány már a 70-es évekre visszavezethetően létezett, igaz, még más néven. Mindazonáltal ez a technika mára az egyik leghasználtabb adatátviteli módszerré forrta ki magát, mégis sok kérdés alakulhat ki (és alakul is ki) vele kapcsolatban.

Mi is az az FTP?

Az FTP az angol File Transfer Protocol rövidítése, ami magyarra fordítva nem tesz mást, mint Adatátviteli protokoll. Ennek célja – mint neve is mutatja – nem más, mint hogy egy számítógépen levő adatot megoszthassunk más gépekkel, vagy épp fordítva – mi magunk kérhessünk le adatot egy másik gépről. Ez a szabvány a TCP/IP hálózatokon valósul meg, amelyek közé tartozik maga az Internet is – ezáltal széles a felhasználói tábora.

Hogyan épül fel?

Mint minden adatátviteli kapcsolatnál, itt is két gépre van szükségünk legalább:

- Kiszolgáló
- Ügyfél

Az ügyfél biztosítja a kliens számára azt az állományt vagy állományokat, melyeket a kliens saját maga gépére mentene át. Ahhoz, hogy ez valóban megtörténjen, szükség van egy kapcsolatkiépítésre, és hogy ezt a kapcsolatot használni is tudják, egy kiszolgáló- (szerver) és egy ügyfélprogram is szükségeltetik. Manapság ezekhez nem nehéz hozzájutni – valamennyi operációs rendszerhez (az újakhoz több) rendelkezésre áll számtalan FTP-kliens program, sőt már a böngészők is támogatják az FTP-kapcsolódást, használatot.

Egyes oldalak esetében szükséges, hogy legyen egy regisztrált azonosítónk, melyet ha felhasználunk, elérhetjük a letölthető fájlok listáját. Nem egy szolgáltatás feltételhez kötött (példának okáért egy X értékű SMS elküldése után a felhasználó kap egy válasz SMS-t, amiben nevét, jelszavát Y napig felhasználva letölthet bármit). Találhatunk azonban korlátlan hozzáférést is, melyek esetében anonymous felhasználóként csatlakozhatunk a szerverhez, hogy a kívánt fájlokat letöltsük, vagy épp csak böngésszünk.

Mára azonban ez a technika kezd elavulttá válni a peer-to-peer rendszerek megjelenése miatt: ennek köszönhetően egy gyorsabb, stabilabb rendszert használhatnak az ügyfelek, míg az FTP esetében a szerver leterhelődött, ha egy nagyobb fájlt többfelé kellett megosztania.

Biztonság

Miért tegyük biztonságossá az FTP-szolgáltatást?

Az informatika világában talán ez az egyik legalapvetőbb téma – a biztonság. Mint tudjuk, az Ördög sosem alszik – ugyanúgy, mint a való életben, az adatlopás veszélye az elektronikus világban is fennáll. Ahhoz, hogy ez ne következzen be, szükség van arra, hogy biztosítsuk adataink védelmét – jelszavakat ne adjunk ki, kéretlen programokat szűrjük ki (tűzfal, vírusirtó), stb. De mi a helyzet az FTP-vel?

Az FTP kapcsolaton keresztül nem csupán mindenki számára elérhető fájlokat szeretnénk megosztani – előfordulhatnak diszkréten kezelendő állományok is, melyet csak egy adott célszemélynek juttatnánk el. A legegyszerűbb módja a védelemnek ugyanaz, mint valamennyi hálózaton való továbbításnak – a titkosítás. Amennyiben titkosítottan küldjük el az adatot, a csatornába belehallgató csupán zajokat érzékel, s tényleges információkhoz ezáltal nem juthat a fájlt illetően. Ahhoz azonban, hogy ez kivitelezhető legyen, szükség van olyan programra, amely lehetővé teszi a titkosítást, mint például a FileZilla.

Mi az FTPS, és mi az SFTP protokoll?

Az FTPS a HTTPS protokoll mintájára készült el. Céljuk azonos – egyfajta biztonsági megoldás kiépítése. Erre azért volt szükség, mert maga az FTP nem támogatja a titkosított felhasználó-azonosítást, ezáltal a nem megbízható hálózatokon való használata veszélyeket von maga után. Az FTPS és az FTP között „csupán” annyi különbség van, hogy a csatornáit (két csatornát használ az FTP: egyet a parancsoknak, egyet az adatoknak) az SSL réteg segítségével titkosítsa.

Az SFTP a Secure FTP, azaz Biztonságos FTP rövidítése. Más néven FTP over SSH-nak is nevezik. Ebben az esetben a kommunikáció (a parancs és adat csatornája is) egy biztonságos SSH kapcsolaton keresztül zajlik. Ez egy hatalmas előny, mindazonáltal egy hatalmas hátrány is, mivel hogy másik protokolt használ, így a sima FTP kliens-programok nem képesek kommunikálni egy SFTP szerverrel.

Jogosultságok

Az FTP kapcsolatoknál úgynevezett jogosultságok is beállíthatók a felhasználók számára.
Ez lehet:

- Belépési rendszer (anonymous, vagy név)
- Hozzáférhetőség
- Kiindulási pont

Ezekre több szempontból is szükség van: egyrészt a már jól kivesézett biztonság egy alapfeltétele lehet, másrészt a jogosultságokkal külön csoportokra állíthatunk be „hatalmat”, ami megkönnyíti munkánkat. Mert kinek lenne jó az, ha egy számítógépet ritkán látott egyén írási jogokkal bírna egy olyan mappában, amiben fontos adatok vannak, és ne adj’ Isten, kitörölné azokat? Nyilván senkinek. Épp ezért külön megadható, hogy a felhasználók mit érhetnek el, és azokra milyen jogaik vannak – úgymind csak olvasás, olvasás/írás, vagy egyáltalán nem elérhető számukra a tartalom. Egy mappa vagy fájl létrehozásakor automatikusan kiosztódik az alap jogosultság a tartalomra, ami külön a tulajdonosra, külön a felhasználóra vonatkozik. Míg a tulajdonos teljeskörűen hozzáférhet az adatokhoz, írhat és olvashat is, addig a legtöbb esetben a felhasználó csupán olvashatja az adatokat.

Napjainkban már a peer-to-peer technológia élvezi az előnyt, mindazonáltal még az FTP is használt szabvány. Átvitelre hasznos megoldás volt, de még a jövő előtte áll – ha lesz egy tudós, aki a megalkotása után tovább is fejleszti, talán megélheti második fénykorszakát ez a módszer.


FTP Használata

Az ftp használata a Total Commander (Windows Commander) programból


A Total Commander elindítása után, kattintson a "Hálózat" menüpont "FTP kapcsolódás..." pontjára 

 

Kattintson a felnyíló ablak jobb oldalán, felülről a második gombra ("Új kapcsolat..."), ekkor megjelennek az alábbi képen látható beállítási lehetőségek. 

 

Az adatokat az ábrán látható módon kell kitölteni. Az "ftpazonosító" és jelszó az általunk kiosztott Felhasználó azonosító és Jelszó. 

 

Az "OK" gombra kattintva mentheti el a kapcsolatot, majd a csatlakozást az FTP-hez a "Kapcsolódás" gombbal kezdeményezheti.

A PHP fájlok távoli attribútumait a távoli fájl kijelölése után a program "Fájl" menüjében az "Attribútumok módosítása" menüpont alatt állíthatja be. Figyelem! A .html fájloknak, képeknek és más statikus állományoknak feltöltés után ne módosítsa az attribútumait. 



FileZilla

Ha a program alapból nem magyar, akkor átállíthatjuk a nekünk megfelelő nyelvre is. A nyelv átállításához lepjünk be az alábbi menüpontba:

  1. Edit(Szerkesztés)/Settings(Beállítások)
  2. Language (Nyelvek), és ezen belül válasszuk ki a nekünk megfelelő nyelvet, majd nyomjuk meg az OK gombot.

Az a cím amit meg szeretnénk nyitni, egyszerűen beírhatjuk a felső gyors kapcsolódáshoz.

Az FTP kiszolgálók címe általában így néz ki: “ftp.kiszolgáló.régió“. Ha nincs felhasználónevünk, illetve jelszavunk, akkor a rendszer az alapértelmezett “anonymous” azonosítóval próbál meg belépni, ellenkező esetben írjuk be a megfelelő helyre az adatainkat. A kiszolgáló portját is megadhatjuk, de ha a szokásos 21-es portot használja, akkor nem kell.

 

 

Amint láthatjuk a könyvtárakat, fa szerkezetben kapjuk meg, mind a 2 oldalon. Tehát ha fel szeretnénk tölteni valamit, akkor a bal oldalon lévő fájlt/könyvtárat csak húzzuk át jobb oldalra, abba a mappába, ahova szeretnénk elhelyezni. A feltöltést úgyis elkezdhetjük, hogy jobb oldalon megnyitjuk azt a mappát ahova szeretnénk elhelyezni a fájlt, és utána csak kettőt kattintunk a fájlra, aminek a feltöltését el is kezdi a megadott helyre. A feltöltés folyamatáról tájékozódhatunk a lent látható “Várólista” menüpont alatt. Ha valami sikertelen volt, akkor azt a “Sikertelen átvitelek” menüpont alatt láthatjuk, ami viszont befejeződött, azt a mellette található “Sikeres átvitelek” menüpont alatt találhatjuk. Amennyiben sikertelen volt valami, megtehetjük azt, hogy újra letöltésre kényszerítjük. Ha újra letöltésre/feltöltésre szeretnénk tenni valamit, akkor kövessük az alábbi folyamatot:

  1. Sikertelen átvitelek menüpontba lépjünk be
  2. Válasszuk ki a fájlokat, amikkel újra dolgozni szeretnénk
  3. A kiválasztott fájlokra nyomjunk egy jobb gombot
  4. Az előugró menüből válasszuk ki az alábbi pontot: “Kijelölt elemek állapotának törlése és újbóli várólistába helyezése”

A letöltés ugyan úgy működik mint az előbb leírt feltöltéssel kapcsolatban, csak éppen jobb oldalról, balra dolgozunk.

Mivel a gyors kapcsolódáshoz írtuk be a kiszolgálóhoz való kapcsolatfelvétel adatait, ezért az tárolódik a  programban, amíg ki nem töröljük. A kapcsolódási előzményeket megtekinthetjük/használhatjuk és törölhetjük, a “Kapcsolódás” gomb mellett lévő lefele mutató nyílra kattintva.


FTP Szerver használata

Első lépésben meg kell adni, hogy a FileZilla milyen porton kereszül kommunikáljon. Én a normál 21-es FTP porton hagytam, nem ez a legbiztonságosabb megoldás, de legalább az url hivatkozásoknál később nem kell majd megadni a port számát. Ha valaki mégis szeretné megváltoztatni, akkor érdemes az 1024-65536 közötti tartományból választani.

 Ha szeretnénk azt, hogy az FTP szerverünk elérhető legyen bármilyen böngészőből, külön FTP kliens nélkül, akkor meg kell adnunk a passzív mód beállításait is. A legegyszerűbb, ha a szolgáltatótól kapott IP címünk felismeréséhez a FileZilla saját szerverét használjuk. Meg kell adnunk azt a port-tartományt is, amin keresztül passzív módban a géünkhöz kapcsolódhatnak. Itt nem érdemes túl nagy tartományt megadni, mert később ezeket a portokat egyenként engedélyeznünk kell a Windows tűzfalán, ami elég macerás munka. Egy otthoni szervernél valószínűleg nem kell ezres méretekben gondolkozni.

 Ha ezzel megvagyunk, már csak a felhasználókat kell létrehozni, és megadni azokat a könyvtárakat, amikhez hozzáférhetnek a gépünkön. Nem akartam túlbonyolítani a dolgot, semmilyen titkos információt nem tárolok a gépemen, ezért egy weboldalhoz hasonló, nyilvános hozzáférést engedélyeztem. Ehhez egy anonymous nevű felhasználót hoztam létre, jelszó nélkül.

 

A könyvtár hozzárendelése az anonymous felhasználóhoz a Shared folders menüben:

A Speed Limits-nél megadhatjuk, hogy milyen sávszélességet engedélyezünk az FTP szerverhez. Legtöbbször érdemes szabni egy határt.