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

Что такое Zulip

Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…

3 дня ago

Что такое Zookeeper

Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…

3 дня ago

Что такое Zimbra

Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…

3 дня ago

Что такое Zabbix

Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…

3 дня ago

Что такое YouTube

YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…

3 дня ago

Что такое yota

Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…

3 дня ago