FTP-kiszolgáló konfigurálása felhasználói elkülönítéssel Windows Server 2016/2012 R2 rendszeren
Az FTP protokoll az egyik legrégebbi protokoll (több mint 40 éves), de még mindig széles körben használják ott, ahol egyszerű fájlátviteli protokollra van szükség. Lehetőség van FTP-kiszolgáló telepítésére a Microsoft operációs rendszer bármely verziójára. Az ftp szolgáltatás utolsó mélyreható modernizálása a Windows 7/Server 2008 R2 rendszerben történt (valójában a szolgáltatás kódját szinte a semmiből írták). A szolgáltatás biztonsága jelentősen javult, és számos új funkció jelent meg. A Windows FTP-kiszolgálója különösen lehetővé teszi az FTP-felhasználói elkülönítés konfigurálását. Lehetővé teszi számos felhasználó hozzáférésének korlátozását saját mappáihoz egyetlen FTP-kiszolgálón.
Az elszigeteltség miatt a felhasználók csak a mappáikkal dolgozhatnak, és nem léphetnek fel az FTP-könyvtárfába (a felhasználó legfelső ftp szintű könyvtára jelenik meg az FTP-kiszolgáló gyökérként). Így az FTP szerveren lévő többi felhasználó adataihoz való hozzáférés megakadályozható. Az FTP-felhasználók elkülönítését az internetszolgáltatók/tárhelyszolgáltatók széles körben alkalmazzák, amikor a különböző felhasználók számára egyedi hozzáférést kell biztosítani egyetlen fájltárolóhoz.
A korábbi Windows-verziókhoz hasonlóan a Windows Server 2016/2012 R2 FTP-szolgáltatása (ne keverje össze az sFTP-vel és a TFTP-vel) az IIS-szolgáltatáson alapul, és mélyen integrálva van az IIS-szolgáltatásba, és egyetlen adminisztratív felügyeleti felülettel rendelkezik.
Ebben a cikkben bemutatjuk, hogyan telepíthet IIS-alapú FTP-kiszolgálót Windows Server 2016/2012 R2 rendszeren, és hogyan konfigurálhatja az FTP-felhasználói elkülönítést (ez a kézikönyv a Windows 10 és 8.1 rendszerre is vonatkozik).
Hogyan telepíthető az FTP-kiszolgáló szerepkör Windows Server 2016/2012 R2 rendszeren?
Az FTP-szolgáltatást a Szerverkezelő konzol segítségével telepítheti, ha bejelöli az FTP-szolgáltatás és az FTP-bővíthetőség lehetőséget a Webszerver (IIS) -> FTP-szerver részben.
Az FTP-kiszolgálói szerepkört egyetlen PowerShell-paranccsal is telepítheti:
Install-WindowsFeature Web-FTP-ServerAz FTP-kiszolgáló felügyeleti konzoljának telepítéséhez futtassa a következő parancsot:
Install-WindowsFeature -Name "Web-Mgmt-Console"FTP webhely létrehozása, FTP felhasználói engedélyek kezelése
Indítsa el a Kiszolgálókezelőt, és nyissa meg az IIS felügyeleti konzolt (Internet Information Service Manager).
Hozzon létre egy új FTP-webhelyet (Webhelyek -> FTP-webhely hozzáadása).
Az FTP-webhely neve: MyTestSite
Az FTP webhely gyökérkönyvtára: C:\inetpub tproot
A hálózaton keresztül továbbított FTP adatok védelmére lehetőség van az FTPS/SSL FTP-re való konfigurálására (ebben az esetben az ftp felhasználók által a munkamenet során küldött összes adat és jelszó/fiók titkosítva lesz), de bemutatónkban ez nem szükséges. Az összes többi beállítás alapértelmezett marad.
FTP-webhelyét a PowerShell WebAdministration moduljával kezelheti. Például egy új FTP webhely létrehozásához futtassa a parancsokat:
Import-Module WebAdministration
# Set the FTP site name
$FTPSiteName = 'CORP_FTP'
#FTP folder
$FTPRoot = 'D:\www\FTPRoot'
#FTP port
$FTPPort = 21
New-WebFtpSite -Name $FTPSiteName -PhysicalPath $FTPRoot -Port $FTPPortVálasszon ki egy új FTP-webhelyet, és tiltsa le az Anonymous Authentication funkciót azFTP-hitelesítés szakaszban. Azalapszintű hitelesítéstengedélyezni kell.
A Windows Server 2016/2012 R2 FTP-szolgáltatása két fióktípust használhat: tartományi vagy helyi. A fiók típusától függően eltérések mutatkoznak az FTP-könyvtárak felépítésében és a felhasználói elkülönítési beállításokban. Az egyszerűbb leírás érdekében helyi Windows-fiókokat fogunk használni.
Tegyük fel, hogy hozzon létre néhány FTP-felhasználót, ezek az ftp_user1, ftp_user2 és ftp_user3. Hozzon létre egy ftp_users csoportot is, amely tartalmazza ezeket a felhasználókat. Helyi felhasználókat a Számítógép-kezelés konzol Helyi felhasználók és csoportok szakaszában hozhat létre.
Helyi felhasználókat és csoportokat is létrehozhat a parancssorból (vagy a PowerShell használatával). Helyi csoport létrehozása:
net localgroup ftp_users /add
Hozzon létre egy új helyi felhasználót:
net user ftp_user1 /add *Felhasználó hozzáadása a csoporthoz:
net localgroup ftp_users ftp_user1 /addUgyanígy hozza létre a másik két felhasználót.
Rendelje hozzá az olvasási és írási jogosultságokat a C:\inetpub tproot könyvtárban az ftp_users csoporthoz.
Hozzon létre egy könyvtárat LocalUser névvel (a névnek meg kell egyeznie, ez fontos!!!) a C:\inetpub tproot mappában. Ezután hozzon létre három könyvtárat ftp_user1, ftp_user2, ftp_user3 néven a C:\inetpub tproot\LocalUser mappába.
Megjegyzés. A fiók típusától függően a következő könyvtárstruktúrákat kell létrehoznia (a %FtpRoot%\ alatt az FTP webhely gyökerét értjük; esetünkben ez C:\inetpub tproot\):
| Account Type | Syntax of Home Directory Naming |
| Anonymous users | %FtpRoot%\LocalUser\Public |
| Local Windows account | %FtpRoot%\LocalUser\%UserName% |
| Domain Windows account | %FtpRoot%\%UserDomain%\%UserName% |
| Special IIS Manager or ASP.NET accounts | %FtpRoot%\LocalUser\%UserName% |
Térjen vissza az IIS konzolhoz, és hozzon létre egy új szabályt (Add AllowRules) a webhely FTP engedélyezési szabályai részében. Adja meg, hogy az ftp_users csoportnak olvasási és írási jogosultsággal kell rendelkeznie.
Hogyan konfigurálható az FTP-felhasználói elkülönítés a Windows Server 2016/2012 R2 rendszeren?
Térjünk át az FTP-felhasználói elkülönítés konfigurálására. Az FTP-felhasználók elkülönítése az FTP-hely szintjén van konfigurálva, nem a teljes szerver szintjén. Az FTP-felhasználók elkülönítése lehetővé teszi az ftp-home mappák rendszerezését minden felhasználó számára.
Nyissa meg az FTP-felhasználó elkülönítése lehetőséget az FTP-webhely beállításaiban.
Ez a rész több beállítást tartalmaz. Az első kettő nem javasolja a felhasználó elkülönítését:
FTP gyökérkönyvtár (a felhasználó FTP-munkamenete az FTP-hely gyökérkönyvtárában indul);
Felhasználónév-könyvtár (a felhasználó fizikai/virtuális könyvtárral kezdődik a felhasználónévvel. Ha a könyvtár hiányzik, egy munkamenet indul a webhely gyökér FTP-könyvtárában).
A következő három lehetőség a felhasználó elkülönítésének különböző módjai:
A Felhasználónév-könyvtár (a globális virtuális könyvtárak letiltása) azt sugallja, hogy a felhasználó ftp-munkamenete egy olyan fizikai/virtuális könyvtárban van elkülönítve, amelynek neve megegyezik az ftp-felhasználóéval. A felhasználók csak a saját könyvtárukat látják (ez a gyökér ftp-könyvtáruk), és nem léphetnek túl azon (az FTP-fa felső könyvtárába). A globális virtuális könyvtárakat figyelmen kívül hagyja;
A Felhasználónév fizikai könyvtára (globális virtuális könyvtárak engedélyezése) azt sugallja, hogy a felhasználó ftp-munkamenete egy olyan fizikai könyvtárban van elszigetelve, amelynek neve megegyezik az ftp felhasználói fiók nevével. A felhasználó nem léphet a könyvtára fölé. Azonban az összes létrehozott globális virtuális címtár elérhető a felhasználó számára;
Az Active Directoryban konfigurált FTP-főkönyvtár - az FTP-felhasználó az Active Directory-fiókja beállításaiban (FTPRoot és FTPDir tulajdonságok) meghatározott saját könyvtárában van elkülönítve.
Fontos. Ha a globális virtuális könyvtárak aktívak, minden felhasználó hozzáférhet az FTP-hely gyökerében beállított összes virtuális könyvtárhoz (ha rendelkezik a megfelelő NTFS-engedéllyel).
Válassza ki a kívánt elkülönítési módot (én a második lehetőséget használom az ftp felhasználók elkülönítésére).
Célszerű újraindítani a Microsoft FTP szolgáltatást (FTPSVC) az FTP webhely beállításainak módosításával.
Windows tűzfalszabályok konfigurálása az FTP-kiszolgáló eléréséhez
Az FTP-kiszolgálói szerepkör telepítésekor a Windows tűzfal beállításaiban minden szükséges szabály automatikusan aktiválódik a Windows tűzfal beállításaiban.
Ahhoz, hogy az FTP megfelelően működjön passzív FTP módban, a felhasználóknak csatlakozniuk kell az RPC porttartományhoz (1025-65535). Annak érdekében, hogy ne nyissa meg ezeket a portokat egy külső tűzfalon, korlátozhatja az FTP-adatátvitelhez használt dinamikus TCP-portok tartományát.
Nyissa meg az FTP tűzfal támogatása részt az FTP webhely beállításaiban, és az Adatcsatorna porttartománya mezőben adja meg az FTP-kapcsolatokhoz használni kívánt porttartományt. Például - 50000-50100;
Mentse el a változtatásokat és indítsa újra az IIS-t (
iisreset);
Nyissa meg a Windows Vezérlőpultját, és lépjen a Vezérlőpult\Rendszer és biztonság\Windows tűzfal\Engedélyezett alkalmazások elemre;
Győződjön meg arról, hogy a tűzfalon keresztül hozzáféréssel rendelkező alkalmazások listája tartalmazza az FTP-kiszolgáló szerepkör engedélyeit.
Ezután ellenőrizze, hogy a következő szabályok engedélyezve vannak-e a Windows Firewall with Advanced Security beállításaiban:
FTP szerver (FTP Traffic-In) - TCP protokoll, 21-es port;
FTP Server Passive (FTP Passive Traffic-In) - helyi portcím 1024-65535 (esetünkben 50000-50100);
FTP Server Secure (FTP SSL Traffic-In) - 990-es port (ha FTP-t SSL-lel használunk);
FTP szerver (FTP Traffic-Out) - 20-as port;
FTP Server Secure (FTP SSL Traffic-Out) - 989-es port (ha FTP-t SSL-lel használunk).
Ennek megfelelően ezeket a portokat meg kell nyitni az útválasztón (átjárón, tűzfalon), hogy külső FTP-felhasználók csatlakozhassanak webhelyéhez.
FTP-kiszolgáló kapcsolat tesztelése Windows rendszerből
Az FTP-kiszolgáló portjainak elérhetőségét a Test-NetConnection parancsmag segítségével ellenőrizheti:
Test-NetConnection -ComputerName yourftpservername -Port 21Vagy használja az ftp parancsot:
ftp yourftpservernamePróbáljon meg bármilyen FTP-klienssel vagy közvetlenül a Fájlkezelővel csatlakozni FTP-webhelyéhez (adja meg az ftp://szervernév/ paramétert a címsorban).
Adja meg a felhasználónevet és a jelszót.
És most hozzáférhet a felhasználó fájljait tartalmazó kezdőkönyvtárhoz (amely a felhasználó FTP-oldalának gyökere). Amint látjuk, a felhasználói munkamenet elszigetelt, és a felhasználó csak a fájljait látja az ftp szerveren.
Tipp. Ha névtelen hozzáférést szeretne használni (Minden névtelen felhasználó), akkor bármely felhasználó csatlakozhat az FTP-kiszolgálóhoz a következő hitelesítési adatokkal: anonymous vagy vendég felhasználónévként és e-mail címe jelszóként. Ha névtelenül csatlakozik egy FTP-oldalhoz, a munkamenet a LocalUser\Public könyvtárra korlátozódik (nyilvánvaló, hogy a nyilvános könyvtárat előre létre kell hozni).
Az FTP-naplók segítségével megtekintheti az FTP-kiszolgálóhoz való felhasználói hozzáféréssel kapcsolatos információkat. A naplófájlok alapértelmezés szerint a c:\inetpub\logs\logfiles mappában vannak tárolva az u_exYYMMDD.log fájlokban.
Az FTP-kiszolgálóhoz fűződő aktív felhasználói kapcsolatok megtekintéséhez használhatja az IIS-teljesítményszámlálók értékeit a PowerShell-en vagy az IIS-konzol „Jelenlegi FTP-munkamenetek” szakaszában. Ezen a konzolon megtekintheti az FTP-felhasználók nevét és IP-címét, és szükség esetén leválaszthatja az ftp-munkamenetet.
Tehát megvizsgáltuk, hogyan konfigurálhatunk egy FTP-helyet a Windows Server 2016/2012 R2 rendszeren alapuló felhasználói elkülönítéssel. Az elkülönített módban a felhasználók hitelesítése FTP-n történik a helyi vagy tartományi hitelesítő adataik segítségével, hogy hozzáférjenek a felhasználónévnek megfelelő gyökérkönyvtárukhoz.



















