Konfiguriranje FTP poslužitelja s izolacijom korisnika na Windows Server 2016/2012 R2

Iako protokol FTP, jednom od najstarijih protokola, već je navršio 40 godina i dalje se koristi svugdje gdje je potreban jednostavan protokol za prijenos datoteka. FTP poslužitelj se može instalirati na sve Microsoftove operativne sustave. Posljednja dubinska modernizacija ove usluge izvršena je u sustavu Windows 7 / Server 2008 R2 (u stvari je servisni kôd ponovno napisan). Sigurnost usluge značajno je poboljšana te se pojavilo niz novih značajki. Konkretno, na FTP poslužitelju u sustavu Windows postalo je moguće konfigurirati izolacija FTP korisnika, omogućujući razlikovanje pristupa više korisnika njihovim vlastitim mapama na jednom FTP poslužitelju.

Zbog značajke izolacije korisnici mogu raditi samo sa svojim ftp direktorima i ne mogu se penjati više u stablo direktorija, jer Korisnikov direktorij na najvišoj razini čini mu se korijenom FTP usluge. Na taj način možete spriječiti korisnike da pristupaju tuđim datotekama na FTP poslužitelju. Izolacija korisnika FTP-a široko se koristi od pružatelja usluga hostinga kada je potrebno omogućiti pojedinačan pristup različitim korisnicima jednoj pohrani datoteka.

Kao i u prethodnim verzijama sustava Windows, usluga FTP (ne miješajte s sFTP i TFTP) u sustavu Windows Server 2016/2012 R2 temelji se i duboko je integrirana u IIS uslugu i ima jedno administrativno sučelje za upravljanje. U ovom ćemo članku pokazati kako instalirati poslužitelj FTP na temelju IIS u prozorima server 2016/2012 R2 i konfigurirajte izolaciju korisnika na njemu (Upute se odnose i na Windows 10 / 8.1).

sadržaj:

  • Instaliranje uloge FTP poslužitelja u sustavu Windows Server 2016/2012 R2
  • Postavljanje FTP stranice u sustavu Windows Server, davanje prava korisnicima
  • Konfigurirajte FTP izolaciju korisnika u sustavu Windows Server 2016/2012 R2
  • Konfigurirajte pravila Windows vatrozida za pristup FTP poslužitelju
  • Provjera veze s FTP poslužiteljem s Windows klijenta

Instaliranje uloge FTP poslužitelja u sustavu Windows Server 2016/2012 R2

FTP uslugu možete instalirati putem konzole Upravitelja poslužitelja, imajući to u odjeljku Web poslužitelj (IIS) -> FTP poslužitelj opcije FTP usluga i Proširivost FTP-a.

Ulogu FTP poslužitelja možete instalirati i pomoću jedne naredbe PowerShell:
Instalirajte-WindowsFeature Web-FTP-poslužitelj

Da biste instalirali konzolu za upravljanje FTP poslužiteljem, pokrenite naredbu:

Install-WindowsFeature -Name "Web-Mgmt-Console"

Postavljanje FTP stranice u sustavu Windows Server, davanje prava korisnicima

Pokrenite Upravitelj poslužitelja i otvorite upravljačku konzolu za Internet Information Manager (IIS).

Stvaranje nove FTP stranice (Web lokacije -> Dodaj FTP mjesto).

Naziv FTP stranice: MyTestSite

Korijenski direktorij FTP stranice: C: \ inetpub \ ftproot

Za zaštitu ftp podataka koji se prenose preko mreže, moguće je konfigurirati SSL (u ovom slučaju svi podaci koji se prenose preko mreže i lozinke / računi ftp korisnika bit će šifrirani), ali to nije potrebno u našoj demonstraciji. Sve su ostale postavke zadane..

FTP web mjesto možete upravljati pomoću modula PowerShell WebAdministration. Na primjer, za stvaranje nove FTP stranice jednostavno izvršite sljedeće naredbe:

WebAdministration modula uvoza
# Postavi naziv FTP stranice
$ FTPSiteName = 'Nova FTP stranica'
# FTP direktorij web mjesta
$ FTPRoot = 'E: \ www \ FTPRoot'
# Priključak za FTP mjesto
$ FTPPort = 21
Novo-WebFtpSite -Name $ FTPSiteName -PhysicalPath $ FTPRoot -Port $ FTPPort

Odaberite novo FTP mjesto i u odjeljku FTP ovjera (Autentifikacija) onemogućuje anonimnu provjeru autentičnosti Anonimna provjera autentičnosti. Osnovna provjera autentičnosti mora biti omogućeno.

FTP usluga na Windows Server 2016/2012 R2 može koristiti dvije vrste računa: domenski ili lokalni. Ovisno o vrsti računa, postoje razlike u strukturi FTP kataloga i korisničkim postavkama izolacije. Koristit ćemo lokalne Windows račune.

Stvorite FTP korisnike, na primjer, to će biti ftp_user1, ftp_user2 i ftp_user3 računi. Izradite i ftp_users grupu za uključivanje ovih korisnika. U odjeljku možete stvoriti korisnike lokalne Korisnici i grupe konzola računalo upravljanje.

Također možete stvoriti korisnike i grupe iz naredbenog retka (ili pomoću PowerShell-a). Stvorite lokalnu grupu:
neto localgroup ftp_users / add

Izradite novog lokalnog korisnika:

neto korisnik ftp_user1 / dodaj *

Dodajte korisnika u grupu:

neto localgroup ftp_users ftp_user1 / add

Na isti način stvorite još dva korisnika..

Dodijelite stvorena prava grupe ftp_users (RW) u direktoriju C: \ inetpub \ ftproot.

Unutar direktorija C: \ inetpub \ ftproot stvorite direktorij s nazivom LocalUser (naziv mora biti u potpunosti dosljedan, ovo je važno!!!). Zatim unutar C: \ inetpub \ ftproot \ LocalUser stvorite tri direktorija s imenima korisnika koje ste stvorili: ftp_user1, ftp_user2, ftp_user3.

primjedba. Ovisno o vrsti računa, morate stvoriti sljedeću strukturu direktorija (pod% FtpRoot% \ mislimo na korijen FTP stranice, u našem slučaju to je C: \ inetpub \ ftproot \):

Vrsta računaPočetna imenik Sintaksa
Anonimni korisnici% FtpRoot% \ LocalUser \ Public
Windows Lokalni račun% FtpRoot% \ LocalUser \% UserName%
Račun za Windows domenu% FtpRoot% \% UserDomain% \% UserName%
Posebni IIS Manager ili ASP.NET računi% FtpRoot% \ LocalUser \% UserName%


Vratite se na IIS konzolu i u odjeljak stranice Pravila autorizacije FTP-a stvorite novo pravilo (Dodajte Dopusti pravilo), u kojem ukazuju da je grupa ftp_users trebala imati dozvole za čitanje i pisanje (dozvole za čitanje i pisanje).

Konfigurirajte FTP izolaciju korisnika u sustavu Windows Server 2016/2012 R2

Krenimo na postavljanje izolacije FTP korisnika. Izolacija FTP korisnika konfigurirana je na razini FTP stranice, a ne na cijelom poslužitelju, i omogućava vam organiziranje vlastite početne mape za svakog korisnika. U postavkama FTP stranice otvorite stavku FTP korisnik izolacija.

U ovom je odjeljku nekoliko postavki. Prva dva ne podrazumijevaju izolaciju korisnika:

  • FTP korijen imenik (ftp - korisnička sesija započinje korijenskim direktorijom ftp stranice);
  • korisnik ime imenik (korisnik započinje s fizičkom / virtualnom mapom s korisničkim imenom. Ako direktorij nedostaje, sesija započinje iz korijenskog direktorija ftp stranice).

Sljedeće 3 mogućnosti predstavljaju različite načine rada korisnika na izolaciji:

  • korisnik ime imenik (onemogućiti globalan virtualdirectories) - pretpostavlja da je ftp sesija korisnika izolirana fizičkim ili virtualnim imenikom čije se ime podudara s ftp korisničkim imenom. Korisnici vide samo vlastiti direktorij (za njih je to korijenski direktorij) i ne mogu ga nadići (u višem direktoriju FTP stabla). Zanemaruju se bilo koji globalni virtualni direktoriji;
  • korisnik ime fizička imenik (omogućiti globalan virtualan direktoriji) - pretpostavlja se da je FTP sesija korisnika ograničena (izolirana) fizičkim imenikom s imenom FTP korisničkog računa. Korisnik ne može prijeći svoj direktorij u FTP strukturi. Međutim, korisnik ima pristup svim kreiranim globalnim virtualnim direktorijima;
  • FTP kućni imenik konfiguriran u Active Directoryu - Korisnik FTP-a izoliran je unutar svoje matične mape koja je navedena u postavkama računa Active Directory (svojstva FTPRoot i FTPDir).
Važno je. Ako su aktivne globalne virtualne mape, svi korisnici mogu pristupiti svim virtualnim direktorijima konfiguriranim u korijenu FTP stranice (s odgovarajućim dozvolama NTFS).

Odaberite željeni način izolacije (koristim drugu opciju za ftp izolaciju korisnika).

Uz sve promjene postavki FTP mjesta u IIS-u, preporučljivo je ponovno pokrenuti Microsoft FTP uslugu (FTPSVC).

Konfigurirajte pravila Windows vatrozida za pristup FTP poslužitelju

Kada instalirate ulogu FTP poslužitelja u postavkama Windows zaštitnog zida, sva potrebna pravila koja su potrebna za pristup korisnika FTP-u automatski se aktiviraju.

Kako bi FTP sjever ispravno radio u pasivnom FTP načinu, korisnici se trebaju povezati na raspon RPC priključaka (1025-65535). Kako ne biste otvorili sve te priključke na vanjskom vatrozidu, možete ograničiti raspon dinamičkih TCP portova koji se koriste za prijenos podataka.

  1. Da biste to učinili, otvorite stavku u postavkama FTP mjesta u IIS FTP firewall podrška i na polju podaci kanal luka opseg odredite raspon priključaka koji želite koristiti za FTP veze. Na primjer - 50000-50100;
  2. Spremite promjene i ponovno pokrenite IIS (iisreset);
  3. Otvorite upravljačku ploču i idite na upravljačku ploču \ Sustav i sigurnost \ Windows vatrozid \ Dopuštene aplikacije;
  4. Provjerite ima li popis aplikacija kojima je dopušten pristup kroz vatrozidom za FTP poslužitelj.

Zatim u Windows vatrozidu s postavkama Napredne sigurnosti provjerite jesu li omogućena sljedeća pravila:

  • FTP poslužitelj (FTP prometni ulaz) - TCP, priključak 21;
  • FTP pasivni poslužitelj (FTP pasivni prometni ulaz) - lokalna adresa porta 1024-65535 (ili 50000-50100 kao u našem primjeru);
  • FTP Server Secure (FTP SSL Traffic-In) - (kada koristite FTP sa SSL) priključkom 990;
  • FTP poslužitelj (FTP Traffic-Out) - priključak 20;
  • FTP Server Secure (FTP SSL Traffic-Out) - (kada koristite FTP sa SSL) priključkom 989.

Sukladno tome, ti se portovi moraju otvoriti na gatewayu (vatrozidu) da bi povezali vanjske FTP korisnike.

Provjera veze s FTP poslužiteljem s Windows klijenta

Dostupnost portova na FTP poslužitelju možete provjeriti pomoću cmdleta Test-NetConnection:

Test-NetConnection -ComputerName yourftpservername -Port 21

Ili pomoću naredbe ftp:

ftp svojeftpservername

Pokušajte se povezati s vašom FTP stranicom pomoću bilo kojeg FTP klijenta ili izravno iz Explorera (u adresnoj traci navedite ftp: // yourservername /.

Unesite korisničko ime i lozinku.

Kao rezultat toga, otvorit će se sadržaj kućnog imenika s korisničkim datotekama (koja je korijen FTP stranice za korisnika). Kao što vidite, korisnička sesija je izolirana i korisnik vidi samo svoje datoteke na ftp poslužitelju.

vijeće. Ako želite koristiti anonimni pristup (Svi anonimni korisnici), bilo koji korisnik može se povezati s vašim FTP poslužiteljem koristeći anonimni ili gost kao ime, a adresu e-pošte kao lozinku. S anonimnom vezom na FTP mjesto, sesija će biti ograničena na direktorij LocalUser \ Public (naravno, javni direktorij mora biti prethodno kreiran).

Da biste pogledali podatke o korisničkom pristupu FTP poslužitelju, možete koristiti FTP zapisnike koji su prema zadanim postavkama pohranjeni u imenik c: \ inetpub \ logs \ logfiles u formatnim datotekama u_exYYMMDD.log.

Da biste pogledali trenutne korisničke veze s vašim poslužiteljem, možete koristiti IIS brojače korisnika putem PowerShell-a ili značajke Current FTP Sessions u IIS konzoli. Na ovoj konzoli možete pogledati podatke o imenu i IP adresi FTP korisnika i po potrebi isključiti sesiju.

Dakle, pogledali smo kako konfigurirati FTP stranicu s izolacijom korisnika na temelju sustava Windows Server 2016/2012 R2. U načinu izolacije, korisnici se autentificiraju na FTP putem svojih lokalnih računa ili računa domene nakon čega dobivaju pristup svom korijenskom direktoriju koji odgovara korisničkom imenu.