03.07.2012

Настройка FTP-сервера в IIS7

FTP довольно старый протокол (ему уже больше 40 лет), но довольно удобный и до сих пор используется очень многими администраторами для обмена файлами. Есть целая куча разнообразных FTP-серверов под винду - от простейшего Quick'n Easy FTP Server до таких громил как Titan FTP Server и Serv-U.
 В серверных дистрибутивах Windows тоже есть возможность поднять FTP-сервер. Хоть многие и ругают MS за хромую безопасность и ошибки в коде, использование встроенных ролей сервера вместо решений стороннего производителя имеет свои плюсы. Главный из них - это полная совместимость со всеми службами MS (в частности AD) и тонкая настройка интеграции этих служб.
Рассмотрим установку и настройку FTP-сервера на примере Windows 2008R2 и IIS7.
Добавляем роль FTP в Диспетчер сервера - Добавление ролей. Следует выбрать Веб-сервер(IIS), в следующем окне диалога выбираем FTP-сервер.

Настройка FTP-сервера.
Открываем диспетчер сервера - Веб сервер - Диспетчер служб IIS - наш сервер. ПКМ по разделу сайты - добавить FTP-сайт.

Пишем название нашего сайта и путь к физическому расположению каталогов

Задаем IP-адрес и порт, на которых будет висеть наш сервер. Здесь же можно установить защиту соединения и выбрать сертификат. Этим мы займемся позже.

Сейчас наша цель - сделать простейший доступ, поэтому в следующем диалоговом окне выбираем Анонимный доступ.

На этом начальная настройка FTP-сервера закончена. Но при попытке войти в него у нас ничего не получится. На этапе настройки сервера рекомендую включить подробное логирование событий, чтобы при выявлении ошибок можно было легко их опознать. Выбираем начальную страницу нашего сервера - Ведение журнала FTP - нажимаем Выберите поля W3C и ставим галочку Дополнительные сведения 

Теперь в папке C:\inetpub\logs\LogFiles\FTPSVC мы можем увидеть подробный лог нашего сервера.
Для доступа к серверу анонимных пользователей необходимо в правилах авторизации FTP добавить правило для анонимных пользователей и установить флажок типа доступа (чтение, запись).

Всё! Простейший FTP-сервер готов к работе. Чтобы раздать более тонкие права, следует выставить их  в разделах Правила авторизации и Проверка подлинности FTP. Для настройки прав на вложенные папки требуется выполнить такую же настройку для папок (в диспетчере выбрать не сервер целиком, а нужную папку). 
Вот так настраивается FTP-сервер, входящий в состав веб-сервера IIS7 в Windows 2008R2. Отличительной его особенностью является тесная интеграция с серверными службами Microsoft, такими как веб-сервер и контроллер домена.

Теперь рассмотрим работу FTP-сервера с сертификатами.

Протокол FTP довольно слабо защищен в плане безопасности. При авторизации пользователя, его учетные данные передаются по сети в незашифрованном виде и могут быть перехвачены злоумышленником. Чтобы этого не случилось, требуется ввести шифрование соединения.
Если у вас уже есть сертификат, то первую часть можете не читать.

Создание самоподписанного сертификата.

На начальной странице веб-сервера выбираем пункт Сертификаты сервера. В появившемся окне щелкаем ПКМ и выбираем Создать самоподписанный сертификат. Даём ему осмысленное имя. Сертификат создается автоматически.

Настройка SSL на FTP.

На начальной странице FTP сервера выбираем Параметры SSL FTP. Ставим галочку Требовать SSL-соединения и выбираем наш сертификат.
Теперь подключиться к серверу можно только с клиента, поддерживающего шифрованные FTP-соединения, например Filezilla. При настройке соединения в Filezilla необходимо выбрать Require explicit FTP over TLS. При подключении к FTP-серверу клиент выдаст предупреждение о сертификате. Необходимо принять его.

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

Не нашел, где можно детально настроить скорость и права для каждого пользователя, как в том же Titan'е например. Но это уже задача не столько FTP-сервера, сколько шейпера. MS предлагает такие решения, но уже за отдельные деньги.

1 комментарий:

  1. Вы описываете настройку ftp сервера в IIS 7.5, а не в IIS 7.0. В этих версиях есть значительные отличия.

    ОтветитьУдалить