Az FTP fogalma

Az FTP, azaz a File Transfer Protocol egy állományátvitelre szolgáló szabvány. FTP azonosító és jelszó birtokában vagy speciális Anonymous (névtelen – nem igényel felhasználónevet és jelszót) kapcsolat beállítását követően távoli szerverek tartalmát menedzselhetjük azon keresztül.

Az FTP használata igen egyszerű módja annak, hogy a felhasználónévvel és jelszóval védett mappához távolról hozzá tudjunk férni és fájlokat tudjunk feltölteni, letölteni, módosítani, törölni.

Hogyan működik az FTP?


Az FTP az átvitelre két külön csatornát alkalmaz. Ezek közül az első a parancs-csatorna, amely a 20-as porton kommunikál és amelyet mindig a kliens épít fel a szerver felé az FTP kapcsolat megnyitásakor. Ezen keresztül fogja a kéréseket küldeni, illetve a kérésekre adott állapotkódokat és hibaüzeneteket visszaküldeni. Párhuzamosan a fájlok átvitelére egy új adat csatornát nyit a 21-es porton, amelyen keresztül az adatmozgatást végzi. A szerver minden egyes fájl átviteléhez külön adat-csatornát nyit, amelyet annak befejeztével mindig le is zár. Fontos , hogy amennyiben nagy sebességű internettel rendelkezik és nagyszámú fájlokat mozgat, úgy egyes tűzfalak a gyors és sok kapcsolatnyitást támadásnak érzékelheti. Ezért javasoljuk, hogy olyan klienst használjanak, amely alkalmas a kapcsolatok számának maghatározására.

Hacsak az FTP-kiszolgálót másképp nem konfigurálja, a parancscsatornát általában úgy állítja be, hogy a 21-es FTP-portot használja szerver oldalon. Az adatcsatornához használt FTP-port viszont eltérhet attól függően, hogy milyen adatátviteli módot választ. Ha aktív módot választ, akkor az adatcsatorna általában a 20-as FTP-port lesz. Ha azonban passzív módot választ, akkor a használt port egy véletlenszerű port lesz.

FTP Aktív Mód


A két csatlakozási mód közül az aktív mód a régebbi. Az aktív FTP-t a számítástechnika korai időszakában vezették be, amikor a mainframe-ek még elterjedtebbek voltak, és az információbiztonságot érő támadások nem voltak annyira elterjedtek.

Az alábbiakban két lépésben összefoglalva leegyszerűsítve ismertetjük, hogyan történik az aktív módú kapcsolat. Néhány lényeges lépés (pl. ACK-válasz) az egyszerűsítés érdekében kimaradt.

  • Egy felhasználó egy fájlátviteli kliens egy tetszőleges portjáról csatlakozik a kiszolgáló 21-es FTP-portjára. Elküldi a PORT parancsot, megadva, hogy a kiszolgáló milyen kliensoldali portra csatlakozzon. Ez a port később az adatcsatornához lesz használva, és különbözik a parancscsatornához ebben a lépésben használt porttól.
  • A kiszolgáló a 20-as portról csatlakozik az adatcsatornához kijelölt kliensportra. Miután az adatkapcsolat létrejött, a fájlátvitel ezeken az kliens- és kiszolgálóportokon keresztül történik.

FTP Passzív Mód


Passzív módban a kliens továbbra is parancscsatornát (vezérlő kapcsolatot) nyit a kiszolgáló irányába. A PORT parancs elküldése helyett azonban a PASV parancsot küldi, amely alapvetően egy olyan szerverport iránti kérelem, amelyhez adatátvitel céljából csatlakozni kíván. Amikor az FTP-kiszolgáló válaszol, jelzi, hogy milyen adatport számot nyitott meg a következő adatátvitelhez.

Röviden így működik a passzív mód:

  • Az ügyfél egy tetszőleges portról csatlakozik a szerver 21-es portjára, és kiadja a PASV parancsot. A kiszolgáló válaszol, és jelzi, hogy melyik (véletlenszerű) portot nyitotta meg az adatátvitelhez.
  • Az ügyfél egy másik véletlenszerű portról csatlakozik a szerver válaszában megadott véletlenszerű portra. A kapcsolat létrejötte után az adatátvitel ezeken az kliens- és kiszolgálóportokon keresztül történik.