Ftp-сайт з ізоляцією користувачів на windows server 2018 r2, windows для системних адміністраторів

Завдяки можливості ізоляції користувачі можуть працювати тільки зі своїми каталогами, і не можуть піднятися вище по дереву каталогів FTP, тому що каталог верхнього рівня користувача відображається для нього як корінь служби FTP. Таким чином можна запобігти доступ користувачів до чужих даними на FTP сервері. Ізоляція FTP користувачів широко застосовується ISP / ASP провайдерами, коли потрібно надати індивідуальний доступ різним користувачам до одного файлового сховища.

Встановити сервіс FTP можна через консоль Server Manager, зазначивши опції FTP Service і FTP Extensibility в розділі Web Server (IIS) -> FTServer.

Ftp-сайт з ізоляцією користувачів на windows server 2012 r2, windows для системних адміністраторів

Також можна встановити роль FTP сервера однією командою Powershell:

Ftp-сайт з ізоляцією користувачів на windows server 2012 r2, windows для системних адміністраторів

Створюємо FTP сайт, заводимо користувачів, налаштовуємо права

Відкриємо консоль управління IIS (Internet Information Service Manager).

Ftp-сайт з ізоляцією користувачів на windows server 2012 r2, windows для системних адміністраторів

І створимо новий FTP сайт (Sites-> AddFTPSite).

Ftp-сайт з ізоляцією користувачів на windows server 2012 r2, windows для системних адміністраторів

Ім'я FTP сайту: MyTestSite

Кореневої каталог FTP сайту: C: \ inetpub \ ftproot

Ftp-сайт з ізоляцією користувачів на windows server 2012 r2, windows для системних адміністраторів

Для захисту переданих даних можливо налаштувати SSL (в цьому випадку всі передані по мережі дані і паролі / учеткі ftp-користувачів будуть зашифровані), але в нашій демонстрації це не обов'язково. Всі інші настройки залишаємо стандартними.

Виберемо наш FTP сайт і в секції FTPAuthentication (Аутентифікація) відключимо анонімну аутентифікацію Anonymous Authentication. Basic Authentication повинна бути включена.

Ftp-сайт з ізоляцією користувачів на windows server 2012 r2, windows для системних адміністраторів

Створимо користувачів FTP, припустимо, це будуть облікові записи ftp_user1, ftp_user2 і ftp_user3. Також створимо групу ftp_users. в яку включимо цих користувачів. Створити користувачів можна в розділі Local Users and Groups консолі Computer Management.

Ftp-сайт з ізоляцією користувачів на windows server 2012 r2, windows для системних адміністраторів

Або з командного рядка:

Ftp-сайт з ізоляцією користувачів на windows server 2012 r2, windows для системних адміністраторів

Точно так же створимо ще двох користувачів.

Надамо створеній групі ftp_users права (RW) на каталог C: \ inetpub \ ftproot.

Ftp-сайт з ізоляцією користувачів на windows server 2012 r2, windows для системних адміністраторів

Усередині каталогу C: \ inetpub \ ftproot створимо каталог з ім'ям LocalUser (ім'я має повністю відповідати, це важливо.). Потім всередині C: \ inetpub \ ftproot \ LocalUser створимо три каталогу з іменами створених нами користувачів: ftp_user1, ftp_user2, ftp_user3.

Примітка. Залежно від типу облікових записів необхідно створити такі структури каталогів (під% FtpRoot% \ мається на увазі корінь сайту FTP, в нашому випадку це C: \ inetpub \ ftproot \):

Тип облікового запису

Синтаксис іменування домашніх каталогів

Ftp-сайт з ізоляцією користувачів на windows server 2012 r2, windows для системних адміністраторів

Повернемося в консоль IIS і в розділі сайту FTPAuthorization Rules створимо нове правило (Add AllowRules), в якому вкажемо, що група ftp_users повинна мати права на читання і запис (дозволу Read і Write).

Ftp-сайт з ізоляцією користувачів на windows server 2012 r2, windows для системних адміністраторів

Перейдемо до налаштування ізоляції користувачів FTP. Ізоляція FTP користувачів налаштовується на рівні сайту FTP, а не всього сервера.

В налаштуваннях FTP сайту відкрийте пункт FTP User Isolation.

У цьому розділі є кілька налаштувань. Перші дві не передбачають ізоляції користувачів:

  • FTP root directory (ftp-сесія користувача починається з кореневого каталогу ftp-сайту)
  • User name directory (користувач починає роботу з фізичного / віртуального каталогу з ім'ям користувача. Якщо каталог відсутня, сесія починається з кореневого каталогу ftp-сайту)

Наступні 3 опції представляють різні режими роботи ізоляції користувачів:

  • User name directory (disable global virtualdirectories) - передбачає, що ftp-сесія користувача ізольована фізичним або віртуальним каталогом ім'я якого відповідає імені користувача ftp. Користувачі бачать тільки власний каталог (для них він є кореневим) і не можуть вийти за його рамки (до вищестоящого каталог дерева FTP). Будь-які глобальні віртуальні каталоги ігноруються.
  • User name physical directory (enable global virtual directories) - передбачається, що FTP-сесія користувача обмежена (ізольована) фізичним каталогом з ім'ям облікового запису користувача FTP. Користувач не може перейти вище свого каталогу за структурою FTP. Однак користувачеві доступні всі створені глобальні віртуальні каталоги.
  • FTP home directory configured in Active Directory - FTP-користувач ізолюється в рамках свого домашнього каталогу, заданого в настройках його облікового запису Active Directory (властивості FTPRoot і FTPDir)

Важливо. Якщо глобальні віртуальні директорії активні, все користувачі можуть отримати доступ до всіх віртуальним каталогам, налаштованим в корені FTP сайту (при наявності відповідних NTFS прав доступу).

Ftp-сайт з ізоляцією користувачів на windows server 2012 r2, windows для системних адміністраторів

Вкажіть ім'я та пароль користувача

Ftp-сайт з ізоляцією користувачів на windows server 2012 r2, windows для системних адміністраторів

І ми отримаємо доступ до домашнього каталогу з даними користувача (що є для користувача коренем FTP сайту). Як ми бачимо, сесія користувача є ізольованою і користувач бачить тільки свої дані.

Ftp-сайт з ізоляцією користувачів на windows server 2012 r2, windows для системних адміністраторів

Порада. При анонімному підключенні до FTP сайту - сесія буде обмежена каталогом LocalUser \ Public (природно каталог Public повинен бути створений попередньо).

Облікові записи користувачів локальні або доменні?
Технічно самих користувачів і їх каталоги можна створити нескладним скриптом на Powershell, який на вході приймає csv файл з ім'ям користувача і його паролем. Скрипт повинен створити учетку користувача з зазначеним паролем і каталог з ім'ям користувача.

Малоймовірно, що Hyper-V тут може як то заважати, якщо тільки є якісь правила перенаправлення вхідного FTP трафіку всередину якийсь ВМ на Hyper-V.
З'єднання перевіряєте руками або клієнтом? Може слід настройки клієнта перевірити ще раз?

Схожі статті