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.

Примечание . Не стоит путать FTPS с SFTP (Secure FTP или SSH FTP) . Последний является расширением протокола SSH, не имеющий с FTP ничего общего.

Поддержка 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:inetpubftproot).

На следующем шаге мастера в разделе SSL сертификатов выбираем созданный нами сертификат.

Осталось выбрать тип аутентификации и права доступа пользователей.

Совет . Если для каждый пользователь должен иметь собственный корневой каталог FTP, можно воспользоваться инструкцией по созданию FTP-сервера с изоляцией пользователей .

На этом завершаем работу мастера. По умолчанию 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.

  1. Запустите FileZilla (или любой другой клиент с поддержкой FTPS).
  2. Нажмите File > Site Manager , и создайте новое подключение ( New Site) .
  3. Укажите адрес FTPS сервера ( Host ), тип протокола ( Require explicit FTP over TLS ), имя пользователя (поле User) и требование требовать ввод пароля для авторизации ( Ask for password )
  4. Нажимаем кнопку Connect и вводим пароль пользователя.
  5. Должно появиться предупреждение о недоверенном сертификате (при использовании самоподписанного сертификата). Подтверждаем соединение.
  6. Соединение должно установиться, а в журнале должны появиться строки:

    Status: Initializing TLS...
    Status: Verifying certificate...
    Status: TLS connection established.

  7. Это означает, что безопасное соединение установлено, и вы можете передавать файлы по протоколу FTPS
admin

Share
Published by
admin

Recent Posts

Лучшие дистрибутивы Linux

Если говорить о том, какие лучшие дистрибутивы Linux мы знаем, то этот список может быть…

4 дня ago

Лучшие браузеры для Ubuntu

Хотя Ubuntu и поставляется со встроенным обозревателем Firefox многие пользователи считают что это не самая…

4 дня ago

Установка Remmina Ubuntu 16.04 или 16.10

Что такое Remmina? Remmina — это совершенно бесплатный и свободный клиент так называемого удаленного рабочего…

4 дня ago

Плюсы Ubuntu

Как мы знаем, Ubuntu это самая популярная сборка из систем на базе ядра Linux. У…

4 дня ago

Выбираем ноутбук для Linux

Выбор ноутбука для каждого пользователя это довольно кропотливый процесс. Люди стараются подобрать ноутбук который будет…

4 дня ago

Установка Linux рядом с Windows 10

Если вы решили ознакомиться с операционной системой Linux более детально и задались вопросом как установить…

4 дня ago