Настройка FTP-сервера в Windows Server 2016
Мне для работы на новом месте нужен FTP
сервис на системе Windows Server 2016
. Именно на эту систему мне предстоит с Windows Server 2008 R2
, Server 2012
переводить всю инфраструктуру. И в одном задаче которую кстати я себе сам придумал мне по аналогии, как я делал на Server 2012 R2
нужен защищенный FTP
-сервис.
Система развернута из образа: SW_DVD9_Win_Server_STD_CORE_2016_64Bit_English_-4_DC_STD_MLF_X21-70526.ISO
Система не в домене.
Win + X → Control Panel — Administrative Tools — Server Manager
, устанавливаю роль IIS, Add roles and features
, отмечаю галочкой роль «Web Server (IIS)
», на уведомление что в процесс будут установлены компоненты:
Web Server (IIS) → Management Tools → [Tools] IIS Managment Console
соглашаюсь и нажимаю «Add Features
», Next, Next, Next
: теперь отмечаю галочками компоненты которые будут совместно с ролью IIS
установлены:
Common HTTP Features, Default Document, Directory Browsing, HTTP Errors, Static Content, Health and Diagnostics, HTTP Logging, Performance, Static Content Compression, Security, Request Filtering, Basic Authentication, FTP Server, FTP Service, FTP Extensibility, Management Tools, IIS Management Console, IIS Management Scripts and Tools, Management Service
и нажимаю Next, Install
После установки приступаю к конфигурированию.
Шаг №1: Создаю каталог, отключаю наследование и оставляю права доступа к нему:
C:\storage
группа SYSTEM = Full Control
группа Administrators (srv-backup) = Full Control
группа Creator OWNER = Full Control
группа NETWORK SERVICE = Modify
Шаг №2:
Создаю FTP
ресурс (сайт)
Win + X — Control Panel — Administrative Tools — Internet Information Service (IIS) Manager
и через правый клик мышью на Sites
выбираю «Add FTP Site...
»
FTP site name: FTP storage
(Content Directory)
Physical Path: C:\storage
и нажимаю Next
(Binding)
IP Address: 172.33.33.30
Port: 21
Start FTP site automatically: отмечаю галочкой
SSL: No SSL (пока)
и нажимаю Next
(Authentication)
Basic: отмечаю галочкой
Allow access to: Specified users
и указываю через запятую: ftpuser1, ftpuser2
Permissions: Write
а после нажимаю Install.
Шаг №3: Создаю логин и пароль в сервисе IIS
через оснастку Internet Information Service (IIS) Manager: SRV-BACKUP (SRV-BACKUP\Administrator) — (Management) IIS Manager Users
(Actions) Add User…
Username: ftpuser1
Password: Aa1234567@!
Confirm password: Aa1234567@!
Шаг №4: Указанные учетные записи будут не Windows
аккаунты, а виртуальные обслуживаемые только сервисом IIS
.
через оснастку Internet Information Service (IIS) Manager: Sites — FTP Storage — FTP Authentication — (Actions) Custom Providers…
Select one or more registered custom providers: IisManagerAuth
и нажимаю OK
окна Custom Providers
, вот что получится:
Шаг №5: Теперь назначаю права доступа
через оснастку Internet Information Service (IIS) Manager: Sites — FTP Storage — FTP Authorization Rules
Шаг №6: Ограничиваем виртуальных пользователей каталогом FTP
сервиса дабы они не вышли ни каким образом в систему:
через оснастку Internet Information Service (IIS) Manager: Sites — FTP Storage — FTP User Isolation
Do not isolate users. Start users in: FTP root directory
Шаг №7: Изменяю правила авторизации на FTP
ресурсе
через оснастку Internet Information Service (IIS) Manager: SRV-BACKUP (SRV-BACKUP\Administrator)
(Management) Management Service
Enable remote connections: отмечаю галочкой
(Identity Credentials) Windows credentials or IIS Manager credentials
(Actions
) и нажимаю Apply, Start.
Шаг №8: Затем следует поправить права на каталог IIS
сервера
Win + X — Command Prompt (Admin)
1234567891011 | C:\Windows\system32>CACLS “%SystemDrive%\Windows\System32\inetsrv\config” /G “NetworkService”:R /E C:\Windows\system32>CACLS “%SystemDrive%\Windows\System32\inetsrv\config\administration.config” /G “Network Service”:R /E C:\Windows\system32>CACLS “%SystemDrive%\Windows\System32\inetsrv\config\redirection.config”/G “Network Service”:R /E C:\Windows\system32>iisreset /stop C:\Windows\system32>iisreset /start |
Шаг №9: Добавляю, что к моему ресурсе с FTP Root
каталогом c:\storage
могут иметь доступ созданные пользователи IIS
через оснастку Internet Information Service (IIS) Manager: Sites — FTP Storage — (Management) IIS Manager Permissions — (Actions)
Allow User…
указываю каких пользователей:
Select the type of user: IIS Manager
Select
— и сперва ftpuser1
, а потом через Allow User
другую учетную запись ftpuser2
и нажимаюOK
окна Allow User...
Итого сервис с изоляцией виртуальных пользователей FTP
сервиса успешно поднят.
Проверяю, что система осуществляет прослушивание порта 21/TCP:
Win + X → Command Prompt (Admin)
12345 | C:\Windows\system32>netstat -a | findstr :21 TCP 0.0.0.0:21 srv-backup:0 LISTENING TCP [::]:21 srv-backup:0 LISTENING |
Проверяю, что могу подключиться к нему:
Авторизуюсь:
User name: ftpuser1
Password: Aa1234567@!
И нажимаю Log On
и авторизация происходит успешно, строка в адресе: «The Internet 172.33.33.30
»
Пробую создать каталог под именем 1
и каталог под именем 2
→ Успешно.
Ниже скриншот что они действительно создались и что они действительно есть в файловой системе каталога c:\storage
который является корневым для FTP
сервиса.
Итого я адаптировал заметку которую разработал и практически применил когда работал руководителем отдела IT
в сфере автобизнеса. Данная наработка очень необходима для нужд системного администрирования и наглядно показывает, как Windows
сервисы, а не только Linux
могут стать помощниками в решении поставленных задач.
Также если обратиться к данному FTP
ресурсу из локальной сети, но с Ubuntu 18.04 Desktop amd64
коя система является моей рабочей с которой я администрирую инфраструктуру:
123456789101112131415161718192021222324252627282930313233343536373839 | ekzorchik@navy:~$ ftp ftp> open 172.33.33.30 Connected to 172.33.33.30. 220 Microsoft FTP Service Name (172.33.33.30:ekzorchik): ftpuser1 331 Password required Password: 230 User logged in. Remote system type is Windows_NT. ftp> ls 200 PORT command successful. 125 Data connection already open; Transfer starting. 04-05-19 09:40PM <DIR> 1 04-05-19 09:40PM <DIR> 2 226 Transfer complete. ftp> mkdir ubuntu_bionic_desktop 257 “ubuntu_bionic_desktop” directory created. ftp> quit 221 Goodbye. ekzorchik@navy:~$ |
А через проводник:
Работает. На этом моя базовая практическая заметка по развертыванию FTP
сервиса на Windows Server 2016 English
завершена. С уважением, автор блога Олло Александр aka ekzorchik