Az FTP (File Transfer Protocol) egy szabványosított hálózati protokoll, amelyet fájlok átvitelére használnak internetes vagy helyi hálózatokon keresztül. Az FTP lehetővé teszi fájlok feltöltését és letöltését egy szerverre vagy onnan, valamint könyvtárak listázását, létrehozását és törlését a távoli szerveren.
Az FTP két fő üzemmódot különböztet meg:
- Aktív mód: Ebben az üzemmódban az FTP-kliens nyit meg egy véletlenszerű, magas portszámú kapcsolatot a szerver felé, és utasítja a szervert, hogy csatlakozzon ehhez a portszámhoz az adatátvitelhez. Ez biztonsági problémákat okozhat, mivel a tűzfalaknak és NAT-oknak engedélyezniük kell a bejövő kapcsolatokat a dinamikusan kiválasztott portokon.
- Passzív mód: A passzív mód úgy oldja meg az aktív mód biztonsági aggályait, hogy a szerver közli egy dinamikusan kiválasztott portszámot az FTP-klienssel, amelyhez a kliens csatlakozik az adatátvitelhez. Ez könnyebbé teszi a tűzfalak és NAT eszközök konfigurálását.
Az FTP használatához általában egy FTP-kliens szoftverre van szükség, amely csatlakozik az FTP-szerverhez. Az azonosításhoz felhasználónév és jelszó szükséges, bár néhány szerver anonim hozzáférést is engedélyez, ahol a felhasználónév általában „anonymous”, és a jelszó a felhasználó e-mail címe.
Habár az FTP egy régóta létező és széles körben használt protokoll, biztonsági hiányosságai miatt (például az adatok titkosításának hiánya) sokan áttértek biztonságosabb alternatívákra, mint az SFTP (SSH File Transfer Protocol) vagy az FTPS (FTP Secure), amelyek titkosítást használnak az adatok védelmére.