FTP over SSL (FTPS) в Windows Server 2012 R2
Одним из основных недостатков протокола FTP для передачи файлов – отсутствие средств защиты и шифрования передаваемых данных. Имя и пароль пользователя при подключении к FTP серверу также передаются в открытом виде. Для передачи данных (особенно по публичным каналам связи) рекомендуется использовать более безопасные протоколы, такие как FTPS или SFTP. Рассмотрим, как настроить FTPS сервер на базе Windows Server 2012 R2.
Протокол FTPS (FTP over SSL/TLS, FTP+SSL) – является расширением стандартного протокола FTP, но соединение между клиентом и сервером защищается (шифруется) с помощью протоколов SSL /TLS. Как правило, для подключения используется тот же самый порт 21.
Поддержка FTP over SSL появилась в IIS 7.0 (Windows Server 2008). Для работы сервера FTPS, на веб сервере IIS понадобится установить SSL сертификат.
Установка роли FTP сервера
Установка роли FTP сервера на Windows Server 2012 проблем не вызывает и уже не раз описана.
Генерация и установка на IIS SSL сертификата
Затем открываем консоль IIS Manager, выбираем сервер и переходим в раздел Server Certificates.
Этот раздел позволяет импортировать сертификат, создать запрос на получение сертификата, обновить сертификат или создать самоподписанный сертификат. В целях демонстрации мы остановимся на самоподписанном сертфикате (его также можно создать с помощью командлета New-SelfSifgnedCertificate). При обращении к сервису будет появляться предупреждение о том, что сертификат выдан недоверенным CA, чтобы отключить это предупреждение для данного сертификата, его можно добавить в доверенные через GPO.
Выбираем Create Self-Signed Certificate.
В мастере создания сертификата указываем его имя и выбираем тип сертификата Web Hosting.
Самоподписанный сертификат должен появиться в списке доступных сертификатов. Срок действия сертификата – 1 год.
Создаём FTP сайт с поддержкой SSL
Далее нужно создать FTP сайт. В консоли IIS щелкаем ПКМ по узлу Sites и создаем новый FTP сайт (Add FTP).
Указываем имя и путь к корневому каталогу FTP сайта (у нас каталог по-умолчанию C:\inetpub\ftproot).
На следующем шаге мастера в разделе SSL сертификатов выбираем созданный нами сертификат.
Осталось выбрать тип аутентификации и права доступа пользователей.
На этом завершаем работу мастера. По умолчанию SSL защита является обязательной и используется для шифрования как команд управления так и и передаваемых данных.
FTPS и межсетевые экраны
При использовании протокола FTP используется 2 разных TCP соединения, по одному передаются команды, по другому данные. Для каждого канала данных открывается свой TCP порт, номер которого выбирается сервером или клиентом. Большинство файерволов позволяют инспектировать FTP трафик и, анализируя его, автоматически открывать нужные порты. При использовании защищенного FTPS передаваемые данные закрыты и не поддаются анализу, в результате межсетевой экран не может определить какой порт нужно открыть для передачи данных.
Чтобы не открывать снаружи к FTPS серверу весь диапазон TCP портов 1024-65535, можно принудительно указать FTP серверу диапазон используемых адресов. Диапазон указывается в настройках сайта IIS в разделе FTP Firewall Support.
После изменения диапазона портов нужно перезапустить сервис (iisreset).
Во встроенном файерволе Windows за входящий трафик будут отвечать правила:
- FTP Server (FTP Traffic-In)
- FTP Server Passive (FTP Passive Traffic-In)
- FTP Server Secure (FTP SSL Traffic-In)
Соответственно на внешнем межсетевом экране придется открыть порты 21, 990 и 50000-50100 (выбранный нами диапазон портов).
Тестирование подключения FTP over SSL
Для тестирования подключения по FTPS воспользуемся клиентом Filezilla.
- Запустите FileZilla (или любой другой клиент с поддержкой FTPS).
- Нажмите File>SiteManager, и создайте новое подключение (NewSite).
- Укажите адрес FTPS сервера (Host), тип протокола (RequireexplicitFTPoverTLS), имя пользователя (поле User) и требование требовать ввод пароля для авторизации (Askforpassword)
- Нажимаем кнопку Connect и вводим пароль пользователя.
- Должно появиться предупреждение о недоверенном сертификате (при использовании самоподписанного сертификата). Подтверждаем соединение.
- Соединение должно установиться, а в журнале должны появиться строки:
Status: Initializing TLS.
Status: Verifying certificate.
Status: TLS connection established.
Установка TFTP сервера на Windows Server 2012 R2
Линейка продуктов Windows Server с незапамятных времен поддерживает возможность организации TFTP сервера. Хотя выделенная роль и служба TFTP сервера отсутствует (не стоит искать ее в разделе FTP сервера), этот функционал, как и в Windows Server 2003, является частью Windows Deployments Services (WDS). TFTP сервис функционирует внутри процесса svchost.exe службы WDS.
Протокол TFTP (Trivial File Transfer Protocol) упрощенный протокол передачи файлов, обеспечивающей простую возможность скачки и закачки файлов. Как правило, TFTP используется для организации систем загрузки по PXE (сетевая загрузка, бездисковые рабочие станции и пр.), загрузки/выгрузки конфигурации сетевого оборудования и ряда других специфичных задач. В проколе отсутствуют средства защиты, аутентификации и управления. Основное его преимущество – простота реализации клиентской части и высокая производительность при передачи файлов большого объема. Протокол работает по порту 69 UDP.
Чтобы установить службу TFTP на Windows Server 2012 R2, откройте консоль Server Manager и с помощью мастера Add Roles and Features Wiazrd выберите роль Windows Deployment Services (Службы развертывания Windows).
На следующем шаге мастера в компонентах роли WDS выбираем только Transport Server (Транспортный сервер), снимите галочку с Deployment Server.
После завершения установки роли необходимо создать каталог, который будет корневым каталогом для TFTP сервера, к примеру C:\tftp.
Затем с помощью редактора реестра в ветке HKLM\SYSTEM\CurrentControlSet\services\WDSServer\Providers\WDSTFTP создадим новый строковый (String) параметр с именем RootFolder, и значением, содержащим путь к корневому каталогу TFTP, созданному ранее.
Обратите внимание на значение параметра ReadFilter. По умолчанию он разрешает загрузку файлов только из каталогов \boot и\ tmp. Если потребуется возможность загрузки файлов из корня и других каталогов, нужно изменить значение параметра ReadFilter на \*.
Запустим службу WDS с помощью команды
Совет. Для автоматического запуска службы нужно изменить тип загрузки службы Windows Deployment Services на Auto с помощью оснастки services.msc или из командой строки PowerShell с помощью командлета Set-Service:
set-service WDSServer -StartupType Automatic
В брандмауэре Windows должно появится правило, разрешающее входящий трафик на порт UDP 69 (отвечает служба с произвольного номера порта выше 1023). Некоторые антивирусу могут блокировать порт 69 (в этом был замечен McAffee Enterprise)
На этом настройка TFTP сервера завершена.
Чтобы протестировать работу TFTP сервера, нам понадобится клиент TFTP. Установить его можно с помощью Server Manager, выбрав компонент TFTP Client.
Попытаемся локально обратиться к развернутому TFTP серверу и попробовать скачать файл test.zip
Скачать файл можно при помощи команды
tftp –i localhost GET tmp\test.zip C:\temp\test.zip
Результатом выполнения такой команды будет сохранённый файл c:\temp\test.zip, скачанный с локального сервера.
Это все в теории, а на практике после выполнения последней команды у меня появилась ошибка:
При запуске или перезапуске службы Windows Deployment Services Server в журнале Application появляется событие от службы WDSTFTP с EventID 259 и текстом:
The root folder for the Windows Deployment TFTP server is not configured.Error Information: 0x2
Чтобы заставить TFTP сервер работать, мне пришлось установить компонент роли WDS -> Deployment Service и сразу же удалить его. После его установки в ветке WDSTFTP нужно изменить значение ключа RootFolder с C:\RemoteInstall на c:\tftp. Пытаемся еще раз скачать файл:
PS C:\temp> tftp -i localhost get boot\test.zip
Итак, мы рассмотрели как быстро без использования сторонних средств развернуть TFTP сервер на Windows Server 2012. Функционал такого сервера будет довольно урезанным, поэтому для более сложных инсталляций, предпочтительнее использовать альтернативную реализацию TFTP сервера, к примеру, tftpd32.
Как настроить ftp в Windows Server 2012 R2
Как настроить ftp в Windows Server 2012 R2
Как настроить 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-сервере произошла ошибка.