Инсталлирование и настройка FTP-сайта (IIS 7.5)

В Windows Server 2008 R2  появилась поддержка протокола FTP, думаю самая мощная на сегодняшний момент. И хоть FTP достаточно древний стандарт – он продолжает жить и развиваться. Обзор вы можете найти в моем блоге. Цель данной статьи – по шагам показать настройку и установку FTP-сайта.
В отличие от предыдущей статьи, где давался обзор возможностей FTP-сервиса, здесь общее направление будет именно создание работоспособного FTP-сайта. Предположим что роль «Веб-сервер» уже на сервере установлена.
Заходим в оснастку «Диспетчер служб IIS» в панели «Подключения» на элементе сервера по правой клавише мыши выбираем «Добавить FTP-сайт» (рисунок 1). Запускается мастер установки FTP-сайта.
ftp02 01
Рисунок 1 Добавление FTP-сайта.
На странице «Сведения о сайте» вводим имя сайта и физический путь корневого каталога вновь создаваемого сайта (рисунок 2).  Нажимаем кнопку «Далее».
ftp02 02
Рисунок 2 Сведения о сайте FTP.
На следующем шаге мастера установки нужно выбрать привязку к IP-адресу сервера, по умолчанию осуществляется привязка ко всем свободным адресам, порт – значение по умолчанию 21. Если FTP-сайты уже установлены на сервере, с помощью определения виртуального узла сделать сайт уникальным. Для этого нужно установить опцию «Разрешить имена виртуальных узлов» м заполнить поле «Виртуальный узел». В данном случае  FTP-сайт первый поэтому данным механизмом пользоваться нет необходимости. Следующая опция «Запускать FTP-сайт автоматически», определяет поведение сайта при перезагрузке сервера. По умолчанию опция установлена. В блоке «SSL» можно определить следующий выбор:
1.     Без SSL – протокол защиты данных не используется.
2.     Разрешить – использовать SSL в случае, если FTP-клиент настроен на данный режим работы. Если клиент не настроен/не умеет использовать SSL – разрешить соединение.
3.     Требовать – использовать SSL в любом случае. Если клиент не настроен/не умеет использовать SSL – отклонить соединение.
Выбираем Ip-адрес — «Все свободные», порт -21, «Запускать FTP-сайт автоматически» — включено, SSL – без SSL(рисунок 3). Нажимаем кнопку «Далее».
ftp02 03
Рисунок 3. Параметры привязки и SSL
В окне «Сведения о проверке подлинности и авторизации» на третьем шаге мастера установки отключаем анонимную проверку подлинности. Авторизация FTP-сайта пока не настраиваем – порядок предоставления пользователя к сайту будет рассмотрен чуть позже (рисунок 4). Нажимаем кнопку «Готово».
ftp02 04
Рисунок 4. Проверка подлинности и авторизации
Новый FTP-сайт успешно создан. Но, как вы наверное уже догадались, этот сайт не работоспособен. Для того чтобы предоставить доступ пользователям нужно проделать следующие шаги:
1.     Настроить Windows Firewall.
2.     Определить протокол аутентификации.
3.     Определить роли пользователей.
4.     Настроить разрешения NTFS на каталогах FTP-сайта.
Итак, начнем. Настройку брандмауэра поставил данное действие на первое место, потому что обычная практика настройки новой технологии – это исключить возможность ошибки временным отключением элементов защиты. Поэтому думаю надо сразу настроить брандмауэр и затем продолжить настройку. Сначала немного теории.
По протоколу FTP возможно соединение в двух режимах – активном и пассивном. Для работы в пассивном режиме необходимо открыть порт – по умолчанию 21 и этого будет достаточно. В пассивном режиме по 21 порту происходит входящее соединение, затем клиент и сервер используют механизм трехстороннего рукопожатия, договариваются, по какому порту будет происходить обслуживание и переключаются на него. Стандартно это случайный порт в диапазоне 1025-5000. Понятное дело держать такой диапазон открытым нет большого резона. До выхода Windows 2008 R2 была инструкция, как настроить RPC для формирования нестандартного диапазона портов для работы в пассивном режиме. После выхода все значительно упростилось. Нужно настроить входящее правило. Открываем оснастку «Брандмауэр Windows в режиме повышенной безопасности». На элементе «Правила для входящих подключений» в меню по правой кнопке мыши выбираем «Создать правило» (рисунок 5)
ftp02 05
Рисунок 5. Создание нового правила брандмауэра
На первом шаге мастера создания правила для нового входящего подключения выбираем из выпадающего списка «Предопределенные» тип нового правила с названием «FTP-сервер» (рисунок 6). Нажимаем кнопку «Далее».
ftp02 06
Рисунок 6. Выбор типа правила
На следующем шаге мастера, нужно выбрать предопределенные правила. Доступны следующие значения:
1.     FTP Server Passive (FTP Passive Traffic-In) – правило используется для поддержки входящих соединений в пассивном режиме.
2.     FTP Server Secure (FTP SSL Traffic-In) – правило используется для поддержки входящих соединений по протоколу SSL.
3.     FTP-сервер (входящий траффик) — правило используется для поддержки входящих соединений по протоколу FTP.
Первое и третье правило должно быть отмечено обязательно. Второе правило можно отметить, если будет использоваться защита траффика по протоколу SSL (рисунок 7). Нажимаем кнопку «Далее».
ftp02 07
Рисунок 7. Выбор предопределенных правил FTP
Правила сформированы – на последнем шаге мастера создания правила нужно выбрать действие правила. Доступны следующие значения:
1.     Разрешить подключение – включая подключения, защищенные IPSec, так и подключения без защиты.
2.     Разрешить безопасное подключение – включая только подключения с проверкой подлинности с помощью IPSec. Подключения возможны с клиентских операционных систем, начиная с Windows Vista.
3.     Блокировать подключения.
Выбираем «Разрешить подключения» (рисунок 8). Нажимаем кнопку «Готово».
ftp02 08
Рисунок 8. Выбор действия создаваемых правил

Правила созданы. Необходимо отметить, что эти правила применяться только при перезагрузке сервера – попытки перезапустить сервисы брандмауэра и IIS ни к чему не привели.
НА втором шаге настройки FTP-сайта необходимо выбрать протокол аутентификации. Начиная с IIS 7.5 FTP-сайт поддерживает следующие протоколы аутентификации:
1.     Анонимная – проверка имени пользователя не требуется.
2.     Стандартная – имя пользователя и пароль запрашивается – передаются на сервер в открытом виде. Учетная запись может быть как локальная на сервере – так и поддерживаются доменные учетные записи.
3.     ASP.Net – проверка с помощью поставщика ASP.NET. Учетные записи могут храниться, к примеру, на уровне базы данных.
4.     Диспетчер IIS – учетные записи задаются в диспетчере веб-серврера.
Выберем вариант проверки подлинности с помощью стандартного протокола аутентификации Windows.
Предположим, что анонимный доступ не подходит, нужно пускать на FTP-сайт только определенных пользователей. Поэтому на третьем шаге настройки, с помощью оснастки «Диспетчер сервера» (Конфигурация – Локальные пользователи и группы — Пользователи) создадим 2-ух локальных пользователей ftpuser(права только на чтение) и ftpadmin(права на чтение и запись). Задача пользователя ftpuser знакомится с документацией, лежащей на сайте. Задача пользователя ftpadmin – управлять контентом ftp-сайта.
После создания пользователей прописываем правила авторизации. Открываем оснастку «Диспетчер служб IIS», переходим на FTP-сайт и открываем функцию «Правила авторизации FTP». На правой панели «Действия» выбираем «Добавить разрешающие правило». В окне «Добавить разрешающие правило авторизации делаем выбор «Указанные пользователи» и вводим значение – ftpadmin. В секции разрешения выбираем чтение и запись (рисунок 9). Нажимаем кнопку «Ок».
ftp02 09
Рисунок 9. Добавление правила авторизации.
Для пользователя ftpuser создаем отдельное правило, по аналогии с пользователем ftpadmin, за исключением разрешения записи. Правила авторизации ftp-сайта успешно созданы.
Остался последний четвертый шаг – установка разрешений файловой системы NTFS. Установки по умолчанию ф файловой системе NTFS следующие в папке c:\inetpub\ftproot группе «Пользователи», в которую входит пользователь ftpuser, предоставлены права на чтение файлов. Остается добавить пользователю ftpadmin разрешения на запись. Для этого в проводнике откроем свойства папки ftproot и установим разрешения для записи для пользователя ftpadmin (рисунок 10, рисунок 11). Нажимаем кнопку «Ок».
ftp02 10
Рисунок 10. Выбор локального пользователя ftpadmin
ftp02 11
Рисунок 11. Установка разрешения NTFS на запись для пользователя ftpadmin
Настройка FTP-сайта успешно завершена. Для проверки можно зайти клиентом FTP на созданный сайт и убедится, что пользователь ftpadmin может управлять контентом сайта – копировать, записывать, удалять, изменять файлы, а пользователь ftpuser – только копировать или читать.
При разрешении технических проблем, возникающих в ходе настройки, одним из источников информации являются журналы ftp-сайта. Местоположение журналов можно узнать в оснастке «Диспетчер служб IIS». Для этого переходим на FTP-сайт и открываем функцию «Ведение журнала FTP» (рисунок 12).
ftp02 12
Рисунок 12. Настройки ведения журналов FTP
Из рисунка 12 видно, что журналы хранятся в каталоге c:\inetpub\logs\logfiles. По умолчанию ведение журналов включено. Журналы создаются каждый новый день. Формат журналов создается по маске u_exYYMMDD.log. К примеру, если открыть лог при успешно подключении пользователя ftpadmin выглядеть записи будут следующим образом:
#Software: Microsoft Internet Information Services 7.0
#Version: 1.0
#Date: 2011-01-08 05:15:20
#Fields: date time c-ip cs-username s-ip s-port cs-method cs-uri-stem sc-status sc-win32-status sc-substatus x-session x-fullpath
2011-01-08 14:15:49 192.168.0.152 — 192.168.0.100 21 ControlChannelOpened — — 0 0 8568dd29-2655-4b87-a176-f85cc149650b —
2011-01-08 14:15:49 192.168.0.152 — 192.168.0.100 21 USER ftpadmin 331 0 0 8568dd29-2655-4b87-a176-f85cc149650b —
2011-01-08 14:15:49 192.168.0.152 KA4OK\ftpadmin 192.168.0.100 21 PASS *** 230 0 0 8568dd29-2655-4b87-a176-f85cc149650b /
2011-01-08 14:16:05 192.168.0.152 KA4OK\ftpadmin 192.168.0.100 21 ControlChannelClosed — — 0 0 8568dd29-2655-4b87-a176-f85cc149650b —

B заключение статьи, стоит отметить еще об одной новой функции «Текущие сеансы FTP». В оснастке «Диспетчер служб IIS» переходим на FTP-сайт и открываем функцию «Текущие сеансы FTP» (рисунок 13).
ftp02 13
Рисунок 13. Просмотр текущих сеансов FTP

С помощью этой функции можно посмотреть текущие соединения и отключить при необходимости пользователей. Надеюсь, что информация в данной статье поможет для успешной инсталляции и настройке ваших ftp-сайтов!
Используемая литература:
1. FTP 7 for IIS 7
2. Configuring FTP Firewall Support
3. Installing and Configuring FTP on IIS 7

11 Responses to Инсталлирование и настройка FTP-сайта (IIS 7.5)

  1. komarov says:

    Просто и понятно!
    А как же SSL?

  2. mplane says:

    А как сделать что-бы пускадло только через SSL ?

  3. Алмаз says:

    У меня Kaspersky в качестве брандмауэра. Пытался примерить данные инструкции — не нашел в Экране Касперского протокол ftp. Есть в списке только TCP, UDP, ICMP, IGMP, GRE. Какой из них? Или не туда смотрю?

  4. Pernik says:

    а как добавить пользователя для конкретной папки ???

  5. Турал says:

    я все сделал как тут написано. но:

    1. с другого компа аутентикасию не проходит, в логах пишет
    2012-03-15 09:04:05 10.100. 31.58 — 172.16.1.82 21 USER ftpfizik 530 11001 37 e2bc124f-968f-48ad-b6a3-27d72a423dcf —
    2012-03-15 09:04:05 10.100.31.58 — 172.16.1.82 21 QUIT — 221 0 0 e2bc124f-968f-48ad-b6a3-27d72a423dcf —
    2012-03-15 09:04:05 10.100.31.58 — 172.16.1.82 21 ControlChannelClosed — — 0 0 e2bc124f-968f-48ad-b6a3-27d72a423dcf —

    2. с етого компа на которой ФТП вообше даже до аутентикасии не доходит ((

  6. setap says:

    Доброго времени суток. Абсолютно та же проблема. Перезагружался….

  7. gator says:

    Неплохая статья, но мне на тестовом не помогло — у меня 2008R2 SP1 IIS7.5
    не не удается завести пользователя IIS — не виндового… 530 и все тут…
    часть команд не актуальна для моей ос — grant to network service сделать не удается,
    а куча инструкций — устарела… и неполные… ссылка на другую инструкцию, ++ поправки,
    не всегдя понятно, что взято из основной и что — поправка )

  8. После проделанного все прекрасно работает, благодарю за некоторые нюансы о которых не был знаком

Ответить на Турал Отменить ответ