Konfiguriranje strežnika FTP z izolacijo uporabnika v sistemu Windows Server 2016/2012 R2

Čeprav protokol FTP, eden najstarejših protokolov, dopolnil je že 40 let in se še naprej uporablja povsod, kjer je potreben preprost protokol za prenos datotek. Strežnik FTP je mogoče namestiti v vse Microsoftove operacijske sisteme. Zadnja globoka posodobitev te storitve je bila narejena v sistemu Windows 7 / Server 2008 R2 (v resnici je bila koda storitve ponovno napisana). Varnost storitve je bila bistveno izboljšana in pojavile so se številne nove funkcije. Zlasti na strežniku FTP v operacijskem sistemu Windows je bilo mogoče konfigurirati izolacija FTP uporabnikov, ki omogočajo različen dostop več uporabnikov do lastnih map na enem FTP strežniku.

Zaradi funkcije izolacije lahko uporabniki delajo samo s svojimi ftp imeniki in se ne morejo povzpeti višje v drevesu imenikov, ker Uporabnikov imenik na najvišji ravni se mu zdi koren storitve FTP. Tako lahko uporabnikom preprečite dostop do datotek drugih ljudi na strežniku FTP. Izolacija FTP uporabnikov široko uporablja ponudnike gostovanja, kadar je treba posameznim uporabnikom omogočiti dostop do enega prostora za shranjevanje datotek.

Kot v prejšnjih različicah sistema Windows je storitev FTP (ne zamenjujte s sFTP in TFTP) v sistemu Windows Server 2016/2012 R2 zasnovana in globoko integrirana v storitev IIS in ima en sam skrbniški vmesnik za upravljanje. V tem članku bomo pokazali, kako namestite strežnik FTP temelji na IIS v oknih Strežnik 2016/2012 R2 in konfigurirajte izolacijo uporabnika na njej (Navodila veljajo tudi za Windows 10 / 8.1).

Vsebina:

  • Namestitev vloge strežnika FTP v sistemu Windows Server 2016/2012 R2
  • Nastavitev spletnega mesta FTP v operacijskem sistemu Windows Server, dodeljevanje pravic uporabnikom
  • Konfigurirajte FTP izolacijo uporabnika v sistemu Windows Server 2016/2012 R2
  • Konfigurirajte pravila požarnega zidu Windows za dostop do strežnika FTP
  • Preverjanje povezave s strežnikom FTP s odjemalca Windows

Namestitev vloge strežnika FTP v sistemu Windows Server 2016/2012 R2

Storitev FTP lahko namestite prek konzole Upravitelja strežnikov, vendar v razdelku Spletni strežnik (IIS) -> FTP strežnik možnosti FTP storitev in Razširljivost FTP.

Vlogo strežnika FTP lahko namestite tudi z enim ukazom PowerShell:
Namestite-WindowsFeature Web-FTP-Server

Če želite namestiti konzolo za upravljanje strežnika FTP, zaženite ukaz:

Namestite-WindowsFeature -Name "Web-Mgmt-Console"

Nastavitev spletnega mesta FTP v operacijskem sistemu Windows Server, dodeljevanje pravic uporabnikom

Zaženite Upravitelja strežnikov in odprite konzolo za upravljanje Internet Information Service Manager (IIS).

Ustvari novo spletno mesto FTP (Spletna mesta -> Dodaj FTP Spletna stran).

Ime spletnega mesta FTP: MyTestSite

Korenski imenik spletnega mesta FTP: C: \ inetpub \ ftproot

Za zaščito podatkov ftp, ki se prenašajo po omrežju, je možno konfigurirati SSL (v tem primeru bodo vsi podatki, ki se pošiljajo prek omrežja, in gesla / računi ftp uporabnikov šifrirani), vendar to v naši predstavitvi ni potrebno. Vse druge nastavitve so privzete..

Svojo spletno mesto FTP lahko upravljate z modulom PowerShell WebAdministration. Na primer, če želite ustvariti novo spletno mesto FTP, samo izvedite naslednje ukaze:

Spletna administracija uvoznega modula
# Nastavite ime spletnega mesta FTP
$ FTPSiteName = 'Novo spletno mesto FTP'
# FTP imenik spletnih mest
$ FTPRoot = 'E: \ www \ FTPRoot'
# Vrata za FTP
$ FTPPort = 21
Novo-WebFtpSite -Name $ FTPSiteName -PhysicalPath $ FTPRoot -Port $ FTPPort

Izberite novo spletno mesto FTP in v razdelku FTP Preverjanje pristnosti (Avtentikacija) onemogoči anonimno preverjanje pristnosti Anonimno overjanje. Osnovna avtentikacija mora biti omogočeno.

Storitev FTP v operacijskem sistemu Windows Server 2016/2012 R2 lahko uporablja dve vrsti računov: domenski ali lokalni. Glede na vrsto računa obstajajo razlike v strukturi imenika FTP in nastavitvah izolacije uporabnika. Uporabili bomo lokalne račune sistema Windows.

Ustvarite uporabnike FTP, na primer, to bodo računi ftp_user1, ftp_user2 in ftp_user3. Ustvarite tudi skupino ftp_users, da te uporabnike vključite v. Uporabnike lahko ustvarite v razdelku Lokalno Uporabniki in Skupine konzolo Računalnik Upravljanje.

Uporabnike in skupine lahko ustvarite tudi iz ukazne vrstice (ali z uporabo PowerShell-a). Ustvari lokalno skupino:
neto localgroup ftp_users / add

Ustvari novega lokalnega uporabnika:

neto uporabnik ftp_user1 / dodaj *

Dodajte uporabnika v skupino:

neto localgroup ftp_users ftp_user1 / add

Ustvarite še dva uporabnika na enak način..

Dodelite ustvarjene pravice skupine ftp_users (RW) v imenik C: \ inetpub \ ftproot.

Znotraj direktorija C: \ inetpub \ ftproot ustvarite imenik z imenom Lokalni uporabnik (ime mora biti popolnoma skladno, to je pomembno!!!) Nato znotraj C: \ inetpub \ ftproot \ LocalUser ustvarite tri imenike z imeni uporabnikov, ki ste jih ustvarili: ftp_user1, ftp_user2, ftp_user3.

Opomba. Glede na vrsto računov morate ustvariti naslednjo strukturo imenika (po% FtpRoot% \ mislimo na koren spletnega mesta FTP, v našem primeru je to C: \ inetpub \ ftproot \):

Vrsta računaDomači imenik Sintaksa poimenovanja
Anonimni uporabniki% FtpRoot% \ LocalUser \ Public
Lokalni račun Windows% FtpRoot% \ LocalUser \% UserName%
Račun Windows domene% FtpRoot% \% UserDomain% \% UserName%
Posebni računi upravitelja IIS ali ASP.NET% FtpRoot% \ LocalUser \% UserName%


Vrnite se na konzolo IIS in v razdelek spletnega mesta Pravila za avtorizacijo FTP ustvarite novo pravilo (Dodaj dovoli pravilo), v katerem je navedeno, da bi morala skupina ftp_users imeti dovoljenja za branje in pisanje (dovoljenja za branje in pisanje).

Konfigurirajte FTP izolacijo uporabnika v sistemu Windows Server 2016/2012 R2

Pojdimo na nastavitev izolacije uporabnika FTP. Izolacija uporabnikov FTP je konfigurirana na ravni spletnega mesta FTP, ne celotnega strežnika, in vam omogoča, da za vsakega uporabnika organizirate svoj domači imenik. V nastavitvah spletnega mesta FTP odprite element FTP Uporabnik Izolacija.

V tem razdelku je več nastavitev. Prva dva ne pomenita izolacije uporabnika:

  • FTP koren imenik (ftp - uporabniška seja se začne s korenskim imenikom spletnega mesta ftp);
  • Uporabnik ime imenik (uporabnik začne s fizičnim / virtualnim imenikom z uporabniškim imenom. Če imenik manjka, seja začne s korenskim imenikom spletnega mesta ftp).

Naslednje 3 možnosti predstavljajo različne načine delovanja izolacije uporabnika:

  • Uporabnik ime imenik (onemogoči globalno virtualne imenike) - predpostavlja, da je uporabniška seja ftp izolirana s fizičnim ali virtualnim imenikom, katerega ime se ujema z uporabniškim imenom ftp Uporabniki vidijo samo svoj lastni imenik (zanje je to korenski imenik) in ga ne morejo preseči (v zgornjem imeniku drevesa FTP). Vsi globalni virtualni imeniki se ne upoštevajo;
  • Uporabnik ime fizični imenik (omogoči globalno navidezno imeniki) - domnevamo, da je uporabniška seja FTP omejena (izolirana) s fizičnim imenikom z imenom uporabniškega računa FTP. Uporabnik ne more iti nad svoj imenik v strukturi FTP. Vendar ima uporabnik dostop do vseh ustvarjenih globalnih virtualnih imenikov;
  • Domači imenik FTP, konfiguriran v Active Directory - Uporabnik FTP je izoliran znotraj svojega domačega imenika, ki je določen v nastavitvah računa Active Directory (lastnosti FTPRoot in FTPDir).
Je pomembno. Če so aktivni globalni virtualni imeniki, lahko vsi uporabniki dostopajo do vseh virtualnih imenikov, ki so konfigurirani v korenu spletnega mesta FTP (z ustreznimi dovoljenji NTFS).

Izberite želeni način izolacije (drugo možnost uporabljam za ftp izolacijo uporabnika).

Pri spremembah nastavitev spletnega mesta FTP v IIS je priporočljivo znova zagnati Microsoftovo storitev FTP (FTPSVC).

Konfigurirajte pravila požarnega zidu Windows za dostop do strežnika FTP

Ko namestite vlogo strežnika FTP v nastavitvah požarnega zidu Windows, se samodejno aktivirajo vsa potrebna pravila, ki so potrebna za dostop uporabnika do FTP.

Da bi FTP North pravilno deloval v pasivnem načinu FTP, se morajo uporabniki povezati z območjem vrat RPC (1025-65535). Če ne želite odpreti vseh teh vrat na zunanjem požarnem zidu, lahko omejite obseg dinamičnih vrat TCP, ki se uporabljajo za prenos podatkov.

  1. Če želite to narediti, odprite element v nastavitvah spletnega mesta FTP v IIS FTP Požarni zid Podpora in na polju Podatki Kanal Pristanišče Domet določite obseg vrat, ki jih želite uporabiti za povezave FTP. Na primer - 50000-50100;
  2. Spremembe shranite in znova zaženite IIS (iisreset);
  3. Odprite nadzorno ploščo in pojdite na Nadzorno ploščo \ Sistem in varnost \ Požarni zid Windows \ Dovoljene aplikacije;
  4. Prepričajte se, da ima seznam aplikacij, ki jim je dovoljen dostop prek požarnega zidu, dovoljenja za FTP strežnik.

Nato v požarnem zidu Windows z nastavitvami napredne varnosti preverite, ali so omogočena naslednja pravila:

  • FTP strežnik (FTP Traffic-In) - TCP, vrata 21;
  • FTP strežnik FTP (FTP Passive Traffic-In) - lokalni naslov vrat 1024-65535 (ali 50000-50100 kot v našem primeru);
  • Varnost FTP strežnika (FTP SSL Traffic-In) - (pri uporabi FTP s SSL) vrata 990;
  • FTP strežnik (FTP Traffic-Out) - vrata 20;
  • Varnost FTP strežnika (FTP SSL Traffic-Out) - (pri uporabi FTP s SSL) vrata 989.

V skladu s tem morajo biti ta vrata odprta na prehodu (požarni zid), da se povežejo zunanji uporabniki FTP.

Preverjanje povezave s strežnikom FTP s odjemalca Windows

Razpoložljivost vrat na strežniku FTP lahko preverite z ukaznim ukazom Test-NetConnection:

Test-NetConnection -ComputerName yourftpservername -Port 21

Ali pa uporabite ukaz ftp:

ftp yourftpservername

Poskusite se povezati s svojim FTP spletnim mestom s katerim koli odjemalcem FTP ali neposredno iz Explorerja (v naslovni vrstici podajte ftp: // ime vašega uporabnika /.

Vnesite uporabniško ime in geslo.

Kot rezultat, boste videli vsebino domačega imenika z datotekami uporabnika (ki je uporabnik korenina FTP mesta). Kot lahko vidite, je uporabniška seja izolirana in uporabnik vidi samo svoje datoteke na ftp strežniku.

Namig. Če želite uporabiti anonimni dostop (Vsi anonimni uporabniki), se lahko kateri koli uporabnik poveže na vaš FTP strežnik z uporabo anonimnega ali gosta kot ime in e-poštni naslov kot geslo. Z anonimno povezavo do spletnega mesta FTP bo seja omejena na imenik LocalUser \ Public (seveda je treba predhodno ustvariti javni imenik).

Če si želite ogledati informacije o uporabnikovem dostopu do strežnika FTP, lahko uporabite dnevnike FTP, ki so privzeto shranjeni v imeniku c: \ inetpub \ logs \ logfiles v formatnih datotekah u_exYYMMDD.log.

Če si želite ogledati trenutne uporabniške povezave s strežnikom, lahko uporabite vrednosti števcev uporabnikov IIS prek PowerShell-a ali funkcijo Current FTP Sessions v konzoli IIS. V tej konzoli si lahko ogledate informacije o imenu in IP naslovu uporabnika FTP in po potrebi prekinete sejo.

Torej, pogledali smo, kako konfigurirati spletno mesto FTP z izolacijo uporabnika na podlagi Windows Server 2016/2012 R2. V izolativnem načinu se uporabniki avtentificirajo na FTP v svojih lokalnih računih ali domenah, nato pa dobijo dostop do svojega korenskega imenika, ki ustreza uporabniškemu imenu.