FTP (File Transfer Protocol) — протокол передачи файлов. Применяется для передачи файлов клиентами локальной сети, а также для загрузки данных на локальные и удаленные хранилища.
Рассмотрим настройку FTP-сервера из набора IIS от компании Microsoft, создание самоподписанного сертификата, а также настройку защищенной передачи файлов.
Операционная система — Windows Server 2012 R2.
Установим Веб-сервер IIS
Запускаем Диспетчер серверов из меню Пуск или кликом по значку на панели задач.
Выбираем пункт Добавить роли и компоненты.
В новом окне выбираем, слева, Тип установки, затем Установка ролей или компонентов, кликаем по кнопке Далее.
Из предложенного пула серверов выбираем необходимый. В нашем случае он один, кликаем Далее.
В списке ролей находим Веб-сервер (IIS) и ставим галочку напротив этого пункта.
В новом окне Мастер добавления ролей и компонентов просто кликаем по Добавить компоненты. Данное окно обычно появляется при первой установке Веб-сервера (IIS). Кликаем Далее.
Слева кликаем по Служба ролей (подпункт Роль Веб-сервера (IIS)). Ставим галку напротив FTP-сервер. При необходимости устанавливаем галку напротив Расширяемость FTP. Кликаем Далее.
Проверяем компоненты для установки. При первой установке, рекомендуем установить галку в поле Автоматический перезапуск конечного сервера, если потребуется. Кликаем Установить. Важно! При первой установке Веб-сервера (IIS) будут установлены дополнительные компоненты службы.
Ожидаем завершения процесса установки. По окончании кликаем Закрыть.
Переходим к настройке сервера.
1. Открываем Администрирование. Можно из меню Пуск, но если там отсутствует этот пункт, то Пуск -> Панель управления -> Система и безопасность — > Администрирование
2. Запускаем Диспетчер служб IIS
3. В открывшемся окне, в левой части, разворачиваем ветку под необходимым сервером. Кликаем правой кнопкой мыши по элементу Сайты и выбираем пункт Добавить FTP-сайт…
4. В новом окне Добавить FTP-сайт указываем имя и путь до каталога где будут расположены файлы. Кликаем Далее.
5. В обновленном окне указываем на каких IP-адресах будет запущен FTP-сервер (актуально, когда у сервера несколько сетевых интерфейсов либо алиасов), а также указываем порт, который будет прослушивать служба (по умолчанию 21 TCP-порт). Проверяем наличие галочки Запускать сайт FTP автоматически. В настройках SSL указываем Без SSL. Если требуется шифрование, тогда выбираем соответствующий пункт и указываем сертификат. Кликаем Далее.
6. Следующим этапом настраиваем аутентификацию. В разделе Проверка подлинности выбираем Обычный (если требуется анонимное предоставление доступа следует выбрать Анонимный). В разделе Авторизация можно гибко указать доступ для пользователей. В нашем примере разрешим доступ Всем пользователям, кроме анонимных. Разрешаем чтение и запись. Кликаем Готово.
7. В случае успешности, в окне Диспетчера служб IIS добавится строка с именем добавленного FTP-сервера (сайта). Сворачиваем или закрываем это окно. Оно нам более не понадобится.
Настраиваем брандмауэр.
1. В окне Администрирование открываем Брандмауэр Windows в режиме повышенной безопасности.
2. В открывшемся окне, в левой части, выбираем Правила для входящих подключений. В правой части кликаем по Создать правило…
3. В новом окне выбираем Предопределенные. Из выпадающего списка выбираем FTP-сервер. Кликаем Далее.
4. Отмечаем галочками все пункты, кликаем Далее.
5. Следующим шагом выбираем Разрешить подключение, кликаем Готово.
Выбранные правила будут добавлены в общий список правил входящих подключений. Для применения настроек брандмауэра следует перезагрузить сервер.
Подключиться к серверу можно любым FTP-клиентом указав IP-адрес сервера, имя пользователя и пароль, например FileZilla. Однако, доступность сервера можно проверить и с помощью Internet Explorer. В строке адреса указываем ftp://IP.адрес.нашего.сервера/ (либо доменное имя). Указываем имя пользователя и пароль.
Настройка защищенного (Secure) FTP.
Для защиты трафика рекомендуется использовать SSL-сертификаты. Можно использовать самоподписанные сертификаты либо выданные центром сертификации. Обратите внимание, что при подключении к серверу с самоподписанным сертификатом пользователь будет уведомлен об этом.
Создадим самоподписанный сертификат.
1. Запускаем Диспетчер служб IIS (см. выше Настройку сервера).
2. В открывшемся окне, в левой части, разворачиваем ветку под необходимым сервером. Выбираем Сертификаты сервера.
3. В новом окне, в правой части, выбираем Создать самозаверенный сертификат.
4. В открывшемся окне указываем имя сертификата и его тип — Личный. Кликаем Ок.
Сертификат создан. Теперь перейдем к настройке защищенного FTP.
1. В окне Диспетчер служб IIS, в левой части, разворачиваем ветку под необходимым сервером, выбираем созданный сервер. В основной части окна выбираем Параметры SSL FTP.
2. В обновленном окне, в выпадающем списке, выбираем созданный сертификат, либо выданный центром сертификации, если такой имеется. Выбираем Требовать SSL-соединения. В правой части окна выбираем Применить. Закрываем окно, если необходимо.
Для подключения к защищенному FTP-серверу рекомендуем использовать программу WinSCP.
Файловый протокол — FTP
Шифрование — Явное шифрование TLS/SSL (TLS/SSL Explicit encryption)
Имя узла — IP-адрес или доменное имя.
Порт — 21, либо который был указан.
Имя и пароль пользователя системы.
Кликаем Войти (Login)
Аverage rating : 3.7
Оценок: 3
220140
Минск
ул. Домбровская, д. 9
+375 (173) 88-72-49
700
300
ООО «ИТГЛОБАЛКОМ БЕЛ»
220140
Минск
ул. Домбровская, д. 9
+375 (173) 88-72-49
700
300
ООО «ИТГЛОБАЛКОМ БЕЛ»
700
300
Несмотря на то, что протоколу FTP, являющемуся одним из старейших протоколов, уже исполнилось больше 40 лет, он продолжает использоваться повсеместно там, где требуется простой протокол передачи файлов. Сервер FTP можно установить на всех операционных системах Microsoft. Последняя глубокая модернизация этой службы была произведена в Windows 7 / Server 2008 R2 (по сути код сервиса был переписан заново). Была существенно улучшена безопасность службы, и появился ряд новых возможностей. В частности, в FTP сервере на Windows появилась возможность настроить изоляцию FTP пользователей, позволяющая разграничить доступ множества пользователей к собственным папкам на одном FTP сервере.
Благодаря возможности изоляции пользователи могут работать только со своими ftp каталогами, и не могут подняться выше по дереву каталогов, т.к. каталог верхнего уровня пользователя отображается для него, как корень службы FTP. Таким образом можно предотвратить доступ пользователей к чужим файлам на FTP сервере. Изоляция FTP пользователей широко применяется хостинг-провайдерами, когда нужно предоставить индивидуальный доступ различным пользователям к одному файловому хранилищу.
Как и в предыдущих версиях Windows, служба FTP (не путайте с sFTP и TFTP) в Windows Server 2016/2012 R2 основана и глубоко интегрирована в сервис IIS, и имеет единый административный интерфейс управления. В этой статье мы покажем, как установить сервер FTP на базе IIS в Windows Server 2016 / 2012 R2 и настроить на нем изоляцию пользователей (инструкция также применима и к Windows 10 / 8.1).
Содержание:
- Установка роли FTP сервера в Windows Server 2016/ 2012 R2
- Настройка FTP сайта в Windows Server, предоставление прав пользователям
- Настройка изоляции FTP пользователей в Windows Server 2016/2012 R2
- Настройка правил брандмауэра Windows для доступа к FTP серверу
- Проверка подключения к FTP серверу с Windows клиента
Установка роли FTP сервера в Windows Server 2016/ 2012 R2
Установить сервис FTP можно через консоль Server Manager, отметив в разделе Web Server(IIS) -> FTP Server опции FTP Service и FTP Extensibility.
Также можно установить роль FTP сервера одной командой PowerShell:
Install-WindowsFeature Web-FTP-Server
Чтобы установить консоль управления FTP сервером выполните команду:
Install-WindowsFeature -Name "Web-Mgmt-Console"
Настройка FTP сайта в Windows Server, предоставление прав пользователям
Запустите Server Manager и откройте консоль управления IIS (Internet Information Service Manager).
Создайте новый FTP сайт (Sites ->Add FTP Site).
Имя FTP сайта: MyTestSite
Корневой каталог FTP сайта: C:\inetpub\ftproot
Для защиты передаваемых по сети ftp-данных возможно настроить SSL (в этом случае все передаваемые по сети данные и пароли/учетки ftp-пользователей будут зашифрованы), но в нашей демонстрации это не обязательно. Все остальные настройки оставляем стандартными.
Вы можете управлять FTP сайтом с помощью модуля PowerShell WebAdministration. Напримерм, чтобы создать новый FTP сайт достаточно выполнить команды:
Import-Module WebAdministration
#Задаем имя FTP сайта
$FTPSiteName = 'New FTP Site'
#Каталог FTP сайта
$FTPRoot = 'E:\www\FTPRoot'
#порт FTP сайта
$FTPPort = 21
New-WebFtpSite -Name $FTPSiteName -PhysicalPath $FTPRoot -Port $FTPPort
Выберите новый FTP сайт и в секции FTP Authentication (Аутентификация) отключите анонимную аутентификацию Anonymous Authentication. Basic Authentication должна быть включена.
FTP служба на Windows Server 2016 / 2012 R2 может использовать два типа учетных записей: доменные или локальные. В зависимости от типа учетной записи есть различия в структуре каталогов FTP и настройках изоляции пользователей. Мы будем использовать локальные учетные записи Windows.
Создайте FTP пользователей, допустим, это будут учетные записи ftp_user1, ftp_user2 и ftp_user3. Также создайте группу ftp_users, в которую включим этих пользователей. Создать пользователей можно в разделе Local Users and Groups консоли Computer Management.
Также можно создать пользователей и группы из командной строки (или с помощью PowerShell). Создайте локальную группу:
net localgroup ftp_users /add
Создайте нового локального пользователя:
net user ftp_user1 /add *
Добавьте пользователя в группу:
net localgroup ftp_users ftp_user1 /add
Точно так же создайте еще двух пользователей.
Предоставьте созданной группе ftp_users права (RW) на каталог C:\inetpub\ftproot.
Внутри каталога C:\inetpub\ftproot создадйте каталог с именем LocalUser (имя должно полностью соответствовать, это важно!!!). Затем внутри C:\inetpub\ftproot\LocalUser создайте три каталога с именами созданных вами пользователей: ftp_user1, ftp_user2, ftp_user3.
Примечание. В зависимости от типа учетных записей необходимо создать следующую структуру каталогов (под %FtpRoot%\ подразумевается корень сайта FTP, в нашем случае это C:\inetpub\ftproot\):
Тип учетной записи | Синтаксис именования домашних каталогов |
Анонимные пользователи | %FtpRoot%\LocalUser\Public |
Локальная учетная запись Windows | %FtpRoot%\LocalUser\%UserName% |
Доменная учетная запись Windows | %FtpRoot%\%UserDomain%\%UserName% |
Специальные учетки IIS Manager или ASP.NET | %FtpRoot%\LocalUser\%UserName% |
Вернитесь в консоль IIS и в разделе сайта FTP Authorization Rules создайте новое правило (Add Allow Rule), в котором укажите, что группа ftp_users должна иметь права на чтение и запись (разрешения Read и Write).
Настройка изоляции FTP пользователей в Windows Server 2016/2012 R2
Перейдем к настройке изоляции пользователей 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 пользователей).
При любых изменениях настроек FTP сайта в IIS желательно перезапускать службу Microsoft FTP Service (FTPSVC).
Настройка правил брандмауэра Windows для доступа к FTP серверу
При установке роли FTP сервера в настройках Windows Firewall автоматически активируются все необходимые правила, которые нужна для доступа пользователей к FTP.
Для корректной работы FTP севера в пассивном режиме FTP пользователям нужно подключаться к RPC диапазону портов (1025-65535). Чтобы не открывать все эти порты на внешнем файерволе, вы можете ограничить диапазон динамических TCP портов, используемых для передачи данных.
- Для этого в настройках FTP сайта в IIS откройте пункт FTP Firewall Support и в поле Data Channel Port Range укажите диапазон портов, который вы хотите использоваться для FTP подключений. Например – 50000-50100;
- Сохраните изменения и перезапустите IIS (iisreset);
- Откройте панель управления и перейдите в Control Panel\System and Security\Windows Firewall\Allowed apps;
- Убедитесь, что в списке приложении, которым разрешен доступ через брандмауэр присутствуют разрешения для FTP Server.
Затем в настройках Windows Firewall with Advanced Security проверьте, что включены следующие правила:
- FTP Server (FTP Traffic-In) – протокол TCP, порт 21;
- FTP Server Passive (FTP Passive Traffic-In) – адрес локального порта 1024-65535 (либо 50000-50100 как в нашем примере);
- FTP Server Secure (FTP SSL Traffic-In) – (при использовании FTP с SSL) порт 990;
- FTP Server (FTP Traffic-Out) – порт 20;
- FTP Server Secure (FTP SSL Traffic-Out) – (при использовании FTP с SSL) порт 989.
Соответственно эти порты нужно открыть на шлюзе (межсетевом экране) для подключения внешних FTP пользователей.
Проверка подключения к FTP серверу с Windows клиента
Вы можете проверить доступность портов на FTP сервере с помощью командлета Test-NetConnection:
Test-NetConnection -ComputerName yourftpservername -Port 21
Или с помощью команды ftp:
ftp yourftpservername
Попробуйте подключиться к своему FTP сайту с помощью любого клиента FTP или непосредственно из Explorer (в адресной строке указав ftp://yourservername/.
Укажите имя и пароль пользователя.
В результате у вас откроется содержимое домашнего каталога с файлами пользователя (являющимся для пользователя корнем FTP сайта). Как вы видите, сессия пользователя является изолированной и пользователь видит на ftp сервера только свои файлы.
Совет. Если вы хотите использовать анонимный доступ (All anonymous Users), подключаться к вашему FTP серверу смогут любые пользователи, используя в качестве имени anonymous или guest, а в качестве пароля — email-адрес. При анонимном подключении к FTP сайту – сессия будет ограничена каталогом LocalUser\Public (естественно каталог Public должен быть создан предварительно).
Для просмотра информации о доступе пользователей к FTP серверу можно использовать журналы FTP, которые по умолчанию хранятся в каталоге c:\inetpub\logs\logfiles в файлах формата u_exYYMMDD.log.
Для просмотра текущих подключений пользователей к вашему серверу можно пользоваться значениями счетчиками пользователей IIS через PowerShell или функцией «Текущие сеансы FTP» в консоли IIS. В этой консоли можно посмотреть информацию об имени и IP адресе FTP пользователя и отключить сессию при необходимости.
Итак, мы рассмотрели, как настроить FTP сайт с изоляцией пользователей на базе Windows Server 2016 / 2012 R2. В режиме изоляции пользователи аутентифицируются на FTP под своими локальным или доменным учетными записями, после чего они получают доступ к своему корневому каталогу, соответствующему имени пользователя.
FTP (File Transfer Protocol) is a very popular protocol that allows users to upload and download files easily. Windows Server 2012 is packed up with FTP features. You can configure FTP server in Windows Server 2012 by installing FTP server role. In this article, I will show you step by step process of installing and configuring FTP server role in Windows Server 2012.
At first, install the FTP server role. In Server 2012, you can install FTP server role under the IIS server role. So, let’s get started. Open Server Manager. On the menu, click Manage and click Add Roles and Features.
Click Next on Before You Begin window. Click Role-based or feature based installation and click Next.
Select the server and click Next again.
Now, expand the web server (IIS) role. Select the FTP server and click Next. Please note you have to install IIS role if you do not see FTP Server role option.
We don’t need to add any features, so click Next again. Click Finish on the Confirmation window.
After installing FTP server role, open the Internet Information Services (IIS) console. Connect to the local server. Expand the local server.
Right-click the sites and click Add FTP Site.
Now type the name for the FTP site. Configure the folder where the files will be stored. Create some files in the folder for test purpose. I will create a file and a folder. These files will be accessed via FTP client by users. Now click Next.
Configure the IP address of this server. The IP address must match the address configured in the network adapter of this server. This IP address will be used by client to access the FTP server. Check the start FTP site automatically. Choose No SSL and click Next.
Choose Basic for authentication. Basic authentication doesn’t use encryption mechanism so username/password are sent in clear text. By default, basic authentication matches username/password from Active Directory database or you can create user accounts in IIS. You can create users in IIS after installing Management Server under Management Tools which is in Web Server (IIS) role. Under authorization, select all users to allow FTP access to all users of the domain. Check both read and write under permissions.
Now browse FTP server from the client machine. Type the IP address on the browser as ftp://192.168.1.1/. It will show the following page.
Now, press ALT key in you keyboard which will show the menu bar. Then click View and click Open FTP site in File Explorer.
Now the FTP server will ask for username and password. Enter the username and password which was created in AD Users and Computers. Then click Log On. Here, I had already created username called JCorner in active directory.
After clicking the Log On button you can see the files in the FTP server.
You can see the file and folder in the FTP server. You can also use FTP client like, FileZilla to access the FTP server from client machine. So, this is how you install and configure FTP server.
The following two tabs change content below.
- Bio
- Latest Posts
Bipin is a freelance Network and System Engineer with expertise on Cisco, Juniper, Microsoft, VMware, and other technologies. You can hire him on UpWork. Bipin enjoys writing articles and tutorials related to Network technologies. Some of his certifications are, MCSE:Messaging, JNCIP-SEC, JNCIS-ENT, and others.
Table of Contents
1
Setting up FTP (File Transfer Protocol) on Windows Server 2012 is essential for file sharing and data transfers between different machines. FTP is a reliable and efficient protocol for transferring large files over the internet. In this blog post, we will explore the different methods for setting up FTP on a Windows Server 2012 machine. You will learn how to secure your FTP server, configure user permissions, and how to access your server from a remote location.
Video Tutorial:
Why You Need to Setup FTP on Windows Server 2012
FTP is a popular protocol for transferring large files over the internet as it is reliable, efficient, and supports multiple platforms. It is an essential tool for businesses and organizations that need to share large files with customers, clients, and employees. Setting up FTP on a Windows Server 2012 machine also allows you to host a web server, serve images and multimedia files, and offer remote access to files from multiple clients.
There are many benefits to setting up FTP on a Windows Server 2012 machine. Some of these are:
– Reduced network traffic as files are stored on the server, reducing the need for emailing large files
– Easier collaboration between employees across various offices and locations
– Increased security as FTP offers multiple authentication methods and can be configured to limit access to specific users, groups, or IP addresses.
Method 1: Setting up FTP using the IIS Manager
Microsoft Windows Server 2012 comes with built-in support for FTP, and one of the easiest ways to set it up is by using the Internet Information Services (IIS) Manager. Here’s how to do it:
1. Open the IIS manager by searching for «IIS» in the Windows search bar.
2. Select the server name in the Connections pane on the left side of the screen.
3. Scroll down to the IIS section and double click on FTP site.
4. Click on Add FTP Site on the top-right corner of the screen.
5. Enter a name for your FTP site and select a physical path where the FTP files should be saved.
6. Select «No SSL» from the SSL drop-down menu unless you have a certificate you want to use.
7. Select an IP address for the FTP site to bind to. If you only have one IP address, leave it as «All Unassigned.«
8. Choose a port for your FTP site and specify a range of ports for passive FTP.
9. Allow or disallow anonymous access. If you allow it, select a user name and password for anonymous users.
10. Choose the authentication method for users, and specify a user name and password for each user account.
11. Click on Finish to create your FTP site.
Pros:
– Setting up FTP using the IIS manager is straightforward and user-friendly.
– It is a built-in feature of Windows Server 2012, so no additional software needs to be installed.
Cons:
– Setting up FTP using the IIS Manager does not support secure FTP over SSL/TLS.
Method 2: Setting up FTP using FileZilla Server
FileZilla Server is an open-source FTP server that enables you to transfer files securely over SSL/TLS protocol. It is easy to use and supports multiple authentication methods. Here’s how to set up FTP using FileZilla Server:
1. Download and install FileZilla Server from the official website.
2. Open FileZilla Server, and click on the Edit tab and select ‘Users’.
3. Click on Add user, enter a username, and select an authentication method.
4. Enter a password for the user account.
5. Click on Shared Folders, and choose a folder that the user can access.
6. Adjust the user’s permissions to limit access by selecting the correct boxes.
7. Click on the General Settings tab, and configure the FTP server settings.
8. Choose a port for the FTP server and choose SSL/TLS under the Encryption section.
9. Specify the SSL/TLS certificate details, such as the private key and certificate path.
10. Configure any firewall rules or port forwarding to allow traffic to the FTP server.
Pros:
– FileZilla Server offers secure FTP over SSL/TLS protocol.
– It supports multiple authentication methods.
Cons:
– Installing and configuring FileZilla Server can be more complex than the built-in FTP support provided by Windows Server 2012.
Method 3: Setting up FTP using PowerShell
Windows PowerShell is a powerful command-line tool that enables administrators to automate tasks on Windows machines. You can use the PowerShell FTP module to set up FTP servers on Windows Server 2012. Here’s how to do it:
1. Open PowerShell as an Administrator.
2. Type the following command to import the FTP module: Import-Module WebAdministration
3. Type the following command to create a new FTP site: New-WebFtpSite -Name «MyFTPSite» -Port 21 -PhysicalPath «C:\FTP\Site1» -AllowAnonymous AuthenticationTypes Anonymous
4. Type the following command to create a new FTP user: New-WebFtpUser -Name «FTPUser1» -Password «FTPUser1Password» -Path «C:\FTP\Site1«
5. Configure the FTP site settings and permissions using the appropriate commands.
Pros:
– PowerShell is a powerful tool for automating tasks and can save time for larger deployments.
– All settings are applied using commands in the PowerShell console, making configuration more streamlined.
Cons:
– Using PowerShell for FTP setup requires more advanced technical skills and may be more challenging for less experienced administrators.
What to Do If You Can’t Setup FTP on Windows Server 2012
If you can’t set up FTP on Windows Server 2012, there are a few things you can try to troubleshoot the issue:
– Check that the correct ports are open on your firewall and that port forwarding is set up correctly.
– Ensure that the account you are using is not blocked or disabled.
– Check that the FTP service is running correctly.
– Check that the antivirus software is not blocking the FTP ports.
If all else fails, seek expert help or consult online resources such as Microsoft’s TechNet forums.
Bonus Tip
To improve the security of your FTP server, use FTPS instead of FTP. FTPS is similar to FTP but encrypts all data transferred between the server and client using SSL/TLS protocols.
5 FAQs on Setting up FTP on Windows Server 2012
Q1: Do I need an SSL/TLS certificate for FTP?
A: No, it is not necessary. However, if you want to use secure FTP (FTPS), you will need to obtain an SSL/TLS certificate.
Q2: Can I limit user access to specific directories on the FTP server?
A: Yes, you can configure user permissions for each user account created on the FTP server.
Q3: How do I access my FTP server from a remote location?
A: You can access your FTP server from a remote location by entering the server’s IP address or domain name into an FTP client such as FileZilla.
Q4: Does Windows Server 2012 support SFTP?
A: No, Windows Server 2012 does not natively support SFTP.
Q5: Can I block IP addresses from accessing my FTP server?
A: Yes, you can use the firewall settings to block specific IP addresses or ranges from accessing your FTP server.
Final Thoughts
Setting up FTP on a Windows Server 2012 machine is not as difficult as it might seem. With the methods listed in this blog post, you can choose the one that best fits your needs. Whether you choose to use the IIS Manager, FileZilla Server, or PowerShell, it is important to prioritize security and user access when setting up your FTP server. By following the instructions and troubleshooting tips mentioned above, you can create a secure and efficient FTP server for file sharing and data transfers.
Прочитано:
3 935
Сегодня я задокументирую шаги, как поднять FTP сервис на операционной системе Windows Server 2012 R2 Standard. Ранее я уже выкладывал во всеобщее обозрение свою пошаговую заметку по настройке FTP на Server 2008 R2 SP1, да оно работает и по сей день. Сейчас же я хочу сделать все то же самое и под Server 2012 R2, за исключение что выкладывать для всех я не намерен. Я потратил кучу времени чтобы разобраться, как и что, а выложив в публичный доступ, на мне все кому нужна данная задача, просто заработают. А потому я только за платный доступ к собственным реальным наработкам. Ведь опыт приобретается с таким трудом.
Дальнейшие действия выполняю с правами Администратора на серверной операционной системе:
Шаг №1: Нажимаю Win + X → Control Panel — Administrative Tools — Server Manager — Dashboard — Add roles and features — Role-based or feature-based installation — Select a server from the server pool (srv-host: 10.7.8.177) отмечаю роль: Web Server (IIS), затем нажимаю по умолчанию Add Features (Web Server (IIS) — Management Tools — [Tools] IIS Management Console) → Нажимаю Next → Нажимаю Next → а теперь устанавливаю компоненты FTP роли Web Server (IIS):
FTP Server (FTP Service, FTP Extensibility) и нажимаю Next, Install, ожидаю:
или все то же самое выше, но через консоль командной строки запущенной с правами администратора:
Win + X — Command Prompt (Admin)
C:\Windows\system32>cd /d %systemroot%\system32\WindowsPowerShell\v1.0\
C:\Windows\System32\WindowsPowerShell\v1.0>powershell.exe
PS C:\Windows\System32\WindowsPowerShell\v1.0> Install-WindowsFeature Web-FTP-Server
После не забываем перезагрузиться сервер вне зависимости как происходила установки сервиса FTP:
PS C:\Windows\System32\WindowsPowerShell\v1.0> shutdown /r /t 3
Когда система загрузилась, авторизовываемся (хотя можно настроить AutoLogon для удобства) и продолжаем.
Шаг №2: Далее создаем каталог где будут располагаться файлы будущего FTP сервиса для обмена:
Win + X — Command Prompt (Admin)
C:\Windows\system32>mkdir c:\ftpfolder
Права на каталог должны быть следующими, отключено наследование и:
- группа SYSTEM — Full Control
- группа Administrators — Full Control
- группа Users — Удалена
- добавлена группа NETWORK SERVICE — права до уровня Modify, не полные (т. е. Не Full Control).
Шаг №3: Далее создаем новый FTP сайт:
Win + X — Control panel — Administrative Tools — Internet Information Services (IIS) Manager — SRV-HOST (SRV-HOST\Administrator) — и через правый клик мышью на Sites выбираю: => Add FTP Site…
- FTP site name: srv-host
- Physical path: c:\ftpfolder
Далее отмечаю на каком интерфейсе будет работать данный сервис:
Binding:
- IP Addresses: выбираю текущий IP адрес системы, в моем случае: 10.7.8.177
- Port: 21
- Start FTP site automatically: отмечаю галочкой
- SSL: пока не буду задействовать, это тема отдельной заметки и поэтом отмечаю: No SSL
На заметку: позже можно будет сменить порт если возникнет нужда.
После нажимаю Next, далее определяю как и под кем будет происходит аутентификация на FTP ресурсе:
- Authentication: Basic
- Authorization:
- Allow access to: Specified users
и указываю имена учетных записей: ftpuser1,ftpuser2
- Permissions: отмечаю галочкой Write
и нажимаю Finish.
Шаг №4: Теперь нужно создать данные выше учетные записи и присвоить им пароли, но вот в чем проблема нужной оснастки у меня нет, значит по аналогии, как в Server 2008 R2 нужно доустановить отсутствующие компоненты IIS:
Нажимаю Win + X → Control Panel — Administrative Tools — Server Manager — Dashboard — Add roles and features — Role-based or feature-based installation — Select a server from the server pool (srv-host:10.7.8.177) — разворачиваю роль Web Server (IIS) (11 of 43 installed) — Management Tools (1 of 7 installed) — и отмечаю галочками:
- IIS 6 Management Compatibility
- IIS 6 Metabase Compatibility
- IIS 6 Management Console
- IIS 6 Scripting Tools
- IIS 6 WMI Compatibility
- IIS Management Scripts and Tools
- Management Service
В процессе возникнет окно установки зависимостей, не забываем согласиться с установкой тоже.
и нажимаю Next, Next, отмечаю галочкой, что по завершении процесса установки компонентов IIS следует перезагрузить сервер (Restart the destinations server automatically if required) и нажимаю Install.
Шаг №5: А теперь возвращаемся к созданию логина и пароля:
Нажимаю Win + X → Control Panel — Administrative Tools — Internet Information Services (IIS) Manager — SRV-HOST (SRV-HOST\Administrator) — IIS Manager Users — Add User…
- User name: ftpuser1
- Password: Aa1234567@!
- Confirm password: Aa1234567@!
И еще одну учетную запись создаю с логином: ftpuser2.
Шаг №6: Далее нужно определить что доступ к FTP ресурсу будет осуществлен с использованием созданных учетных записей IIS, а не учетных записей системы:
Win + X → Control Panel – Administrative Tools – Internet Information Services (IIS) Manager – Start Page – SRV-HOST(SRV-HOST\Administrator) – Sites – srv-host – FTP Authentication – через правый клик мышью вызываю мастер: Custom Providers… и регистрирую провайдера IisManagerAuth.
Привожу настройки теперь к виду:
- Anonymous Authentication: Disabled
- Basic Authentication: Disables
- IisManagerAuth: Enable
Шаг №7: После запускаю оснастку управления/назначения прав на FTP (либо чтение, либо запись):
Win + X → Control Panel – Administrative Tools – Internet Information Services (IIS) Manager – Start Page – SRV-HOST(SRV-HOST\Administrator) — Sites — srv-host — FTP Authorization Rules и определяю права доступа → Add Allow Rule… —
- Specified users: ftpuser1,ftpuser2
- Permissions: Read & Write отмечаю галочками.
Шаг №8: Запираем пользователей FTP ресурса данным каталогом указанным в самом начале:
Win + X → Control Panel – Administrative Tools – Internet Information Services (IIS) Manager – Start Page – SRV-HOST(SRV-HOST\Administrator) — Sites — srv-host — FTP User Isolation:
- Do not isolate users. Start users. In: FTP root directory
Шаг №9: После изменяю, что по дефолту авторизация на FTP будет происходить только с применением специальных пользователей (созданных в оснастке IIS), а не Windows пользователей и Windows пользоваталей:
Win + X → Control Panel – Administrative Tools – Internet Information Services (IIS) Manager – Start Page – SRV-HOST(SRV-HOST\Administrator) —
(Management) Management Service:
- Enable remote connections: отмечаю галочкой
- Identity Credentials: Windows credentials or IIS Manager credentials
А после не забываем сохранить внесенные изменения нажатием на кнопку Apply.
Шаг №10: Затем следует поправить права на каталог IIS сервера:
C:\Windows\system32>CACLS "%SystemDrive%\Windows\System32\inetsrv\config" /G "Network Service":R /E
processed dir: C:\Windows\System32\inetsrv\config
C:\Windows\system32>CACLS "%SystemDrive%\Windows\System32\inetsrv\config\administration.config" /G "Network Service":R /E
processed file: C:\Windows\System32\inetsrv\config\administration.config
C:\Windows\system32>CACLS "%SystemDrive%\Windows\System32\inetsrv\config\redirection.config" /G "Network Service":R /E
processed file: C:\Windows\System32\inetsrv\config\redirection.config
C:\Windows\system32>iisreset /stop
C:\Windows\system32>iisreset /start
Шаг №11: Затем добавляю, что к моему ресурсу с FTP Root каталогом (c:\ftpfolder) должны иметь доступ созданные пользователи IIS:
Win + X → Control Panel – Administrative Tools – Internet Information Services (IIS) Manager — SRV-HOST (SRV-HOST\Administrator) — Sites — srv-host — (Management) IIS Manager Permissons — Allow user… —
Select the type of user: отмечаю IIS Manager нажимаю Select и выбираю пользователей: ftpuser1,ftpuser2 и нажимаю OK
После проверяю, что сервис поднялся и ожидает соединения на 21 порт:
Win + X → Command Prompt (Admin) -
C:\Windows\system32>netstat -a | findstr /I ":21"
TCP 0.0.0.0:21 srv-host:0 LISTENING
TCP [::]:21 srv-host:0 LISTENING
Шаг №12: Проверяю, как работает подключение через проводник:
Win + X — File Explorer — и в строке адреса указываем по следующему синтаксису обращение к FTP сервису: ftp://10.7.8.177:21/ и нажимаем клавишу Enter, следом появляется окно аутентификации, указываем:
- User name: ftpuser1
- Password: Aa1234567@!
и нажимаем кнопку Log On, после авторизация проходит успешно и я могу создавать файлы, папки, удалять, переименовывать.
Итого работает.
Только после советую проверить подключение с другой станции к этому FTP сервису, если подключение не происходит, то нужно проверить наличие включенных правил брандмауэера или отключить его
Win — X — Command prompt (Admin):
C:\Windows\system32>netsh advfirewall set allprofiles state off
а после с Ubuntu системы проверить, открыт ли 21 порт через который работает FTP сервис по умолчанию:
ekzorchik@srv-mail:~$ sudo nmap -p21 10.7.8.177
Starting Nmap 6.40 ( http://nmap.org ) at 2017-03-29 08:59 MSK
Nmap scan report for 10.7.8.177
Host is up (0.00073s latency).
PORT STATE SERVICE
21/tcp open ftp
MAC Address: 08:00:27:9B:68:4A (Cadmus Computer Systems)
Nmap done: 1 IP address (1 host up) scanned in 0.48 seconds
Видно, что порт открыт, значит и удаленное подключение можно произвести, как с Ubuntu системы так и с рабочей станции через утилиту FileZilla.
Вот собственно и все действия которые необходимо проделать чтобы на серверной системе Windows Server 2012 R2 Standard поднять сервис FTP для передачи файлов. Хочу отметить, что для защиты каталога от возможного заражения поставить на текущую систему FSRM с запретом записи исполняемых файлов и уведомлением по почте если такая попытка происходит. А также настройка квоты на FTP каталог. На этом всё, с уважением автор блога Олло Александр aka ekzorchik.