Tartalom:
- Bevezető
- Az Alapokat
- Aktív FTP
- Aktív FTP Példa
- Passzív FTP
- Passzív FTP Példa
- Egyéb Megjegyzések
- Összefoglalás
- 1. Függelék: Konfigurációs Közös FTP Szerverek
- 2. Függelék: Tűzfal Konfigurációs Útmutató
Bevezető
az Egyik leggyakrabban látott kérdések kezelése során a tűzfal című pontját Internet kapcsolódási problémák a különbség betweenactive, mind a passzív FTP, illetve hogyan lehet a legjobban támogatni vagy mindkettőt., Remélhetőleg a következő szöveg segít tisztázni néhányatkonfúzió arról, hogyan támogathatja az FTP-t tűzfalú környezetben.
lehet, hogy ez nem a végleges magyarázat, ahogy a cím állítja, azonban elég jó visszajelzést hallottam, és láttam, hogy ez a dokumentum elegendő helyen kapcsolódik ahhoz, hogy tudja, hogy jó néhány ember hasznosnak találta. Én mindig keresi a módját, hogy javítsa a dolgokat, bár, ha talál valamit, ami nem teljesen világos, vagy szüksége van több magyarázatot, kérem tudassa velem!, A dokumentum legutóbbi kiegészítései Tartalmazzák mind az aktív, mind a passzív parancssori FTP-munkamenetek példáit. Ezeknek az üléspéldáknak segíteniük kell a dolgokat egy kicsit világosabbá tenni. Azt is, hogy egy szép képet, hogy mi folyik a színfalak mögött egy FTP munkamenet során. Most, tovább az információhoz…
az alapok
az FTP kizárólag TCP alapú szolgáltatás. Nincs UDP komponens toFTP. Az FTP szokatlan szolgáltatás, mivel két portot, egy “adat” portot és egy “parancs” portot (más néven vezérlő portot) használ., Hagyományosan ezek a 21-es portok a parancsnoki porthoz és a 20-as port a dataporthoz. A zűrzavar azonban akkor kezdődik, amikor azt találjuk, hogy attól függőenmód, az adatport nem mindig a 20-as porton van.
aktív FTP
aktív módban FTP az ügyfél véletlenszerű unprivilegedportból (N > 1023) csatlakozik az FTP-kiszolgáló parancsportjához, a 21-es porthoz. Ezután a kliens elkezdi hallgatni az N + 1 portot, majd elküldi az FTP parancsot PORTN+1
az FTP szerverre., A szerver ezután visszakapcsolódik akliens megadott adatportjához a helyi adatportból, amely a 20.port.,21-port > 1023 (Szerver válaszol toclient vezérlő port)
Ha a húzott ki a kapcsolat jelenik meg, a következőképpen:
PORT 1027
., A kiszolgáló ezután az anack-ot visszaküldi az ügyfél parancsportjába a 2. lépésben. A 3. lépésben a kiszolgáló megkezdi a kapcsolatot a helyi adatportján az ügyfél által korábban megadott adatporthoz. Végül az ügyfél visszaküldi az ACK-t, amint az a 4. lépésben látható.
az aktív módú FTP fő problémája valójában az ügyféloldalra esik. Az FTP kliens nem hozza létre a tényleges kapcsolatot a szerver adatportjával-egyszerűen megmondja a kiszolgálónak, hogy melyik portot hallgatja, ésa szerver visszakapcsolódik az ügyfél megadott portjához., A kliensoldali tűzfalból úgy tűnik, hogy ez egy külső rendszer, amely aconnection-t kezdeményez egy belső klienshez-valami, ami általában blokkolva van.
aktív FTP példa
Az alábbiakban egy aktív FTP-munkamenet tényleges példája látható. Az egyetlen dolog, hogy megváltozott a szerver nevét, IP-címét, és a felhasználónevek. Ebben a példában egy FTP-munkamenet indul testbox1.slacksite.com (192.168.150.80), egy linux doboz fut a szabványos FTP parancssori kliens, hogy testbox2.slacksite.com (192.168.150.90), egy ProFTPd 1.2.2rc2-t futtató linux doboz., A hibakeresést (-d
) az FTP kliens használja, hogy megmutassa, mi folyik a színfalak mögött. Minden piros a hibakeresési kimenet, amely megmutatja a kiszolgálóra küldött tényleges FTP parancsokat, valamint az ezekből a parancsokból származó válaszokat. A normál szerver kimenete fekete, a felhasználói bemenet félkövér.
van néhány érdekes dolog, hogy fontolja meg ezt a párbeszédablakot. Vegye figyelembe, hogy amikor a PORT
parancsot kiadják, a kiszolgáló helyett egy portot ad meg az ügyfél (192.168.150.80) rendszeren., Látni fogjuk az ellenkező viselkedést, amikor passzív FTP-t használunk. Amíg a témában vagyunk, egy gyors megjegyzés a PORT
parancs formátumáról. Mint látható az alábbi példában van formázva, mint egy sor hat szám vesszővel elválasztva. Az első négy oktett az IP-cím, Míg az utolsó két oktett az adatkapcsolathoz használt portot tartalmazza. A tényleges port megkereséséhez szorozza meg az ötödik oktettet 256-tal, majd adja hozzá a hatodik oktettet a teljes értékhez. Így az alábbi példában a port száma ( (14*256) + 178), vagy 3762., A netstat
gyors ellenőrzésnek meg kell erősítenie ezt az információt.
passzív FTP
a kapcsolatot kezdeményező kiszolgáló problémájának megoldása érdekébenaz ügyfél számára egy másik módszert fejlesztettek ki az FTP-kapcsolatok számára. Ezt passzív módként ismerték, vagy PASV
, a theclient által használt parancs után, hogy elmondja a kiszolgálónak, hogy passzív módban van.
passzív módban FTP az ügyfél mindkét kapcsolatot kezdeményezi a kiszolgálóval, megoldva a tűzfalak problémáját, szűrve a bejövő adatportkapcsolatot az ügyfélhez a kiszolgálóról., FTP-kapcsolat megnyitásakor az Ügyfél két véletlenszerű, nem védett portot nyit meg helyben (N > 1023 andN+1). Az első port a 21-es porton lép kapcsolatba a kiszolgálóval, de ahelyett, hogy a PORT
parancsot adná ki, és lehetővé tenné a szerver számára, hogy az adatporthoz csatlakozzon, az ügyfél kiadja a PASV
parancsot. Ennek az az eredménye, hogy a szerver ezután megnyit egy randomunprivileged portot (P > 1023), és elküldi a P
vissza az ügyfélnek a PASV
parancsra válaszul., Az ügyfél ezután kezdeményezi a kapcsolatot a portN+1-ről a P portra a kiszolgálón az adatok továbbításához.,ügyfél’scontrol port)
Ha rajzolt, passzív módú FTP kapcsolat néz ki:
PASV
parancs., A szerver ezután a 2.lépésben válaszol aPORT 2024
segítségével, megadva az ügyfélnek, hogy melyik portot hallgatjaaz adatkapcsolathoz. A 3. lépésben az ügyfél ezután kezdeményezi az adatcsatlakozást az adatportról a megadott szerver adatportra. Végül a szerver egy ACK-t küld vissza a 4. lépésben az ügyfél adatportjára.
míg a passzív mód FTP számos problémát megold a kliens oldalról, a szerver oldalon számos problémát nyit meg. A biggestissue az, hogy lehetővé kell tenni a távoli kapcsolatot a nagy számozott portokkalaszerver., Szerencsére sok FTP démon, köztük a népszerű WU-Ftplehetővé teszi az adminisztrátor számára, hogy meghatározza az FTP kiszolgáló által használt portok körét. További információért lásd az 1. függeléket.
a második probléma a passzív módot támogató (vagy nem támogató) kliensek támogatása és hibaelhárítása. Példaként, thecommand line FTP segédprogram mellékelt Solaris nem támogatja passivemode, szükségessé egy harmadik fél FTP kliens, mint például ncftp.
Megjegyzés: Ez már nem így van-használja a -p
opciót a Solaris FTP kliens toenable passzív módban!,
a World Wide Web hatalmas népszerűségével sokan inkább a webböngészőt használják FTP kliensként. A legtöbb böngésző csak támogatjapasszív mód az ftp:// URL-ek elérésekor. Ez lehet jó vagy rossz attól függően, hogy a szerverek és a tűzfalak hogyan vannak beállítva a támogatáshoz.
passzív FTP példa
Az alábbiakban egy passzív FTP-munkamenet tényleges példája látható. Az egyetlen dolog, hogy megváltozott a szerver nevét, IP-címét, és a felhasználónevek. Ebben a példában egy FTP-munkamenet indul testbox1.slacksite.com (192.168.150.,80), egy linux doboz fut a szabványos FTP parancssori kliens, hogy testbox2.slacksite.com (192.168.150.90), egy ProFTPd 1.2.2rc2-t futtató linux doboz. A hibakeresést (-d
) az FTP kliens használja, hogy megmutassa, mi folyik a színfalak mögött. Minden piros a hibakeresési kimenet, amely megmutatja a kiszolgálóra küldött tényleges FTP parancsokat, valamint az ezekből a parancsokból származó válaszokat. A normál szerver kimenete fekete, a felhasználói bemenet félkövér.,
ebben a példában vegye figyelembe aPORT
parancs különbségét, szemben az aktív FTP példával. Itt egy portot látunk megnyitni a szerveren (192.168.150.90) rendszer, nem pedig az ügyfél. Lásd a fenti PORT
parancs formátumáról szóló vitát az aktív FTP példa szakaszban.,
egyéb megjegyzések
egy olvasó, Maarten Sjouw rámutatott, hogy az aktív FTP nem fog működni, ha egy kliens oldali NAT (hálózati címfordítás) eszközzel együtt használják, amely nem elég okos ahhoz, hogy megváltoztassa az IP-címinformációkat az FTP csomagokban.
Összefoglalás
A következő táblázat segít adminok ne feledje, hogy az egyes FTP módban működik:
Active FTP : command : client >1023 -> server 21 data : client >1023 1023 -> server 21 data : client >1024 -> server >1023
Egy gyors összefoglaló a pros and cons aktív vs passzív FTP is annak érdekében, hogy:
Aktív FTP előnyös, hogy az FTP szerver admin, de káros a kliens oldalon admin., Az FTP-kiszolgáló megkísérel kapcsolatokat létesíteni az ügyfél véletlenszerű magas portjaival, amelyeket szinte biztosan blokkolna az ügyfél oldalán lévő tűzfal. A passzív FTP előnyös az ügyfél számára,de káros az FTP szerver adminisztrátorára. Az ügyfél mindkét kapcsolatot a szerverrel hozza létre, de egyikük egy véletlenszerű magas portra kerül, amelyet szinte biztosan blokkolna a szerver oldalán lévő tűzfal.
szerencsére van némi kompromisszum., Mivel az FTP-kiszolgálókat futtató rendszergazdáknak hozzáférhetővé kell tenniük szervereiket a legtöbb ügyfél számára, szinte biztosan támogatniuk kell a passzív FTP-t. A magas szintű portok expozíciója a kiszolgálón minimalizálható egy korlátozott porttartomány megadásával az FTP-kiszolgáló használatához. Így minden, kivéve ezt a porttartományt, firewalled lehet a szerver oldalon. Bár ez nem szünteti meg a szerver összes kockázatát, rendkívül csökkenti. További információért lásd az 1. függeléket.,
kiváló utalás arra, hogy a különböző internetes protokollok hogyan működnek, valamint a tűzfalakkal kapcsolatos kérdések megtalálhatók az O ‘ Reilly andAssociates book, Building Internet Firewalls, 2nd Ed, by BrentChapman and Elizabeth Zwicky.
Megjegyzés 2012: Ez a könyv nagyon régi, és az abban szereplő információk elavultak lehetnek!