Konfigurace serveru FTP s izolací uživatele v systému Windows Server 2016/2012 R2

I když protokol FTP, jeden z nejstarších protokolů, má již 40 let a nadále se používá všude tam, kde je vyžadován jednoduchý protokol pro přenos souborů. Server FTP lze nainstalovat do všech operačních systémů společnosti Microsoft. Poslední hluboká modernizace této služby byla provedena ve Windows 7 / Server 2008 R2 (ve skutečnosti byl servisní kód znovu přepsán). Zabezpečení služby se výrazně zlepšilo a objevilo se mnoho nových funkcí. Zejména na FTP serveru ve Windows bylo možné konfigurovat izolace FTP uživatelů, umožňuje rozlišit přístup více uživatelů do jejich vlastních složek na jednom FTP serveru.

Díky funkci izolace mohou uživatelé pracovat pouze se svými adresáři ftp a nemohou vyšplhat výše ve stromu adresářů, protože Adresář nejvyšší úrovně uživatele se mu jeví jako kořen služby FTP. Můžete tak zabránit uživatelům v přístupu k souborům jiných lidí na FTP serveru. Izolace uživatelů FTP je často využívána poskytovateli hostingu, když je nutné zajistit individuální přístup různým uživatelům k jednomu úložišti souborů.

Stejně jako v předchozích verzích systému Windows je služba FTP (nezaměňujte se sFTP a TFTP) v systému Windows Server 2016/2012 R2 založena a hluboce integrována do služby IIS a má jediné rozhraní pro správu. V tomto článku ukážeme, jak nainstalovat server FTP založeno na IIS v oknech Server 2016/2012 R2 a nakonfigurujte na něm izolaci uživatele (Pokyny platí také pro Windows 10 / 8.1).

Obsah:

  • Instalace role FTP serveru v systému Windows Server 2016/2012 R2
  • Nastavení serveru FTP v systému Windows Server, udělování práv uživatelům
  • Konfigurace izolace uživatelů FTP v systému Windows Server 2016/2012 R2
  • Nakonfigurujte pravidla brány firewall systému Windows pro přístup k FTP serveru
  • Kontrola připojení k FTP serveru z klienta Windows

Instalace role FTP serveru v systému Windows Server 2016/2012 R2

Službu FTP můžete nainstalovat prostřednictvím konzoly Správce serverů Webový server (IIS) -> FTP server možnosti Služba FTP a Rozšiřitelnost FTP.

Rolu FTP serveru můžete také nainstalovat pomocí jednoho příkazu PowerShell:
Nainstalujte-WindowsFeature Web-FTP-Server

Chcete-li nainstalovat konzolu pro správu FTP serveru, spusťte příkaz:

Install-WindowsFeature - název "Web-Mgmt-Console"

Nastavení serveru FTP v systému Windows Server, udělování práv uživatelům

Spusťte Správce serverů a spusťte konzolu pro správu Správce Internetová informační služba (IIS).

Vytvořit nový server FTP (Weby -> Přidat FTP Web).

Název serveru FTP: MyTestSite

Kořenový adresář serveru FTP: C: \ inetpub \ ftproot

Pro ochranu dat ftp přenášených sítí je možné nakonfigurovat SSL (v tomto případě budou všechna data přenášená sítí a hesla / účty uživatelů ftp šifrována), to však není v naší demonstraci nutné. Všechna ostatní nastavení zůstanou jako výchozí..

Svůj server FTP můžete spravovat pomocí modulu WebAdministration PowerShell. Chcete-li například vytvořit nový server FTP, stačí provést následující příkazy:

Import webových modulů pro správu
# Nastavit název serveru FTP
$ FTPSiteName = 'Nový FTP server'
# Adresář serveru FTP
$ FTPRoot = 'E: \ www \ FTPRoot'
# Port serveru FTP
$ FTPPort = 21
New-WebFtpSite - Jméno $ FTPSiteName -FyzicalPath $ FTPRoot -Port $ FTPPort

Vyberte nový server FTP a v části FTP Ověřování (Ověřování) zakáže anonymní ověřování Anonymní ověření. Základní ověřování musí být povoleno.

Služba FTP v systému Windows Server 2016/2012 R2 může používat dva typy účtů: doménu nebo místní. V závislosti na typu účtu existují rozdíly ve struktuře adresářů FTP a nastavení izolace uživatele. Použijeme místní účty Windows.

Vytvořte uživatele FTP, budou to například účty ftp_user1, ftp_user2 a ftp_user3. Vytvořte také skupinu ftp_users, do které budou tito uživatelé zařazeni. V sekci můžete vytvořit uživatele Místní Uživatelé a Skupiny konzole Počítač Řízení.

Můžete také vytvořit uživatele a skupiny z příkazového řádku (nebo pomocí prostředí PowerShell). Vytvoření místní skupiny:
net localgroup ftp_users / add

Vytvořit nového místního uživatele:

net user ftp_user1 / add *

Přidejte uživatele do skupiny:

net localgroup ftp_users ftp_user1 / add

Stejným způsobem vytvořte další dva uživatele..

Udělte vytvořená práva skupiny ftp_users (RW) do adresáře C: \ inetpub \ ftproot.

V adresáři C: \ inetpub \ ftproot vytvořte adresář s názvem Localuser (název musí být zcela konzistentní, to je důležité!!!) Potom uvnitř C: \ inetpub \ ftproot \ LocalUser vytvořte tři adresáře se jmény vytvořených uživatelů: ftp_user1, ftp_user2, ftp_user3.

Poznámka:. V závislosti na typu účtů je třeba vytvořit následující strukturu adresářů (% FtpRoot% \ máme na mysli kořen FTP serveru, v našem případě C: \ inetpub \ ftproot \):

Typ účtuSyntaxe pojmenování domovského adresáře
Anonymní uživatelé% FtpRoot% \ LocalUser \ Public
Windows Local Account% FtpRoot% \ LocalUser \% UserName%
Účet domény Windows% FtpRoot% \% UserDomain% \% UserName%
Speciální účty IIS Manager nebo ASP.NET% FtpRoot% \ LocalUser \% UserName%


Návrat do konzoly IIS a v části webu Pravidla autorizace FTP vytvořit nové pravidlo (Přidat pravidlo povolit), ve kterém je uvedeno, že skupina ftp_users by měla mít oprávnění ke čtení a zápisu (oprávnění ke čtení a zápisu).

Konfigurace izolace uživatelů FTP v systému Windows Server 2016/2012 R2

Pojďme k nastavení izolace FTP uživatele. Izolace uživatelů FTP je konfigurována na úrovni serveru FTP, nikoli celého serveru, a umožňuje vám uspořádat svůj vlastní domovský adresář pro každého uživatele. V nastavení serveru FTP otevřete položku FTP Uživatel Izolace.

V této části je několik nastavení. První dva neznamenají izolaci uživatele:

  • FTP root adresář (ftp - relace uživatele začíná kořenovým adresářem ftp serveru);
  • Uživatel jméno adresář (uživatel začíná fyzickým / virtuálním adresářem s uživatelským jménem. Pokud adresář chybí, relace začíná z kořenového adresáře ftp webu).

Následující 3 možnosti představují různé režimy operace izolace uživatele:

  • Uživatel jméno adresář (zakázat globální virtuální adresáře) - předpokládá, že relace ftp uživatele je izolována fyzickým nebo virtuálním adresářem, jehož jméno odpovídá uživatelskému jménu ftp. Uživatelé vidí pouze svůj vlastní adresář (pro ně je to kořenový adresář) a nemohou jej překročit (ve vyšším adresáři stromu FTP). Všechny globální virtuální adresáře jsou ignorovány;
  • Uživatel jméno fyzický adresář (povolit globální virtuální adresáře) - předpokládá se, že relace FTP uživatele je omezena (izolována) fyzickým adresářem s názvem uživatelského účtu FTP. Ve struktuře FTP nemůže uživatel jít nad svůj adresář. Uživatel má však přístup ke všem vytvořeným globálním virtuálním adresářům;
  • Domovský adresář FTP nakonfigurovaný ve službě Active Directory - Uživatel FTP je izolován v domovském adresáři určeném v nastavení svého účtu Active Directory (vlastnosti FTPRoot a FTPDir).
Je důležité. Pokud jsou globální virtuální adresáře aktivní, mají všichni uživatelé přístup ke všem virtuálním adresářům nakonfigurovaným v kořenovém adresáři serveru FTP (s příslušnými oprávněními NTFS)..

Vyberte požadovaný režim izolace (druhou možnost používám pro izolaci uživatele ftp).

Při jakékoli změně nastavení serveru FTP ve službě IIS je vhodné restartovat službu Microsoft FTP (FTPSVC).

Nakonfigurujte pravidla brány firewall systému Windows pro přístup k FTP serveru

Při instalaci role FTP serveru v nastavení brány Windows Firewall se automaticky aktivují všechna nezbytná pravidla, která jsou nezbytná pro přístup uživatelů k FTP.

Aby server FTP North pracoval správně v pasivním režimu FTP, musí se uživatelé připojit k rozsahu portů RPC (1025-65535). Aby nedošlo k otevření všech těchto portů na externí bráně firewall, můžete omezit rozsah dynamických portů TCP používaných pro přenos dat.

  1. Chcete-li to provést, otevřete položku v nastavení serveru FTP ve službě IIS FTP Firewall Podpora a na poli Data Kanál Port Dosah zadejte rozsah portů, který chcete použít pro připojení FTP. Například - 50000-50100;
  2. Uložte změny a restartujte službu IIS (iisreset);
  3. Otevřete ovládací panel a přejděte na Ovládací panely \ Systém a zabezpečení \ Windows Firewall \ Povolené aplikace;
  4. Ujistěte se, že seznam aplikací, které mají povolený přístup přes bránu firewall, má oprávnění FTP server.

Poté v bráně Windows Firewall s nastavením pokročilého zabezpečení ověřte, že jsou povolena následující pravidla:

  • FTP server (FTP Traffic-In) - TCP, port 21;
  • FTP Server Passive (FTP Passive Traffic-In) - adresa místního portu 1024-65535 (nebo 50000-50100 jako v našem příkladu);
  • FTP Server Secure (FTP SSL Traffic-In) - (při použití FTP s SSL) port 990;
  • FTP server (FTP Traffic-Out) - port 20;
  • Zabezpečený FTP server (FTP SSL Traffic-Out) - (při použití FTP s SSL) port 989.

Proto musí být tyto porty otevřeny na bráně (firewall) pro připojení externích uživatelů FTP.

Kontrola připojení k FTP serveru z klienta Windows

Dostupnost portů na FTP serveru můžete zkontrolovat pomocí rutiny Test-NetConnection:

Test-NetConnection -ComputerName yourftpservername -Port 21

Nebo pomocí příkazu ftp:

ftp yourftpservername

Zkuste se připojit k serveru FTP pomocí libovolného klienta FTP nebo přímo z Průzkumníka (do adresního řádku zadejte ftp: // yourservername /.

Zadejte uživatelské jméno a heslo.

V důsledku toho uvidíte obsah domovského adresáře se soubory uživatele (což je kořen serveru FTP pro uživatele). Jak vidíte, relace uživatele je izolovaná a uživatel vidí pouze své soubory na ftp serveru.

Tip. Pokud chcete použít anonymní přístup (Všichni anonymní uživatelé), může se k vašemu FTP serveru připojit libovolný uživatel pomocí anonymního nebo hostujícího jména a e-mailové adresy jako hesla. S anonymním připojením k serveru FTP bude relace omezena na adresář LocalUser \ Public (samozřejmě musí být veřejný adresář vytvořen předem).

Chcete-li zobrazit informace o přístupu uživatelů k FTP serveru, můžete použít protokoly FTP, které jsou ve výchozím nastavení uloženy v adresáři c: \ inetpub \ logs \ logfiles ve formátu u_exYYMMDD.log.

Chcete-li zobrazit aktuální uživatelská připojení k serveru, můžete použít hodnoty čítače uživatelů služby IIS prostřednictvím prostředí PowerShell nebo funkce Aktuální relace FTP v konzole IIS. V této konzoli můžete zobrazit informace o jménu a IP adrese uživatele FTP a v případě potřeby relaci odpojit.

Zkoumali jsme tedy, jak nakonfigurovat server FTP s izolací uživatele na základě systému Windows Server 2016/2012 R2. V izolačním režimu se uživatelé autentizují na FTP pod svými lokálními nebo doménovými účty, po kterých získají přístup ke kořenovému adresáři odpovídajícímu uživatelskému jménu.