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:inetpubftproot
Для защиты передаваемых по сети ftp-данных возможно настроить SSL (в этом случае все передаваемые по сети данные и пароли/учетки ftp-пользователей будут зашифрованы), но в нашей демонстрации это не обязательно. Все остальные настройки оставляем стандартными.
Вы можете управлять FTP сайтом с помощью модуля PowerShell WebAdministration. Напримерм, чтобы создать новый FTP сайт достаточно выполнить команды:
Import-Module WebAdministration
#Задаем имя FTP сайта
$FTPSiteName = 'New FTP Site'
#Каталог FTP сайта
$FTPRoot = 'E:wwwFTPRoot'
#порт 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:inetpubftproot.
Внутри каталога C:inetpubftproot создадйте каталог с именем LocalUser (имя должно полностью соответствовать, это важно!!!). Затем внутри C:inetpubftprootLocalUser создайте три каталога с именами созданных вами пользователей: ftp_user1, ftp_user2, ftp_user3.
Примечание. В зависимости от типа учетных записей необходимо создать следующую структуру каталогов (под %FtpRoot% подразумевается корень сайта FTP, в нашем случае это C:inetpubftproot):
Тип учетной записи | Синтаксис именования домашних каталогов |
Анонимные пользователи | %FtpRoot%LocalUserPublic |
Локальная учетная запись 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 PanelSystem and SecurityWindows FirewallAllowed 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 сайту – сессия будет ограничена каталогом LocalUserPublic (естественно каталог Public должен быть создан предварительно).
Для просмотра информации о доступе пользователей к FTP серверу можно использовать журналы FTP, которые по умолчанию хранятся в каталоге c:inetpublogslogfiles в файлах формата u_exYYMMDD.log.
Для просмотра текущих подключений пользователей к вашему серверу можно пользоваться значениями счетчиками пользователей IIS через PowerShell или функцией «Текущие сеансы FTP» в консоли IIS. В этой консоли можно посмотреть информацию об имени и IP адресе FTP пользователя и отключить сессию при необходимости.
Итак, мы рассмотрели, как настроить FTP сайт с изоляцией пользователей на базе Windows Server 2016 / 2012 R2. В режиме изоляции пользователи аутентифицируются на FTP под своими локальным или доменным учетными записями, после чего они получают доступ к своему корневому каталогу, соответствующему имени пользователя.
Обновлено 20.05.2019
Как настроить ftp в Windows Server 2012 R2
Всем привет в первой части мы с вами установили IIS 8.5 и FTP, давайте теперь посмотрим, как настраивается простейший FTP сервер в Windows Server 2012 R2, я расскажу в каких случаях вам его удобно будет применять. Рассмотрим далее как его обезопасить и решить возникшие ошибки, а они могут быть, особенно у тех системных администраторов, кто это делает в первый раз, но прочитав данную заметку, они избегут этой участи и легко смогут продемонстрировать потом свои навыки и достижения перед коллегами и руководством.
Настройка ftp сервера
Настройка ftp сервера windows server 2012 начинвется вот с таких действий. Открываем меню Средства и выбираем Диспетчер служб IIS
Как настроить ftp в Windows Server 2012 R2-02
Откроется оснастка управления IIS и FTP.
Как настроить ftp в Windows Server 2012 R2-03
Давайте создадим наш ftp сервер, открываем Сайты, щелкаем правым кликом и выбираем Добавить FTP-сайт
Как настроить ftp в Windows Server 2012 R2-04
Вас попросят задать имя FTP-сайта и указать физический путь где будут хранится файлы фтп сервера.
Как настроить ftp в Windows Server 2012 R2-05
Можно задать привязки ip адресов или оставить все свободные, задать порт, по умолчанию это порт 21. При желании можно задать использование SSL и указаьб сертификат, мы пока поставим без SSL. Жмем далее
Как настроить ftp в Windows Server 2012 R2-06
Указываем тип проверки подлинности, либо Анонимный то есть открыты для всех или Обычная, с вводом логина и пароля. Ниже задаем группу или пользователя кому мы даем права на доступ, чтение или чтение с записью. Учтите что у пользователя или группы должны быть права на папку которая является каталогом для ftp иначе получите ошибку что нет прав.
Как настроить ftp в Windows Server 2012 R2-07
Все FTP создан при желании можете добавить пользователей или группы в пункте Правила авторизации FTP.
Как настроить ftp в Windows Server 2012 R2-08
Открываем на другом сервере проводник и пишем адрес вашего ftp сервера, откроется форма ввода пароля, если не открылась то закрыты порты вероятнее всего ниже расскажу как это исправить.
Как настроить ftp в Windows Server 2012 R2-09
Видим, мы получили доступ к серверу по протоколу ftp.
Как настроить ftp в Windows Server 2012 R2-10
Вот так вот просто настроить ftp в Windows Server 2012 R2. Если у вас выскочила ошибка:
В ходе открытия папки на FTP-сервере произошла ошибка.
Убедитесь, что у вас есть разрешение открыть эту папку.
Подробности. Операция прервана по тайм ауту.
В ходе открытия папки на FTP-сервере произошла ошибка.
То читайте как ее решить в статье Ошибка В ходе открытия папки на FTP-сервере произошла ошибка. Материал сайта pyatilistnik.org
FTP — это протокол предназначенный для транспортировки файлов в компьютерных сетях. Данный протокол вы можете использовать для обмена файлами между сервером и локальным персональным компьютером по TCP-сетям используя 21 протокол. Так же есть другие альтернативные версии протоколов передачи данных, но FTP является одним из старейших и за долгое время службы показал себя очень хорошо и надежно. Сам же протокол настроен таким образом, что пользователи с различных компьютеров и их конфигураций могут эффективно и без лишних трудностей обмениваться файлами.
Мы будем устанавливать FTP-сервер в роли веб-сервера IIS (вы можете использовать другое ПО, например Titan FTP Server).
Установка
Выберите второй пункт для добавление ролей и компоненотов в Диспетчере серверов.
Следующим шагом необходимо выбрать тип установки.
Выберите необходимый вам сервер из списка и перейдите к следующему шагу.
Теперь вам необходимо найти и отметить FTP-сервер в списке ролей IIS.
Остается только подтвердить установку сервера.
В левом меню открытого диспетчера IIS нажмите правой кнопкой мыши на древо «Сайты» с последующим выбором подменю «Добавить FTP-сайт».
Введите название вашего сервера и назначьте директорию где будут содержаться файлы.
Следующим шагом выберите IP-адрес сервера (должен совпадать с IP-адресом который вы указали в панели управления). Выберем базовые настройки установив отметки напротив «Запускать FTP автоматически» и «Без SSL».
Настроим сведения о проверки подлинности и авторизации.
Проверка подлинности – «обычная». Разрешим доступ всем авторизовавшимся пользователям и дадим право на чтение и запись. После чего, нажав «готово» ваш сайт должен появится в древовидной структуре сервера.
Настройка брандмауэра Windows
Для того, чтобы получить возможность к внешнему подключению к FTP-серверу нужно настроить Firewall. Откроем Брандмауэр (встроенный сетевой экран, который является важной частью центра безопасности Windows, который непосредственно осуществляет контроль доступа программ в сеть) в режиме повышенной безопасности и выберем в меню слева «Правила для входящих подключений» и создадим новое.
В следующем окне после выбора типа «Предопределенные» в выпадающем списке выберите FTP-сервер.
Следующим шагов вам просто нужно отметить все поля галочками.
Укажите действие, которое должно выполниться, когда подключение будет удовлетворять указанным условиям – «Разрешить подключение».
Подключение к FTP-серверу
Подключиться к серверу вы можете несколькими вариантами, через стандартную программу Windows Проводник, или к примеру через программу FileZilla.
Мы выберем вариант с подключением через Проводник. Введите в адресной строке:
ftp://ip-адрес
Пример: ftp://156.237.14.55
В открывшемся окне укажите данные для подключения которые вы так же можете найти в персональной панели управления.
Стоит отметить, что веб-сервер IIS дает возможность гибко настраивать подключение – есть возможность разделять видимость для разных пользователей, настраивать права доступа и использовать анонимность.
После проделанных действия вы увидите содержание папки сервера:
FTP-сервер обладает широким спектром возможностей:
- возможность изоляции пользователей (это способствует тому, что пользователи имеют возможность работать только с разрешенными им каталогами не поднимаясь по древу сервера выше по иерархии, таким образом пользователь ограничен от чужих данных на FTP-сервере;
- поддержка SSL (стоит обратить внимание на данный аспект, поскольку нам необходимо обеспечивать безопасность всех данных в сети интернет, с помощью SSL мы передаем зашифрованную информацию по незащищенным каналам, подробнее вы можете прочесть в наших инструкциях по SSL);
- ведение журнала задавая различные параметры (тут мы можем найти системные сообщения сервера, которые выделяются разными цветами в зависимости от важности и имеем возможность настраивать фильтры).
Настройка FTPS (Secure FTP – расширение самого протокола, которое включает в себя полную поддержку криптографических протоколов, например SSL)
Есть несколько вариантов повысить безопасность файлового сервера, например можно использовать SSL сертификат. Мы рассмотрим именно этот вариант, но существуют так же варианты альтернативных шифрований, изоляция самой среды и использование фаерволов.
Сертификаты делятся на два вида – самоподписанный и заверенный официальным центром по сертификации. Отметим, что наиболее доверенным и надежным является сертификат заверенный официальным центром, подробнее вы можете узнать в статье о разнице между этими видами. Пользователи которые имеют доступ к вашему FTPS серверу будут оповещены о созданном локальном самостоятельно заверенном сертификате.
Рассмотрим процесс создания:
- Выберите пункт Сертификаты и сервера в диспетчере IIS
- В меню справа выберите «Создать самозаверенный сертификат»
- Укажите его имя
Теперь приступим к настройке FTP Secure. Перейдем на главную страницу вашего FTP-сайта и откроем параметры SSL FTP.
В выпавшем окне необходимо выбрать политику SLL – «Требовать SSL-соединения» и нажать Применить.
Чтобы подключиться через защищенный канал мы будем использовать программу WinSCP. Введите следующие настройки после запуска:
- протокол передачи данных выберем FTP;
- явное шифрование;
- имя хоста – ip-адрес или домен вашего сервера;
- — по умолчанию 21 порт
- — пароль и имя пользователя системы
После чего перед вами появится содержимое вашего каталога.
На этом установка и настройка FTP на Windows окончена. В нашей базе знаний вы найдёте ещё множество статей посвящённых различным аспектам работы в Windows, а если вы ищете надежный виртуальный сервер под управлением Windows, обратите внимания на нашу услугу — Аренда виртуального сервера Windows.
Расскажем, как установить и настроить FTP-сервер на VPS под управлением ОС Windows Server 2012, а также настроить брандмауэр, подключить к серверу, плюс дополнительно настроить Secure FTP.
Аббревиатура FTP (File Transfer Protocol) обозначает протокол передачи файлов. FTP предназначен для передачи файлов между машинами в сети. Можно использовать FTP для обмена файлами между локальным ПК и удаленным сервером, для доступа к онлайн-архивам ПО.
В частности, мы рассмотрим установку FTP-сервера в качестве web-сервера IIS, а кроме того, вы можете использовать другое ПО, например — FileZilla Server, Titan FTP Server, Home Ftp Server, Ocean FTP Server.
Установка FTP-сервера
Откройте Диспетчер серверов, выберите пункт «Добавить роли и компоненты».
Нажмите на тип установки «Установка ролей или компонентов».
Теперь выберите необходимый сервер из пула. Нажмите Далее.
Найдите в списке ролей веб-сервер IIS и разверните его. Теперь отметьте галочкой запись «FTP-сервер» и нажмите Далее.
Внимание: в некоторых версия веб-сервера IIS роль FTP-сервера может располагаться на другой странице.
Необходимо подтвердить установку FTP-сервера.
Затем откройте диспетчер служб IIS. Нажмите правой кнопкой мыши «Сайты» и в вертикальном меню выберите «Добавить FTP сайт».
Теперь вам следует указать название FTP-сайта и ввести путь до каталога, в котором будут храниться файлы.
Теперь выберите IP-адрес сервера (он должен совпадать с адресом, указанным в панели управления сервером), установите галочку напротив «Запускать сайт FTP автоматически» и «Без SSL»:
Затем нужно выбрать обычную аутентификацию и разрешить доступ всем пользователям (на чтение и запись).
В следующем окне в качестве аутентификации выберите «Обычная». Авторизация — Все пользователи. Поставьте галочки на нужных разрешениях чтения и записи и нажмите кнопку «Готово».
Сайт появится в древовидной структуре веб-сервера.
Настраиваем брандмауэр
Вначале нужно настроить firewall для внешнего подключения к ftp-серверу. Откройте Брандмауэр Windows в режиме повышенной безопасности и в вертикальном левом меню найдите Правила для входящих подключений, а в вертикальном правом меню -Создать правило.
В открывшемся окне выберите тип «Предопределенные», а в выпадающем списке отметьте FTP-сервер. Нажмите «Далее».
Поставьте галочки на всех строках и нажмите Далее.
На следующем этапе разрешите подключение и нажмите Готово. Перезагрузите сервер, чтобы измененные правила вступили в силу.
Подключение к FTP-серверу
Для подключения к FTP-серверу можно использовать несколько технологий, в том числе через стандартную утилиту Windows — Проводник, а также через программу FileZilla.
В качестве примера проиллюстрируем подключение через Проводник. Введите в адресной строке:
ftp://ip-адрес
Например, ftp://188.227.16.74
Появится окно ввода логина и пароля, в нем введите данные для подключения из панели управления сервером.
Внимание: веб-сервер IIS предоставляет возможности гибкой настройки подключения к FTP-серверу, например разделения видимости пространства для разных пользователей, включения анонимного доступа и настройки прав.
В результате будет предоставлено содержимое папки FTP-сервера:
Внимание: встроенный ftp-сервер web-сервера IIS располагает внушительными возможностями, включая: изоляция пользователей, поддержка SSL, ограничение попыток входа на сервер, ведение журнала с различными параметрами.
Настройка Secure FTP
Можно использовать SSL сертификаты для повышения уровня безопасности вашего файлового сервера. Используется один из двух типов сертификатов: самоподписанный и заверенный центром сертификации. Разумеется, более надежным является второй вариант: файлы центра сертификации.
При созданном локально и самостоятельно заверенном сертификате пользователи вашего сервера FTPS будут предупреждены при подключении к серверу.
Как создать самозаверенный сертификат:
В диспетчере IIS откройте IIS> Сертификаты сервера.
Нажмите «Создать самозаверенный сертификат» в вертикальном правом меню.
Укажите имя сертификата.
Перейдите на начальную страницу вашего FTP-сайта для настройки FTP Secure и двойным щелчком мыши откройте «Параметры SSL FTP».
В открывшемся окне выберите политику «Требовать SSL-соединения», а в выпадающем списке отметьте ваш сертификат и нажмите «Применить».
Подключитесь через защищенный канал с помощью программы WinSCP, а затем выполните такие действия:
в качестве протокола выберите FTP;
шифрование Явное шифрование TLS/SSL;
имя хоста — домен или ip-адрес;
порт — 21, если не настраивался другой;
имя и пароль пользователя системы;
Нажмите «Войти».
Откроется содержимое ftp-каталога!
Прочитано:
3 721
Сегодня я задокументирую шаги, как поднять 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:Windowssystem32>cd /d %systemroot%system32WindowsPowerShellv1.0
C:WindowsSystem32WindowsPowerShellv1.0>powershell.exe
PS C:WindowsSystem32WindowsPowerShellv1.0> Install-WindowsFeature Web-FTP-Server
После не забываем перезагрузиться сервер вне зависимости как происходила установки сервиса FTP:
PS C:WindowsSystem32WindowsPowerShellv1.0> shutdown /r /t 3
Когда система загрузилась, авторизовываемся (хотя можно настроить AutoLogon для удобства) и продолжаем.
Шаг №2: Далее создаем каталог где будут располагаться файлы будущего FTP сервиса для обмена:
Win + X — Command Prompt (Admin)
C:Windowssystem32>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-HOSTAdministrator) — и через правый клик мышью на 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-HOSTAdministrator) — 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-HOSTAdministrator) – 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-HOSTAdministrator) — 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-HOSTAdministrator) — 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-HOSTAdministrator) —
(Management) Management Service:
- Enable remote connections: отмечаю галочкой
- Identity Credentials: Windows credentials or IIS Manager credentials
А после не забываем сохранить внесенные изменения нажатием на кнопку Apply.
Шаг №10: Затем следует поправить права на каталог IIS сервера:
C:Windowssystem32>CACLS "%SystemDrive%WindowsSystem32inetsrvconfig" /G "Network Service":R /E
processed dir: C:WindowsSystem32inetsrvconfig
C:Windowssystem32>CACLS "%SystemDrive%WindowsSystem32inetsrvconfigadministration.config" /G "Network Service":R /E
processed file: C:WindowsSystem32inetsrvconfigadministration.config
C:Windowssystem32>CACLS "%SystemDrive%WindowsSystem32inetsrvconfigredirection.config" /G "Network Service":R /E
processed file: C:WindowsSystem32inetsrvconfigredirection.config
C:Windowssystem32>iisreset /stop
C:Windowssystem32>iisreset /start
Шаг №11: Затем добавляю, что к моему ресурсу с FTP Root каталогом (c:ftpfolder) должны иметь доступ созданные пользователи IIS:
Win + X → Control Panel – Administrative Tools – Internet Information Services (IIS) Manager — SRV-HOST (SRV-HOSTAdministrator) — 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:Windowssystem32>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:Windowssystem32>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.