Iis события службы ftp


Содержание

Iis события службы ftp

Обновлен: Ноябрь 2007

Протокол передачи файлов (FTP) — стандартный протокол для передачи файлов с одного компьютера на другой через сеть Internet. Файлы хранятся на сервере, который использует серверное программное обеспечение FTP. Удаленные компьютеры могут подключаться к серверу, используя протокол FTP, и считывать файлы с сервера или копировать файлы на сервер. FTP-сервер похож на HTTP-сервер (то есть веб-сервер) в том смысле, что с ним также можно обмениваться информацией, используя протокол IP. Однако FTP-сервер не поддерживает веб-страницы; он только передает и получает файлы от удаленных компьютеров.

Можно настроить службы IIS таким образом, чтобы они играли роль FTP-сервера. Это позволит другим компьютерам подключаться к серверу и копировать файлы на сервер и с сервера. Например, если вы размещаете веб-узлы на своем компьютере и хотите разрешить удаленным пользователям подключаться к своему компьютеру и копировать файлы на сервер, то можете настроить службы IIS таким образом, чтобы они выполняли роль FTP-сервера.

Обычно учетные данные для подключения по протоколу FTP передаются как открытый текст и не шифруются при передаче. Рекомендуется использовать FTP с анонимным доступом или обычной проверкой подлинности. Дополнительную информацию см. в разделах «Обеспечение безопасности FTP-узлов» и «Стандартные способы проверки подлинности в службах IIS 6.0» Технического справочника IIS.

Помимо роли веб-сервера, службы IIS могут выступать также и как FTP-сервер. Служба FTP не установлена по умолчанию в службах IIS. Таким образом, чтобы использовать службы IIS в качестве FTP-сервера, необходимо установить службу FTP. Дополнительную информацию об установке и настройке служб IIS в качестве FTP-сервера см. справочную документацию, которая входит в службы IIS, или раздел «Настройка FTP-узлов» в Техническом справочнике IIS.

Примечание.

Необходимо наличие компакт-диска Windows.

Для установки FTP-сервера при помощи служб IIS

Нажмите кнопку Пуск , выберите Панель управления , а затем Установка и удаление программ .

Выберите Добавление и удаление компонентов Windows .

В диалоговом окне Мастер компонентов Windows , если вы используете как минимум ОС Windows Server 2003, последовательно выберите Сервер приложений и Подробные сведения .

Нажмите Службы IIS и затем Подробные сведения .

В диалоговом окне Службы IIS установите флажок Служба FTP и нажмите ОК .

В диалоговом окне Мастер компонентов Windows нажмите Далее . Если требуется, вставьте компакт-диск с ОС Windows.

После завершения процесса установки можно использовать службу FTP со службами IIS.

После установки FTP-сервера необходимо создать структуру папок для сервера. По умолчанию корневой папкой FTP-сервера будет папка: C:\inetpub\ftproot.

Корневая папка службы FTP для FTP-сервера играет ту же роль, что и папка C:\inetpub\wwwroot для веб-сервера.

Необходимо создать физические папки, в которых будут храниться файлы. Такими папками могут быть вложенная папка корневого каталога службы FTP или любая другая папка компьютера. Затем создайте виртуальный корневой каталог, или псевдоним, который будет использовать FTP-сервер для указания на физическую папку, в которой будут храниться файлы.

Для настройки папки службы FTP и виртуального корневого каталога

Создайте новую папку для хранения файлов. Папке можно дать любое имя. Например, назовите новую папку ExampleFtpFiles, тогда путь к ней будет таким: C:\inetpub\ftproot\ExampleFtpFiles .

В Windows, из меню Администрирование выберите пункт Службы IIS .

Примечание.

В Windows XP можно кликнуть правой кнопкой мыши пункт Мой компьютер из меню Пуск или на рабочем столе, а затем выбрать пункт Управление . В диалоговом окне Управление компьютером разверните узел Службы и приложения .

Откройте узел для данного компьютера, а затем откройте узел FTP-узлы .

Кликните правой кнопкой мыши узел FTP-узел по умолчанию , нажмите Создать и Виртуальный каталог .

В мастере Создание виртуальных каталогов укажите псевдоним (или имя), которое пользователи могут использовать для получения доступа к папке FTP, созданной на этапе 1. Можно задать любое имя. Часто удобнее всего в качестве имени псевдонима использовать имя каталога, поэтому виртуальный каталог может быть назван ExampleFtpFiles.

Для пути напечатайте путь или перейдите к каталогу из этапа 1, например Inetpub\ftproot\ExampleFtpFiles.

Для разрешений доступа укажите Чтение и нажмите Далее , чтобы завершить работу мастера.

Примечание.

Не включайте разрешения на Запись , если только вы не знаете, как защитить ваш FTP-сервер услуг IIS. Дополнительную информацию см. в разделе «Обеспечение безопасности FTP-узлов» в Техническом справочнике IIS.

Необходимо также предоставить пользователям разрешения на чтение информации в папке и на запись в папку информации.

Чтобы установить разрешения для папки службы FTP

В Windows, из меню Администрирование выберите пункт Службы IIS .

Примечание.

В Windows XP можно кликнуть правой кнопкой мыши пункт Мой компьютер из меню Пуск или на рабочем столе, а затем выбрать пункт Управление . В диалоговом окне Управление компьютером разверните узел Службы и приложения .

Откройте узел для данного компьютера, откройте узел FTP-узлы , а затем откройте узел FTP-узел по умолчанию .

Кликните правой кнопкой мыши узел виртуального каталога для определенной папки службы FTP (например, ExampleFtpFiles ) и нажмите Разрешения .

На вкладке Безопасность выберите или добавьте вашу учетную запись и присвойте разрешение на Изменение .

Будут установлены разрешения NTFS. Для задания ограничений IP-протокола кликните правой кнопкой мыши по имени папки, выберите пункт Свойства и добавьте ограничения на вкладку Безопасность каталога . Дополнительную информацию см. в разделе «Управление доступом в службах IIS 6.0» Технического справочника IIS.

Закройте диалоговое окно Свойства .

Чтобы веб-сервер мог получить доступ к корневому каталогу службы FTP, обычно создается виртуальный каталог для веб-сервера, соответствующий FTP-узлу. Имя виртуального каталога веб-сервера может быть таким же, как имя виртуального каталога FTP-сервера, однако это необязательно.

Чтобы создать виртуальный каталог веб-сервера

В диалоговом окне Службы IIS разверните узел Веб-узлы .

Кликните правой кнопкой мыши узел Веб-узел по умолчанию , нажмите Создать и Виртуальный каталог .

В мастере задайте псевдоним, который пользователи будут использовать с протоколом http:// для доступа к файлам в папке FTP. Он может быть тем же, что и псевдоним службы FTP, например, ExampleFtpFiles.

Для пути напечатайте путь или перейдите к каталогу службы FTP, например C:\inetpub\ftproot\ExampleFtpFiles.

Для разрешений доступа выберите Чтение и Выполнение сценариев .

Нажмите Готово , чтобы создать виртуальный каталог и закрыть мастер.

Установка и устранение неисправностей FTP 7.5

Компания Microsoft создала новый FTP сервис, который был переписан для Windows Server 2008. Данный сервис содержит в себе много новых возможностей, которые помогут Web издателям размещать свой контент быстрее и удобней, а Web администраторы найдут для себя расширенные функции безопасности и маштабируемости.

  • Интеграция сIIS7.0: В IIS 7.0 появился новый административный интерфейс и единое хранилище, новый FTP сервис тесно интегрирован с этими изменениями в архитектуре. Старая версия метабазы IIS 6.0 канула в лету, и новая конфигурация теперь базируется на более современном формате, который носит название .NET XML. Плюс к этому IIS7.0 имеет новую административную консоль и современные плагины, которые бешовно интегрируются в общую концепцию сервера IIS.
  • Поддержка новых интернет стандартов: Как одно из из наиболее важных нововведений можно отметить поддержку SSL для FTP сервисов. Новый FTP сервер так же поддерживает такие полезные возможности как работа с UTF8 и IPv6.
  • Улучшения в предоставлении хостинга: Будучи полностью интегрированным в IIS 7.0 новый FTP сервер делает возможным одновременный хостинг FTP и WEB контента на одном хосте простым добавлением привязки FTP к существующему WEB сайту. В дополнении FTP сервер теперь поддерживает виртуальный хостинг, дающий возможность поддержки множества имён сайтов на одном ip адресе. Так же новый FTP сервер поддерживает изолированную базу пользователей, которая даёт возможность создавать виртуальные директории в соответствии с именами виртуальной базы данных пользователей (для каждого пользователя создаётся отдельная директория).
  • Сторонние провайдеры аутентификации: Новый FTP сервер поддерживает аутентификацию, отличную от Windows аккаунтов, для администраторов серверов IIS и пользователей .NET.
  • Расширенная поддержка ведения протоколов: Протоколирование FTP значительно улучшилось и на данный момент включает в себя: весь проходящий FTP трафик, запись сессий FTP, состояния FTP сервера, дополнительные детали, касающиеся сеансов FTP и еще много полезных новинок.
  • Новые функции поддержки: IIS 7.0 содержит новые опции отображения подробных сообщений об ошибках для локальных пользователей. FTP сервис так же поддерживает эти опции. Вы можете воспользоваться ими если протоколирование ведётся локально на FTP сервере. Так же FTP сервер записывает детальную информацию, используя Event Tracing для Windows (ETW), в дальнейшем она может быть использована для диагностики и решения проблем.
  • Расширенный набор возможностей: Встроенный функционал FTP сервиса можно улучшать с помощью сторонних расширений. Если говорить точнее, речь идет о создание альтернативных методов аутентификации и авторизации. Так же Вы можете создавать провайдеров осуществляющих нестандартное протоколирования и позволяющих нестандартно настроить домашние каталоги пользователей Вашего FTP сервера.

Дополнительную информацию о новых возможностях FTP 7.5 Вы можете прочитать по адресу «Что нового в FTP 7.5 сервере от Microsoft?» а так же на официальном сайте Microsoft IIS http://www.iis.net .

Данный документ описывает шаги установки нового FTP сервиса и решения проблем которые могут возникнуть в процессе установки.

  • Загрузка и установка FTP 7.5
  • Решение проблем возникающих в процессе установки
  • Известные проблемы данного релиза
  • Первое знакомство с FTP 7.5

Для выполнения задач описанных в данной статье необходимо соблюсти следующие требования:

1. Вы должны использовать сервер под управлением Windows 2008

2. Должен быть установлен сервер IIS 7.0

3. Если вы захотите управлять новым FTP сервером, используя консоль управления IIS, то необходимо установить утилиту администрирования IIS.

4. Установку необходимо производить под учётной записью администратора (Подробности смотрите в секции Загрузка и Установка далее по тексту)

5. IIS 7.0 поддерживает новый функционал – «общая конфигурация». Она должна быть отключена для каждого сервера включенного в ферму серверов прежде чем будет произведена установка нового FTP сервера на каждом узле. Примечание: общая конфигурация может быть включена внось после завершения процесса установки FTP сервера.

6. FTP сервер, идущий в поставке с дистрибутивом Windows Server 2008, должен быть деинсталлирован, прежде чем начнётся установка новой версии FTP сервера.

Загрузка и установка FTP 7.5

Загрузка соответствующей версии для Вашего сервера.

Существует два типа пакетов необходимых для установки для нового FTP сервера: нужно выбрать пакет в соответствии с версией Вашего сервера Windows 2008:

32-битный пакет установки

    • FTP 7.5 для IIS 7.0 (x86)

64-битный пакет установки

    • FTP 7.5 для IIS 7.0 (x64)

Запуск и установка пакета установки:

Установку необходимо производить, используя учётную запись администратора. Её нужно произвести следующим способом:

    • Войдите в систему под учётной записью «Администратор». Далее перейдите по ссылке для скачивания и сохраните дистрибутив на сетевой либо локальный диск.
    • Войдите в систему под учётной записью, имеющей административные права, щёлкните правой кнопкой мыши по command-prompt (Command Prompt находится в меню Windows programs – Accessories) и в появившемся меню выберете «Run as administrator», далее выполните команду в соответствии с версией Вашей операционной системы:
    • 32-битная версия Windows:
      • msiexec /i ftp7_x86_75.msi
    • 64-битная версия Windows:
      • msiexec /i ftp7_x64_75.msi

Примечание: Один из выше перечисленных шагов необходим из-за того, что в операционных системах Windows Vista и Windows Server 2008 задействован механизм User Account Control (UAC), который не позволяет получить доступ к файлу applicationHost.config. Более подробно о UAC читайте по следующей ссылке:

    http://go.microsoft.com/fwlink/?Link >Следующие шаги описывают необходимые требования для публикации FTP в Web сайте по умолчанию.

Обзор процесса установки:

  1. Когда Вы запустите процесс установки, то увидите перед собой окно, показанное на рисунке ниже. Для начала установки нажмите Next..
  2. В следующем окне выберете пункт Iaccept(Я согласен), если Вы прочли лицензионное соглашение и согласны с ним. Затем нажмите Next.
  3. На следующем окне представлены опции установки. Выберете необходимые и нажмите Next.
    • Общие файлы: данная опция включает в себя файл схемы. Когда установка производится в среде серверов использующих общий доступ к конфигурационному файлу, то каждый из серверов фермы должен быть установлен с данной опцией.
    • Сервис публикацииFTP7.0: данная опция включает в себя компоненты ядра FTP сервиса. Она необходима при установке сервиса FTP на сервер.
    • Поддержка управляемого кода: данный компонент является опциональным, но некоторые функции, такие как ASP.NET и менеджер аутентификации IIS используют данный код. Примечание: данный компонент не может быть установлен на Windows Server 2008 Core
    • Административные компоненты: Эти компоненты устанавливают интерфейс управления FTP 7.5.Для их активации требуются установка консоли управления IIS 7.0 и .NET framework 2.0. Примечание: данная опция не может использоваться на Windows Server 2008 Core.
  4. На следующем этапе нажмите Install для установки выбранных ранее опций.
  5. После завершения установки нажмите Readnotes (Прочитать примечания) для просмотра файла FTP README или нажмите Finish для закрытия окна установки.

Примечание: Если в процессе установки возникли ошибки, то Вы увидите их в диалоговом окне. Решения проблем, связанных с ошибками во время установки читайте в секции «Решение проблем, возникающих в процессе установки»

Решение проблем, возникающих в процессе установки.

Когда установка FTP 7.5 по какой либо причине завершается неудачно и не проходит из-за ошибок, то в окне мастера установки появляется кнопка «Installation log» (лог установки). Нажмите на эту кнопку, и увидете протокол инсталляции MSI пакета, который создался во время установки. Так же можно вручную включить протоколирование установки. Для этого необходимо выполнить следующую команду, исходя из версии Вашей операционной системы Windows. Лог файл, созданный нижеперечисленными командами, будет содержать в себе информацию о процессе установки:

  • 32-битная версия Windows:
    • msiexec /L ftp7.log /I ftp7_x86_75.msi
  • 64-битная версия Windows:
    • msiexec /L ftp7.log /I ftp7_x64_75.msi

Вы можете проанализировать файл протокола после того, как установка была прервана из-за ошибки.

Нажмите на кнопку «Online information» в диалоговом окне с ошибкой и в вашем вбе браузере откроется документ под названием «Installing and Troubleshooting FTP7.5» (Установка и решение проблем FTP 7.5).

Известные ошибки данного релиза FTP сервера

Ниже перечислены ошибки, о которых стало известно после выхода данного релиза:

  1. Сервис FTP, поставляемый в комплекте с дистрибутивом Windows Server 2008 DVD не следует устанавливать, после того, как была произведена инсталляция нового FTP сервиса. Старый FTP сервис не способен обнаружить в системе новую версию FTP сервиса. Это приводит к запуску двух экземпляров FTP сервиса и возможному конфликту портов.
  2. Во время делегирования удалённым менеджерам Web расширений и добавлении файлов web.config используя новую инфраструктуру конфигурации IIS 7.0, возможности FTP не делегируются или не сохраняются в файлах web.config.
  3. IIS 7.0 может быть деинсталлирован после установки нового FTP сервиса, что приведёт к проблемам в работе последнего. Если будет произведена переустановка IIS 7.0, то будут созданы новые копии файлов конфигурации IIS. Но FTP сервис, все равно не будет функционировать исправно. Для решения данной проблемы повторно запустите установку нового FTP сервиса и выберите меню «Repair»(Восстановление).
  4. Значок, который отображает комбинацию Web/FTP сайта, может отображаться как знак вопроса, хотя сайт стартовал без каких-либо ошибок. Это случается, когда сайт содержит смешанные соединения HTTP/FTP.
  5. После публикации FTP на Web сайте, щелчек мышью на узле сайта в древовидном представлении сайта в панели управления IIS не показывает значков FTP. Для решения данной проблемы сделайте следующее:
    • Нажмите F5 для обновления консоли IIS 7.0.
    • Выберете меню Sites (Сайты) и дважды щёлкните на имени нужного сайта.
    • Закройте и заново откройте консоль управления IIS 7.0.
  6. Когда Вы добавляете собственного провайдера в умолчаниях сайта, эта опция отображается в каждом сайте. Однако, если Вы захотите удалить или изменить значения для собственного провайдера на уровне сайтов, IIS создаст пустую секцию

для данного сайта, соответственно изменения не отобразятся в остальных сайтах. К примеру – собственный провайдер установлен на уровне умолчаний для сайтов, соответственно Вы не можете изменить его на уровне сайтов. Для решения данной проблемы откройте свой файл с названием applicationHost.config, используя учётную запись администратора, и добавьте элемент в список собственных провайдеров, затем вручную добавьте своего провайдера в свои настройки. К примеру, добавляем, собственный провайдер аутентификации IIS как показано на примере ниже:

Первое знакомство с FTP7.5

Для получение дополнительной справки по работе с новым FTP сервисом ознакомьтесь со списком статей, опубликованных на Web сайте Microsoft http://www.iis.net/ :

  • Работа сFTPсайтами:
    • Создание нового FTP сайта
    • Добавление публикации FTP к существующему Web сайту

В дополнении к данной статье хочется отметить, что файл справки нового FTP сервиса содержит много полезной информации предназначеной для администраторов FTP сервера. Для открытия данного файла зайдите в консоль управления IIS, затем в возможности FTP и нажмите «Help» в панели «Actions».

FTP Publishing Service для IIS 7.0

Служба FTP Publishing Service для IIS 7.0 позволяет защитить учетные данные пользователя и информацию, обмен которой происходит при взаимодействии между клиентом и сервером. FTP Publishing Service для IIS 7.0 включает поддержку протокола FTPS (FTP через SSL) и изоляцию пользователей. Кроме того, в отличие от прежних версий FTP, в журналах сохраняется более подробная информация

Когда возникает необходимость обеспечить обмен данными с пользователями, не принадлежащими к вашей корпоративной сети, самым очевидным вариантом решения этой задачи является создание сервера FTP. Реализация FTP в предыдущих версиях Microsoft IIS не обеспечивала защиту учетных данных пользователя и передаваемой информации, что создавало значительный риск в отношении информационной безопасности при передаче по ненадежной сети. Служба FTP Publishing Service для IIS 7.0 содержит усовершенствованные функции, позволяющие снизить риск, связанный с использованием FTP. В частности, реализованы инкапсуляция (туннелирование) протокола FTP через SSL (протокол FTPS), независимость пользователей FTP и паролей от Windows и Active Directory (AD), что упрощает управление доступом к сайту, и регистрация в журналах более подробной информации о соединениях. В этой статье рассматривается применение FTP Publishing Service для IIS 7.0 для защиты сайтов FTP, а также настройка функции изоляции пользователей, которая ограничивает доступ пользователей на данном сайте FTP за пределы их домашних каталогов.

При подготовке выпуска Windows Server 2008 в сервер IIS было запланировано так много усовершенствований, в том числе и для FTP, что программисты Microsoft не смогли реализовать все функции к сроку выпуска производственной версии Server 2008. Поэтому включенная в Server 2008 версия FTP основана на FTP версии IIS 6.0. Однако теперь служба FTP Publishing Service для IIS 7.0 доступна в качестве дополнительного продукта, и ее можно загрузить по адресу http://www.iis.net/downloads/default.aspx? tab >

Приведенные в статье инструкции следует выполнять на автономном сервере Server 2008, не включенном в AD. Обратите внимание, что настройки по умолчанию для роли сервера IIS необходимо выполнить до установки FTP Publishing Service for IIS 7.0, причем устанавливать FTP с дистрибутивного диска Server 2008 не требуется. Если же FTP уже установлен с этого диска, то его надо удалить до запуска обновленной версии сервера FTP. Дополнительно для проверки, что все работает правильно, понадобится клиент FTP, поддерживающий протокол FTPS. Одним из лучших я считаю CuteFTP.

Настройка сайта FTP с поддержкой SSL

Поддержка протокола FTPS является главным усовершенствованием сервера FTP в IIS 7.0. Этот протокол позволяет обеспечить безопасность передачи учетных данных пользователей и/или информации через ненадежную сеть. При настройке протокола FTPS можно требовать обязательного использования SSL или же разрешить клиенту выбрать шифрование учетных данных и/или информации. Начнем с создания домашнего каталога и сертификата с собственной подписью нового сайта FTP.

В рабочей среде надо применить сертификат, выданный Server 2008, или независимым удостоверяющим центром сертификации Certification Authority (CA), так как самоподписанные сертификаты предназначены только для использования в тестовой среде. Чтобы создать сертификат, сначала следует зарегистрироваться на сервере в качестве администратора. После этого откройте Server Manager в меню Start и перейдите в контейнер Configuration, Local Users and Groups. Затем щелкните правой кнопкой на Groups и выберите New Group из контекстного меню. Назовите группу FTP Users и добавьте новую пользовательскую учетную запись (например, user1) к группе. Нажмите кнопку Create и закройте Server Manager.

Затем создайте новую папку ftpsite1 в c:inetpub. Щелкните по ней правой кнопкой мыши и выберите Properties («Свойства») из контекстного меню. Потом выделите вкладку Security и нажмите Edit. Нажмите Add, введите FTP Users в диалоговом окне Select Users or Groups и щелкните OK. Затем установите разрешения Allow, чтобы включить разрешение Modify, и нажмите OK.

Далее в меню Start выберите пункт Administrative Tools и запустите IIS Manager. В Microsoft Management Console (MMC) в левой панели Connections выделите ваш сервер, после чего в центральной панели в разделе IIS дважды нажмите Server Certificates, как показано на экране 1. В Actions нужно нажать Create Self-Signed Certificate. Дайте имя сертификату (например, FTP Cert) и нажмите Next. Под Server Certificates появится новый сертификат в центральной панели. В Connections разверните узел соединения для своего сервера, щелкните правой кнопкой на Sites и выделите Add FTP Site. Введите FTPSITE1 в качестве имени сайта и c:inetpubftpsite1 как путь к папке, которую создали, под Content Directory и нажмите Next. Теперь выделите ранее созданный сертификат FTP Cert из раскрывающегося меню внизу диалогового окна Binding and SSL Settings и нажмите Next. Потом выделите Basic в разделе Authentication в диалоговом окне Authentication and Authorization Information, выделите Specified roles or user groups из Allow access to. В пустой области под Allow access to введите имя созданной группы (ftp users). Отметьте параметры Read и Write, как показано на экране 2, и нажмите Finish.

Теперь раскройте папку Sites, расположенную под Connections. На экране будет отображен только что созданный сайт FTPSITE1. Выделите FTPSITE1 и дважды щелкните по FTP Settings в центральной панели. Под SSL Policy выделите Custom и нажмите Advanced. Диалоговое окно Advanced SSL Policy позволяет настроить, может ли клиент FTP управлять кодированием для каналов управления и информационных каналов. Канал управления отвечает за передачу пользовательских учетных данных. Для этого примера оставьте настройки по умолчанию и нажмите OK. Затем выделите FTPSITE1 в Sites и дважды щелкните по FTP Authentication. Далее выделите Basic Authentication в центральной панели и нажмите Enable в панели Actions справа.

Наконец, подключитесь к сайту FTP с помощью своего клиента FTP. Для простоты можно запустить клиент на самом сервере FTP. В данном примере можно пренебречь всеми предупреждениями, касающимися сертификатов. В клиенте FTP введите localhost в качестве адреса сервера FTP, а потом введите имя пользователя и пароль для user1.

На экране 3 показаны настройки в CuteFTP при подключении к серверу по протоколу FTPS. CuteFTP можно загрузить с сайта http://www.cuteftp.com.

Настройка аутентификации для пользователей IIS

Часто возникает ситуация, когда пользователю требуется предоставить доступ к сайту FTP, но при этом нежелательно создавать для данного пользователя локальную учетную запись или учетную запись AD. Например, необходимо обеспечить доступ FTP деловому партнеру, которому не разрешен доступ к другим вашим системам. IIS 7.0 содержит новую функцию, позволяющую службе IIS Management Service создавать собственные учетные записи пользователей, которые не будут зависеть от Windows, но смогут авторизоваться на сайтах IIS и/или FTP.

Для этого необходимо, чтобы на сервере была заранее установлена служба IIS Management Service. Так что, если она еще не установлена, ее нужно добавить из Server Manager. Для этого зарегистрируйтесь с правами администратора и из меню Start откройте Server Manager. Потом нажмите Roles в Server Manager в левой панели и прокрутите список до Role Services. Если службы управления Management Service перечисляются как Not installed, нажмите Add Role Services. В диалоговом окне Role Services выделите Management Service в Management Tools. В появившемся диалоговом окне нужно нажать Add Required Features, щелкнуть Next в диалоговом окне Select Role Services и в последнем окне выбрать Install.

Список пользователей IIS Manager users применяется в основном для удаленного подключения к службе управления Management Service для администрирования IIS и FTP. Аутентификация пользователей IIS Manager на сайте FTP является вторичной функцией списка пользователей. Для настройки IIS Manager откройте IIS Manager из Administrative Tools в меню Start. Потом выделите свой сервер в Connections. В центральной панели поставьте галочку, чтобы включить параметр Enable remote connections, и выберите переключатель между параметрами Windows credentials или IIS Manager, как показано на экране 4. В разделе Connections из раскрывающегося меню SSL certificate нужно выбрать созданный ранее сертификат FTP Cert. Нажмите Apply в панели Actions и потом щелкните Start для запуска службы управления сервера IIS Management Service.

Теперь настроим сервер FTP на прием запросов пользователей IIS Manager. Для этого нужно развернуть узел Sites (он находится в разделе Connections окна IIS Manager) своего сервера и выделить FTPSITE1. Дважды нажмите FTP Authentication в центральной панели и потом Custom Providers («Настройка провайдеров») в разделе Actions. В диалоговом окне Custom Providers отметьте IisManagerAuth и нажмите OK. В результате IisManagerAuth теперь показывает в центральной панели статус Enabled («Разрешено»).

После настройки свойств соединения можно заняться правами и ролями пользователей в IIS Manager. Сначала выделите свой сервер в Connections, опуститесь до Management в центральной панели и дважды щелкните IIS Manager Users. Нажмите Add User в Actions. Введите имя пользователя (например, remoteuser) и пароль, и нажмите OK. Выделите FTPSITE1 в Connections и дважды нажмите IIS Manager Permissions в центральной панели. Нажмите Allow User в Actions. В диалоговом окне Allow User выделите IIS Manager и нажмите Select. Выберите remoteuser из списка и нажмите два раза OK. Выделите FTPSITE1 в Connections снова, но на этот раз дважды нажмите FTP Authorization Rules (FTP). Потом добавьте разрешающее правило Add Allow Rule в Actions. Выделите Specified Users в диалоговом окне Add Allow Authorization Rule и введите remoteuser в пустое окно. Под Permissions выделите Read and Write и нажмите OK. В центральной панели под FTP Authorization Rules появится созданное правило.

Далее установим разрешения файловой системы NTFS для папки FTPSITE1. Проводник IIS Manager работает с правами встроенной учетной записи Network Service для аутентификации пользователей IIS Manager на ресурсах. Поэтому требуется дать разрешение NTFS Modify для службы Network Service на папку FTPSITE1 и разрешение Read для файлов настройки IIS. Для выдачи этих разрешений NTFS откройте окно командной строки с правами администратора и выполните следующие четыре команды CACLS для добавления в ACL службы Network Service:

cacls «%systemdrive%windows system32inetsrvconfig»/g
«networkservice»: r/e cacls «%systemdrive%windows system32inetsrvconfig redirection.config»/g
«networkservice»: r/e cacls «%systemdrive%windows system32inetsrvconfig administration.config»/g
«networkservice»: r/e cacls «%systemdrive%inetpubftpsite1» /g «network service»: c/e

Наконец, запускаем клиент FTP и подключаемся к FTPSITE1 с учетной записью пользователя из IIS Manager (remoteuser) и назначенным паролем.

User Isolation

Функция User Isolation впервые была введена вместе с IIS 6.0 в Windows Server 2003. Она позволяет настроить один сайт FTP таким образом, чтобы пользователи могли работать только со своими страницами (каталогами). Каждому пользователю предоставляется его собственный каталог в корневом каталоге FTP, что позволяет обеспечить защиту данных пользователя от просмотра и перезаписывания другими пользователями, которые находятся выше в иерархии каталогов. Когда функция User Isolation включена, пользователи автоматически перенаправляются к своей папке при обращении к корневому адресу сайта FTP, поэтому все данные, загружаемые пользователями на сервер, будут записываться в их домашние каталоги.

Прежде чем включить User Isolation, необходимо создать или физический или виртуальный каталог для каждого пользователя (виртуальные пользовательские каталоги — новая функция в этой версии FTP). Для простоты организуем физический каталог для одного пользователя (user1) на сервере. С помощью проводника Windows Explorer создадим новую папку LocalUser в c:inetpubftpsite1. В папке LocalUser создадим папку user1. Затем из Administrative Tools откроем IIS Manager и выберем FTPSITE1. Дважды щелкнем FTP User Isolation в центральной панели. Выделим параметр User name directory (disable global virtual directories) и в панели Actions щелкнем Apply.

Применение пользовательских каталогов из User name directory является режимом по умолчанию в FTP 7.0. Этот режим позволяет задавать или физические, или виртуальные каталоги для папок с домашними страницами пользователей. Если необходимо обеспечить коллективный доступ к физической папке для многих пользователей в дополнение к их папкам с домашними страницами, то надо создать виртуальный каталог для каждого пользователя. Второй вариант, User name physical directory (enable global virtual directories), поддерживает только физические каталоги. Однако пользователи будут иметь доступ к глобальным виртуальным каталогам. На практике это означает следующее: если создается виртуальный каталог (например, общий Public) в корневом каталоге FTPSITE1, пользователи смогут «вырваться» из своей домашней страницы и получить доступ к папке, указав/Public в своем клиенте FTP. Если вы включаете отображение виртуальных папок каталога, то пользователи увидят ваш каталог Public и все другие глобальные виртуальные папки, подключаемые при регистрации к корневой папке. Это позволяет им не утруждать себя вводом имени папки. Для разрешения просмотра списка виртуальных папок каталога в панели Connections выделите FTPSITE1 и дважды нажмите FTP Directory Browsing в центральной панели. Под Directory Listing Options выделите Virtual directories и нажмите Apply в разделе Actions.

Теперь подключимся к сайту FTP, используя учетные данные пользователя user1. Загрузим файл и убедимся, что файл добавился к c:inetpubftpsite1localuseruser1, а не к корневому каталогу сайта. На экране 5 показан глобальный виртуальный каталог Public, указанный в корневой папке при регистрации пользователя user1. Для дополнительной безопасности настроим разрешения NTFS для папки user1, чтобы обеспечить локальный доступ только для нее. Если надо настроить изоляцию для пользователей домена, следует подставить LocalUser для папки с именем домена.

Регистрация событий

Служба FTP Publishing Service для IIS 7.0 позволяет вести журнал с более подробной детализацией, чем прежние версии FTP. Например, с учетом всего трафика FTP за сеанс. Для пользователей, зарегистрированных на сервере локально, отображаются более информативные сообщения об ошибках, например с объяснением, почему пользователь не может быть зарегистрирован, что может помочь при устранении ошибок. Благодаря Event Tracing for Windows (ETW) все сведения о неудачных сеансах и другие сообщения со статусом ошибки записываются в системный журнал безопасности Windows Security Event Log.

Безопасная передача важных данных

FTPS избавляет от беспокойства, связанного с безопасностью информации и учетных данных пользователей, увеличивает гибкость и обеспечивает поддержку аутентификации, используя учетные записи IIS Manager. Внешний IP-адрес и диапазон портов можно настроить на подключения в пассивном режиме в случае, если пользователям нужен доступ к серверу, который находится за брандмауэром Network Address Translation (NAT) с использованием FTPS, поскольку брандмауэры и маршрутизаторы на основе протокола FTP не могут проверить защищенный канал управления. Необходимо отметить, что теперь FTP поддерживает протокол IPv6, а анонимные подключения к сайтам FTP блокируются по умолчанию. Кроме того, как и в прежних реализациях FTP, имеется возможность ограничить доступ по IP-адресу или имени домена.

Настраиваем высоко-доступный сервер FTP в существующем файловом кластере на базе Windows Server 2012 R2 Failover Cluster (без выделенного диска под роль FTP)

Возникла необходимость в развёртывании сервера FTP с анонимной авторизацией для внутренних задач в локальной сети. И чтобы не плодить лишние сущности, то есть не разворачивать дополнительный сервер исключительно под эту задачу, возникло желание использовать существующие файловые сервера. В нашем случае файловый сервис реализован на базе двух серверов состоящих в кластере Failover Cluster на Windows Server 2012 R2 и использующих общее дисковое хранилище. Решение предлагаемое Microsoft для кластеризации FTP на базе Failover Cluster в статье KB974603 — How to configure FTP for IIS 7.0 or higher in a Windows Server 2008 or Windows Server 2012 failover cluster нам в чистом виде не подошло, так как оно предполагает наличие выделенного общего кластерного диска, а в нашей ситуации вся доступная ёмкость общего дискового хранилища в кластере уже была отдана под роль файлового сервиса. Статья The Admin’s Window — Configuring highly available FTP server on a Windows Server 2008 failover cluster (without FTP dedicated storage) натолкнула на размышления о том, как можно обойти эту ситуацию.

В этой статье описан метод небольшого изменения существующей кластерной конфигурации таким образом, чтобы можно было для роли сервера высоко-доступного FTP использовать кластерную группу ресурсов (в том числе и общую дисковую емкость) существующего файлового кластера. Несмотря на то, что указанной статье без малого три года и речь в ней шла о Windows Server 2008/2008 R2 и IIS 7, мы решили попробовать реализовать данный сценарий на Windows Server 2012 R2, добавив в предложенную реализацию функционал общей конфигурации IIS как описано в KB974603 . Однако после развертывания и тестирования такой конфигурации стало понятно, что в ней тоже есть свои недостатки. В дальнейшем после некоторых экспериментов получилось собрать такую конфигурацию, при которой на узлах существующего файлового кластера для кластерного экземпляра службы FTP используется отдельная кластерная группа ресурсов. При этом IIS на узлах кластера использует общую конфигурацию (IIS Shared Configuration), а корневая папка высоко-доступного FTP-узла указывает также на сетевой каталог в файловом кластере. Для наглядности приведу получившуюся конфигурацию в схематичном виде:

В соответствии с этой схемой весь процесс настройки высоко-доступного сервера FTP в существующем файловом кластере на базе Windows Server 2012 R2 Failover Cluster будет состоять из следующих шагов:

1. Подготавливаем инфраструктуру
2. Устанавливаем роль веб-сервера IIS на всех узлах кластера
3. Создаём в файловом кластере общую папку для файлов IIS Shared Configuration
4. Настраиваем общую конфигурацию IIS на всех узлах кластера
5. Создаём в файловом кластере общую папку для корневого каталога будущего FTP-узла
6. Создаём и настраиваем FTP-узел
6.1. Создаём новый FTP-узел
6.2. Создаём отдельный пул приложений IIS для FTP-узла
6.3. Изменяем учетную запись анонимного доступа к FTP-узлу
6.4. Проверяем доступность FTP-узла с разных серверов
7. Настраиваем высокую доступность для службы FTP
8. Настраиваем FTP Site Binding
9. Включаем в файловом кластере дисковую квоту для корневого каталога FTP-узла
10. Проверяем работу FTP-клиентом на скорость и порт Passive-режима


1. Подготовка инфраструктуры

В отдельном OU в домене создадим учетную запись компьютера с именем, которое мы планируем использовать в дальнейшем для создания кластерного ресурса FTP. Эта учетная запись будет использоваться в качестве Cluster Name Object (CNO). После создания учетной записи нам необходимо будет её выключить, чтобы служба кластеризации смогла использовать этот объект. В соответствии с нашей схемой для экземпляра кластера Failover Cluster уже используется учетная запись KOM-AD01-FSFC01, и мы создадим и отключим учетную запись KOM-AD01-FSFTP – для будущей кластеризованной службы FTP Server, которая будет работать на базе этого кластера.

В свойствах безопасности учетной записи KOM-AD01-FSFTP добавляем полные разрешения для учетной записи KOM-AD01-FSFC01, чтобы служба кластера могла беспрепятственно сконфигурировать CNO службы FTP. Доступ предоставим как на сам объект, так и на его дочерние объекты.

Далее создадим в домене две служебные учетные записи пользователей:

1) s-FTP-SVCFG – Учётная запись будет использоваться для доступа служб IIS с узлов кластера (с серверов KOM-AD01-FS03 и KOM-AD01-FS04) к специальной сетевой папке, в которой будут размещаться файлы общей конфигурации IIS Shared Configuration. Эта же учетная запись будет использоваться для пула приложений IIS, на котором будет работать FTP-узел.

2) s-FTP-IUSR — Учетная запись будет использоваться для доступа к специальной сетевой папке, которая будет выступать в качестве корневой для размещения контента FTP-узла (в качестве замены встроенного локального идентификатора безопасности IUSR используемого для анонимной авторизации).

2. Устанавливаем роль веб-сервера IIS на всех узлах кластера

Через оснастку Server Manager устанавливаем компоненты роли Web Server на оба сервера.

Оставляем включенные по умолчанию компоненты при выборе установки роли Web Server и добавляем необходимую для нашей задачи компоненту FTP Service

Первоначальное желание максимально минимизировать установку IIS с экспериментами по установке отдельно лишь службы FTP Service (без установки предлагаемых по умолчанию компонент IIS) показали то, что в результате такой установки полноценно управлять конфигурацией IIS/FTP в оснастке IIS Manager не представляется возможным. Именно поэтому мы и оставляем к установке предложенные по умолчанию компоненты IIS.

3. Создаём общую папку для файлов IIS Shared Configuration

Создадим в нашем файловом кластере KOM-AD01-FSCL01 общую папку и предоставим созданной ранее учетной записи s-FTP-SVCFG полный доступ к этой папке на уровне свойств общего доступа…

Для порядка внутри этой сетевой папки создадим подкаталог с именем будущего FTP-кластера и предоставим учетной записи s-FTP-SVCFG полные права на этот каталог на уровне NTFS

Так как этот подкаталог будет содержать конфигурационные файлы, критичные для работы IIS, и соответственно серверов в целом, отключим наследование разрешений NTFS с каталога верхнего уровня, чтобы в итоге к данным каталога имели доступ только Администраторы сервера, Учетная запись SYSTEM (например для возможности корректного бэкапа) и наша сервисная учетная запись s-FTP-SVCFG.

4. Настраиваем общую конфигурацию IIS на всех узлах кластера

Для того чтобы оба узла кластера использовали единые настройки конфигурации IIS включим и настроим функционал IIS Shared Configuration. Нам необходимо, чтобы роль Web Server была свеже-установленной на обоих серверах и не имела каких-то сконфигурированных и работающий веб-узлов. Начать настройку можно с любого из серверов. В нашем примере мы начнём общей конфигурации IIS настройку с сервера KOM-AD01-FS03. Откроем оснастку IIS Manager, перейдём в дереве навигации на уровень сервера и в разделе настроек Management выберем пункт Shared Configuration

Первым делом нам нужно будет создать базовые файлы конфигурации в общей папке, которую мы создали на предыдущем этапе, то есть выгрузить с текущего узла текущие настройки IIS. Для этого воспользуемся действием Export Configuration

В открывшейся диалоговой форме укажем путь к соответствующей сетевой папке а в качестве Connect As можем указать учетную запись s-FTP-SVCFG, заодно тем самым мы проверим корректность настроенного нами ранее доступа к этой папке для этой учетной записи. Два раза введём пароль Encryption Keys, который нужен для того, чтобы зашифровать имеющиеся в настройках IIS данные параметров безопасности (например сохранённые учетные записи). Запомним этот пароль, так как он потребуется нам в дальнейшем при подключении серверов IIS к создаваемым файлам этой общей конфигурации.

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

Теперь созданные файлы общей конфигурации IIS нужно подключить к обоим серверам. Начнём здесь же, на сервере KOM-AD01-FS03, в оснастке IIS Manager в свойствах Shared Configuration включаем опцию использования общей конфигурации – Enable shared configuration, указываем путь к соответствующей общей папке и учетную запись от имени которой будет происходить подключение к этой папке — s-FTP-SVCFG

После нажатия Apply нас попросят ввести пароль шифрования, который был задан в процессе экспорта конфигурации …

…и после успешного подключения IIS к файлам общей конфигурации нас предупредят о том, что для возможности дальнейшей настройки конфигурации IIS нам необходимо перезапустить консоль IIS Manager

То же самое повторяем на втором сервере — KOM-AD01-FS04. При этом, как вы наверно уже поняли, экспорт выполнять не нужно, так как второй сервер сразу подключается к уже созданной сетевой конфигурации IIS. Поэтому на втором сервере достаточно включить опцию Enable shared configuration, указать путь размещения конфигурационных файлов и учетную запись, от имени которой будет произведено это подключение по аналогии с тем, как это было сделано на первом сервере.

5. Создаём общую папку корневого каталога будущего FTP-узла

Создадим в нашем файловом кластере KOM-AD01-FSCL01 ещё одну сетевую папку, которая будет выступать в качестве корневого каталога для будущего FTP-узла. На уровне сетевого доступа предоставим к этой папке полный доступ для учетной записи s-FTP-IUSR и доступ на чтение для учетной записи s-FTP-SVCFG

Для порядка внутри этой сетевой папки создадим подкаталог с именем будущего FTP-кластера. Соответственно на уровне прав доступа NTFS доступа предоставим к этой папке полный доступ для учетной записи s-FTP-IUSR и доступ на чтение для учетной записи s-FTP-SVCFG

Позже мы вернёмся к дополнительной настройке данной сетевой папки в файловом кластере.

6. Создаём и настраиваем FTP-узел

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

6.1. Создаём новый FTP-узел

Открываем оснастку IIS Manager, в дереве навигации Connections выбираем Sites > Add FTP Site… В открывшейся диалоговой форме создания нового FTP-узла вводим его имя и путь к корневой папке, в которой будет размещаться файловый контент. В качестве корневой папки FTP-узла указываем созданный ранее подкаталог в соответствующей сетевой папке.

Далее нам будет предложено выбрать IP адрес на котором будет создан прослушиватель входящих подключений. Оставим предложенное значение по умолчанию. Позднее, после создания FTP-кластера мы изменим эту настройку. Параметры SSL в нашем случае некритичны и поэтому мы их отключаем, однако при желании позднее мы всегда сможем изменить настройку параметров SSL

Далее нам будет предложено выбрать режим аутентификации для нашего FTP-узла и настроить основное правило доступа к корню узла. Опять же при необходимости позднее можно будет настроить разрешения на запись на отдельные подпапки создаваемые в корне.

После этого FTP-узел будет создан и запущен фактически на обоих серверах по отдельности но с одинаковыми настройками. Теперь нам нужно выполнить дополнительную настройку созданного FTP-узла.

6.2. Создаём отдельный пул приложений IIS для FTP-узла

Создадим новый отдельный пул приложений IIS (Application Pools > Add Application Pool…) и зададим ему созвучное FTP-узлу имя..

В свойствах созданного пула приложений укажем для его выполнения учетную запись s-FTP-SVCFG (выбираем созданный пул приложений и изменяем Advanced Settings > Identity > Custom account)

Теперь созданный пул приложений нужно назначить нашему FTP-узлу. Выбираем FTP-узел и вызываем окно базовых настроек узла (Sites > Имя FTP-узла > Basic Settings…)

В открывшейся диалоговой форме базовых настроек выбираем только что созданный нами Application pool и нажимаем Test Settings чтобы проверить то, что учетная запись пула приложений может получить доступ на чтение корневой папки FTP-узла (Physical path)

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

6.3. Изменяем учетную запись анонимного доступа к FTP-узлу

Так как корневой каталог нашего FTP-узла расположен в сетевой папке, нам нужно изменить учетные данные от имени которых FTP-клиенты будут обращаться к этой папке. Для этого откроем свойства Anonymous Authentication в Sites > Имя FTP-узла > FTP Authentication, вызовем пункт меню Edit и заменим используемое по умолчанию значение IUSR на учетную запись s-FTP-IUSR, которой мы ранее предоставили полный доступ к этой самой папке

6.4. Проверяем доступность FTP-узла с разных серверов

Проделанных настроек достаточно для того, чтобы наш FTP-узел стал доступен FTP-клиентам из сети по отдельности на каждом сервере.

Однако перед тем, как проверить доступность только что созданного и настроенного FTP-узла (по отдельности на каждом сервере), нам нужно обратить внимание ещё на пару моментов:

1) Убедиться в том, что при добавлении роли Web Server на оба сервера в Windows Firewall были автоматически добавлены и включены правила, разрешающие подключения к службе Microsoft FTP Service в режиме Active и Passive

Если так получилось, что по какой-то причине этих правил нет или вообще используется какой-то сторонний брандмауэр, то можно создать необходимые правила самостоятельно используя материалы изложенные в статьях IIS.net — Configuring FTP Firewall Settings in IIS 7 и OSzone.net — Контекст командной строки Netsh advfirewall

2) Выполнить на обоих серверах перезапуск службы Microsoft FTP Service (FTPSVC). Это необходимо для того, чтобы служба перечитала настройки выполненные нами в IIS. Практическое хождение по граблям показало то, что !в некоторых случаях! при реконфигурации настроек FTP в IIS при использовании общей конфигурации, для вступления их в силу порой не помогает ни перезапуск узла в консоли IIS Manager, ни даже перезапуск сервера IIS, а спасает именно перезапуск самой службы Microsoft FTP Service на на всех узлах, использующих общую конфигурацию IIS.

Теперь можно проверить доступность FTP-узла по отдельности на каждом сервере. Например, доступность FTP-узла с сервера KOM-AD01-FS03 проверим с помощью утилиты командной строки ftp, а с сервера KOM-AD01-FS04 с помощью Windows Explorer

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

7. Настраиваем высокую доступность для службы FTP

Из ранее упомянутой статьи KB974603 скопируем содержимое скрипта для создания кластерной роли FTP в IIS в файл с именем Clusftp7.vbs и на обоих серверах разместим этот файл в расположение
%systemroot%\System32\Inetsrv\Clusftp7.vbs
Читатели нашего блога также могут загрузить копию скрипта по ссылке .
Теперь на основе этого скрипта нам нужно создать новую кластерную роль. Для этого на любом из серверов в оснастке Failover Cluster Manager выбираем кластер KOM-AD01-FSFC01 > Roles > Configure Role

В открывшемся мастере добавления кластерных ролей выбираем добавление роли на основе универсального сценария — Generic Script

Затем указываем путь размещения скрипта (напомню, что он должен быть идентичен на всех узлах кластера) — %systemroot%\System32\Inetsrv\Clusftp7.vbs

На шаге Client Access Point указываем имя будущего кластерного экземпляра FTP и его IP-адрес. Именно эти данные в дальнейшем будут использовать FTP-клиенты для подключения к высоко доступному FTP-серверу.

Нажимаем Next, и после того, как мастер проверит доступность учетной записи KOM-AD01-FSFTP в домене, нам будет предложено выбрать общие диски для новой роли… Исходя из первоначальных условий нашей задачи у нас таких дисков нет, и поэтому мы просто переходим к следующему шагу мастера…

Далее мастер выполнит создание новой кластерной роли и покажет нам статус выполнения задачи.

Далее в оснастке Failover Cluster Manager на вкладке управления кластерными ролями проверим состояние вновь созданной роли и просмотрим ресурсы этой роли…

Небольшое замечание относительно использования универсального сценария. Если вы планируете создание нескольких FTP-сайтов, то для них всех согласно KB974603 можно использовать один и тот же скрипт в том случае, если скрипт используется без модификаций. В случае же если скрипт каким-то образом модифицируется под определённый FTP-сайт, то для других сайтов возможно потребуется добавление отдельной роли с копией скрипта с изменением его имени, например Clftp7-2.vbs для второго сайта, Clftp7-3.vbs – для третьего и т.п.

При создании кластерной роли должна быть выполнена автоматическая регистрация указанного имени FTP-кластера в DNS. Проверим доступность созданного кластерного ресурса заодно убедившись в том, что имя без проблем разрешается в IP-адрес, то есть динамическая регистрация имени Client Access Point в DNS прошла успешно. Ну и сразу же проверяем доступность нашего кластеризованного FTP-узла.


8. Настраиваем Site Binding для ограничения TCP-прослушивателей

Если наши сервера имеют несколько сетевых адаптеров, которые используются для разных служб и приложений, то возможно имеет смысл подумать о дополнительных мерах безопасности на сетевой уровне. Ранее, в процессе создания FTP-узла в качестве Binding IP Address мы указали значение All Unassigned. Это значит что TCP-прослушиватель поднимаемый на серверах службой FTP Service будет принимать соединения на порт FTP-узла (в нашем случае это порт TCP 21) на всех сетевых интерфейсах сервера. Поэтому для повышения уровня безопасности в целом мы можем ограничить Binding лишь IP адресом, отвечающим за нашу кластерную роль. Для этого в оснастке IIS Manager выберем наш FTP-узел > Edit Bindings и вместо значения * выберем из ниспадающего списка IP адрес нашей кластерной роли FTP.

После этого настройки должны вступить в силу сразу после их сохранения. Если этого не произошло, то можно попробовать выполнить перезапуск службы Microsoft FTP Service. В результате, несмотря на то, что TCP-прослушиватель создается не совсем так как я предполагал (не на отдельном выделенном IP)..

…тесты показывают, что служба FTP по-честному отвечает на удалённые клиентские запросы только согласно настроенным правилам Binding. То есть, например, при попытке обратиться к интерфейсам серверов по отдельности, в соединении будет отказано…

При этом соединение с IP адресом указанным в Binding будет работать как ни в чём не бывало.

9. Включаем дисковую квоту для корневого каталога FTP-узла

Если сетевая папка, используемая в качестве корневого каталога нашего FTP-узла, расположена на одном логическом дисковом томе, что и папки используемые для других приложений, нам следует подумать о том, как можно повысить меры безопасности в плане использования дисковых ресурсов. Этот вопрос может быть особенно актуален на фоне того, что мы используем анонимную авторизацию на FTP-узле, и теоретически любой FTP-клиент может переполнить всё доступное дисковое пространство на кластерном диске файлового кластера. Чтобы избежать такой ситуации воспользуемся механизмом управления дисковыми квотами из компоненты File Server Resource Manager в составе серверной роли File and Storage Services. В оснастке Server Manager переключимся на управление ролью File and Storage Services и выберем пункт Shares. В окне SHARES выберем общую сетевую папку, которую мы назначили в качестве корневой для контента нашего FTP-узла и переключимся в окно QUOTA чтобы настроить дисковую квоту…

Из списка доступных к назначению шаблонов квот выберем шаблон, который мы ранее подготовили через консоль File Server Resource Manager ( fsrm.msc ). В нашем случае папке назначен шаблон с жёстким ограничением дискового пространства в 20GB с оповещением администратора на email при достижении 95% квоты.

Чтобы быстро проверить применение наложенной квоты, достаточно включить в IIS Manager в свойствах нашего FTP-узла отображение клиентам доступного свободного места в корневой папке через Sites > Название FTP-узла > FTP Directory Browsing … включить опцию Available bytes

После этого FTP-клиентам станет доступна информация о свободном пространстве с учетом наложенной квоты…

10. Проверяем работу FTP-клиентом на скорость и порт Passive-режима

Теперь всё что нам остается сделать, это всесторонне протестировать наш высоко-доступный FTP-сервер. Так как встроенными в Windows средствами мы уже проделали эту процедуру, воспользуемся сторонним FTP-клиентом FileZilla 3.7.4.1, как одним из наиболее функциональных. Одной из приятных функций данного клиента является возможность восстановления соединения и повторная передача файла при временной недоступности FTP-сервера, например в момент перехода по отказу кластерной роли с одного узла кластера на другой…

Во время передачи файлов на FTP мы можем видеть текущую скорость передачи в MiB/s. В верхней части приложения нам доступен подробный лог выполняемого соединения. В частности в данном случае мы видим, что соединение установлено в режиме Passive, а также можем понять какой порт из диапазона динамически назначаемых (при режиме Passive) используется для передачи данных — значение (10,160,0,125,202,206) говорит о том, что на стороне сервера для канала передачи данных используется порт 51918 . При значении ответа от FTP-сервера вида (h1,h2,h3,h4,p1,p2) параметры h1,h2,h3,h4 определяют IP адрес сервера, а PASV port определяется по формуле (p1 * 256) + p2 . Подсчет номера порта может оказаться полезным в случае, если вы вырешили ограничить диапазон динамических TCP портов, используемых в режиме Passive. Это ограничение настраивается в IIS Manager в свойствах группы настроек FTP > пункт FTP Firewall Support > параметр Data Channel Port Range

Для вступления этих настроек в силу требуется перезапуск службы Microsoft FTP Service на обоих серверах нашего FTP-кластера. Такая конфигурация может оказаться полезной как в общем случае для усиления безопасности FTP, так и в случае необходимости жёсткого ограничения используемых в пассивном режиме портов передачи данных в сетях маршрутизируемых через дополнительные брандмауэры.

IIS 7.0 – Служба публикации FTP – часть 2: конфигурация

Эта статья посвящена различным сценариям установки новой службы публикации FTP для IIS 7.0. Необходимым условием этой статьи является то, что служба публикации FTP уже установлена на Windows Server 2008. В первой части этой серии статей я рассказывал о том, как скачивать и устанавливать новую версию службы публикации FTP. Эта статья будет состоять из двух основных тем настройки, каждая из которых будет разделена на свои секции:

  • Как настраивать новый FTP сайт
  • Как добавлять FTP публикацию к уже существующему веб сайту


Обе темы будут связаны с настройкой FTP с помощью графического интерфейса и инструментов управления командной строки.

Использование FTP может быть различным в зависимости от потребностей и требований к FTP в организации. Поэтому в данной статье будут представлены различные сценарии.

Настройка нового FTP сайта

Существует несколько способов настроить новый FTP сайт; с IIS 7.0 и новой службой публикации FTP теперь можно изменять или добавлять ftp сайт непосредственно в xml файлы конфигурации или с помощью сценариев.

Первая часть этого раздела будет посвящена настройке FTP ‘из GUI’ с помощью IIS Manager, а в конце я расскажу о настройке FTP с помощью интерфейса командной строки. Оба способа обеспечивают одинаковый конечный результат, коим является новый FTP сайт.

Создание новой папки

Папку необходимо подготовить для FTP публикации. Проще создать папку сейчас, прежде чем продолжать настройку FTP. Убедитесь, что папка имеет соответствующие разрешения. Папка, используемая в этом примере, будет: ‘D:\Inetpub\ftproot\ftp.iis-digest.com’.

  1. Создайте папку D:\Inetpub\ftproot\ftp.iis-digest.com
  2. Установите разрешения этой папке, используя calcs в интерпретаторе команд:

Вышеуказанная команда меняет разрешения для ftp.ii-digest.com папки и добавляет разрешения «читать» и «выполнять» для учетной записи IUSR.

Пользователь IUSR – это новая встроенная учетная запись на Windows Server 2008, используемая для IIS 7.0, заменившая старую IUSR_machinename учетную запись, которая использовалась в Windows Server 2003 и IIS 6.0.

  1. Запустите IIS Manager из меню Пуск ‘ Администрирование ‘ Internet Information Service (IIS) Manager.
  2. В IIS Manager на вкладке «Сайты» выберите опцию «Добавить FTP сайт»

Рисунок B: Добавление FTP сайта

  1. После запуска мастера добавления FTP сайта в первом диалоговом окне введите название FTP сайта и физический путь, созданный ранее
  1. Введите информацию IP адреса для FTP сайта, а во время присвоения порта выберите стандартный FTP порт 21. Если вы знаете, что делаете, и если вашим приложениям может понадобиться другой порт, его можно изменить здесь.
  2. Новым в службе публикации FTP является то, что она теперь поддерживает имена виртуальных хостов, которые представляют собой то же самое, что используется в заголовках хостов на веб сайтах. Имя виртуального хоста, как например ftp.iis-digest.com означает, что теперь можно иметь несколько FTP сайтов, настроенных на одном IP адресе без конфликтов на присвоенном порте.
  3. SSL также является новой функцией, поддерживаемой службой публикации FTP, сочетая SSL и FTP, сервер обеспечивает поддержку FTPS. Выбрав SSL сертификат во время настройки, FTP сайт становится доступным в виде безопасного сайта, поэтому весь трафик будет зашифровываться. В вышеприведенном примере должно стоять ‘Разрешить SSL’, так как нет SSL сертификата для этого ftp сайта.
  4. Установите аутентификацию на значение «Анонимная», чтобы предоставить анонимный доступ к новому ftp сайту, используемому в качестве примера в этой статье.
  1. Добавьте параметры авторизации, используемые для ftp сайта, установите их в значение ‘Анонимные пользователи’ и разрешения только чтения.
  1. Новый ftp сайт был настроен и его можно посмотреть в IIS Manager
  1. Тестирование нового FTP сайта: в этом примере мы войдем от имени анонимного пользователя, чтобы протестировать новый сайт ftp.iis-digest.com. Поскольку FTP 7 использует виртуальные заголовки, логин должен иметь формат: ‘ftp.iis-digest.com|anonymous’:

Рисунок C: Проверка ftp соединения в командной строке

Существует множество способов настройки пользователей для ftp сайта безопасным способом, и в производственных средах не рекомендуется использовать анонимный уровень аутентификации. Защита FTP будет рассмотрена в моей следующей статье.

Настройка нового FTP сайта с помощью командной строки или сценариев

С IIS 7.0 и новым FTP 7 теперь возможно использовать сценарии и автоматизировать большую часть управления IIS и FTP. В этом разделе будет рассказано о том, как создавать и настраивать тот же самый новый FTP сайт (как был создан выше), но с помощью интерпретатора команд и сценариев.

Используя инструмент командной строки AppCMD.exe, команда и параметры для создания нового FTP сайта будут следующие:

Тоже самое можно сделать в PowerShell и новом PowerShell Provider для IIS 7.0. Требованием является то, чтобы PowerShell 1.0 был установлен на Windows Server 2008 вместе с PowerShell Provider для IIS 7.0. PowerShell Provider можно скачать с www.iis.net. Оба компонента нужно установить, чтобы обеспечить подключение и команды для управления IIS 7.0 и FTP 7 с помощью PowerShell.

Существует и еще один программный интерфейс для управления IIS 7.0, это Microsoft.Web.Administration, дополнительная информация об этом инструменте находится на официальном веб сайте IIS (www.iis.net). Этот интерфейс не рассматривается в данной статье.

Добавление FTP публикации к существующему веб сайту

Благодаря IIS 7.0 и новой службе публикации FTP теперь можно добавлять FTP к существующему веб сайту непосредственно из IIS Manager. Это отличная новая функция, которая не была представлена в предыдущих версиях IIS. Это означает, что в нашей примерной среде хостинга теперь гораздо легче добавить FTP доступ к веб сайту, который уже есть на веб сервере.

Благодаря новой службе публикации FTP стало просто публиковать FTP на уже существующем веб сайте, и это можно сделать непосредственно из IIS Manager. В примере ниже FTP сайт будет добавлен к веб сайту по умолчанию.

  1. Разверните ‘Сайты’ и найдите веб сайт, к которому вы хотите добавить функцию FTP, в этом примере название сайта будет ‘Default Web Site’
  2. Отметьте веб сайт (Default Web Site) и нажмите правой клавишей, или в панели действий выберите ‘Добавить FTP публикацию»:

Рисунок Е: Выбор FTP публикации в IIS Manager

  1. Откроется диалоговое окно в мастере добавления FTP публикации, первая страница — ‘Привязка и SSL Параметры’:
  1. IP адрес: выберите IP адрес, который вы хотите назначить своему новому FTP сайту, это может быть либо ‘All Unassigned’ или вы можете ввести IP адрес или выбрать из меню. В этом примере мы использовали ‘All Unassigned’
  1. Порт: Стандартным портом для FTP является TCP порт 21, который также будет использоваться в данном примере
  1. Виртуальное имя: Теперь можно использовать заголовок хоста для FTP сайта, как мы знаем из заголовков хоста на веб сайте и из моего предыдущего примера. В этом примере мы оставим поле пустым, что означает, что оно будет соответствовать IP адресу
  1. Выбираем ‘Разрешить SSL’, так как у нас нет SSL сертификата, который можно добавить к новому ftp сайту
  1. Выбираем основную или анонимную аутентификацию для нашего ftp сайта (этого делать не рекомендуется). В данном примере мы используем такую аутентификацию, так как тестируем сайт

Теперь FTP был добавлен к существующему Default веб сайту. Тестируем ftp соединение путем подключения к IP адресу сервера или к серверу, используя localhost.

Резюме

В этой статье описывается процесс настройки нового FTP сайта и добавления FTP публикации к существующему веб сайту. Настройка осуществлялась с помощью IIS Manager, а также с помощью appcmd.exe. интерфейса командной строки.

На этом мы закончим вторую часть серии статей о службе публикации FTP для Internet Information Services 7.0 (IIS 7.0).

В следующей части мы рассмотрим безопасность FTP и защиту службы публикации FTP.

Настройка ftp-сервера IIS на Windows 7

Иногда проще и быстрее передать файл через собственный ftp-сервер, чем закачивать на файлообменник. Ниже рассмотрена процедура установки и настройки ftp-сервера IIS, входящего в состав Windows 7.

Установка FTP-сервера.

FTP-сервер входит в состав служб IIS. Для его установки открываем Панель управления -> Программы -> Включение или отключение компонентов Windows. Раскрываем раздел Службы IIS и ставим галочки напротив следующих компонентов: Служба FTP и Консоль управления IIS.

Установка службы FTP

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

Открываем Панель управления -> Система и безопасность -> Администрирование -> Управление компьютером (можно быстрее: меню Пуск -> правый клик на Компьютер -> в меню выбрать пункт Управление). В открывшемся окне раскрываем группу Службы и приложения и открываем Диспетчер служб IIS. В окне Подключения выбираем папку Сайты, затем в правом окне Действия нажимаем на ссылку Добавить FTP-сайт.

В мастере создания ftp-сайта указываем его название и расположение (по умолчанию c:\inetpub\ftproot).

Название и расположение сайта

Далее указываем параметры привязки и SSL. Раздел привязка оставляю без изменений. Опцию “Запускать ftp-сайт автоматически” отключаю (ftp мне нужен только время от времени). В разделе SSL выставляю опцию “Без SSL”.

Параметры привязки и SSL

В следующем окне оставляем все без изменений и нажимаем Готово.

Сведения о проверке подлинности и авторизация

Сайт создан. Теперь можно перейти к дополнительным параметрам для тонкой настройки (например ограничить максимальное количество одновременных подключений). Выделите только что созданный сайт, справа в панели Действия нажмите на Дополнительные параметры.

Следующий этап – настройка брандмауэра Windows. Откройте Панель управления -> Система и безопасность -> Брандмауэр Windows -> Дополнительные параметры. В разделе “Правила для входящих подключений” находим и активируем “FTP-сервер (входящий трафик)” и “FTP Server Passive (FTP Passive Traffic-In)”. Последнее правило позволяет подключаться ftp-клиенту в пассивном режиме.

Открываем порт 21 (входящий) Открываем порты 1023-65535 (пассивный режим)

В разделе “Правила для исходящего подключения” находим и активируем “FTP Server (FTP Traffic-Out)”.

Открываем порт 20 (исходящий)

Если в системе установлен дополнительный брандмауэр (Comodo, Outpost и т.п.), то в нем также необходимо открыть порт 21 (TCP) для входящих подключений и порт 20 (TCP) для исходящих.

Если подключение к Интернет осуществляется с помощью маршрутизатора, и вы хотите сделать свой сервер доступным интернет-пользователям, тогда необходимо настроить проброс портов на маршрутизаторе. На моем Dlink DI-804HV это выполняется в разделе Virtual Server.

192.168.10.4 – ip-адрес ftp-сервера в локальной сети.

Настройка прав пользователей.

Если оставить все как есть, то подключиться к ftp-серверу сможет любой пользователь (включен анонимный доступ) с правами только на чтение (можно скачивать, но записывать и изменять файлы нельзя). Предположим, что нам нужно сделать доступ для доверенных пользователей, которые имели бы права записи и изменения файлов.

Открываем Панель управления -> Система и безопасность -> Администрирование -> Управление компьютером (Пуск -> правый клик на Компьютер -> в меню выбрать пункт Управление). Далее раскрываем группу Локальные пользователи и группы (данная настройка доступна только в редакциях Бизнес и Максимальная). Правый клик на папке Группы, в меню выбираем Создать группу.

Создание группы пользователей ftp (1)

Вводим название группы – Пользователи FTP, описание (можно не вводить) и нажимаем кнопку Создать.

Создание группы пользователей ftp (2)

Теперь необходимо создать пользователя. Делаем правый клик на папке Пользователи и в меню выбираем Новый пользователь.

Создание пользователя ftp (1)

Вводим имя пользователя (например ftp_user_1), пароль (не менее 6 символов), выставляем галочки напротив опций “Запретить смену пароля пользователем” и “Срок действия пароля не ограничен”.

Создание пользователя ftp (2)

Пользователь создан. Теперь необходимо присвоить ему ранее созданную группу Пользователи ftp. Для этого открываем свойства пользователя и переходим на закладку “Членство в группах”. По умолчанию новому пользователю присваивается группа Пользователи, удаляем ее. Нажимаем кнопку Добавить -> Дополнительно -> Поиск. Откроется список групп пользователей. Выбираем группу Пользователи FTP и нажимаем Ok. В итоге получаем:

Создание пользователя ftp (3)

Нажимаем Ok и переходим к следующему этапу.

На этапе создания ftp-сайта нам было необходимо выбрать рабочий каталог (c:\inetpub\ftproot). Теперь для группы “Пользователи FTP” необходимо настроить права доступа к этому каталогу. Открываем c:\inetpub в проводнике, открываем свойства папки ftproot, переходим на закладку Безопасность и нажимаем кнопку Изменить. В открывшемся окне нажимаем кнопку Добавить и выбираем группу “Пользователи FTP” (как при создании пользователя). Устанавливаем уровень прав – “Полный доступ” и нажимаем Ок.

Установка прав доступа к папке ftproot

Последний этап. Вновь открываем Диспетчер служб IIS и выделяем наш ftp-сервер (Test FTP). В панели управления ftp-сайтом выбираем “Правила авторизации FTP”. Добавляем разрешающее правило. В открывшемся окне выбираем опцию “Указанные роли или группы пользователей”. Внизу в текстовом поле руками прописываем название нашей группы (Пользователи FTP), далее ставим галочки в разделе Разрешения напротив Чтение и Запись и нажимаем Ок.

Добавляем правило авторизации FTP

На этом настройка завершена.

В начале мы не выбрали опцию автоматического запуска сервера, поэтому не забываем запустить его вручную (правый клик на названии сайта -> Управление FTP-сайтом -> Пуск).

Как подключиться?

Вариант с использованием проводника Windows.
Открываем Компьютер (Vista, Win 7) или Мой Компьютер (XP).
Для анонимного доступа просто вводим в адресную строку адрес сервера (ftp://192.168.10.4).
Чтобы войти с именем пользователя и паролем вводим адрес вида: ftp://[имя пользователя]:[пароль]@[адрес ftp-сервера]. Например ftp://ftp_user_1:qwerty@192.168.10.4 – для подключения из локальной сети. Для подключения из Интернет локальный адрес заменяем на внешний или на доменное имя.

Как сделать свой ftp-сервер доступным из Интернет?

Если компьютер подключен к Интернет на прямую, то никаких дополнительных действий предпринимать не нужно.

Если компьютер подключен к Интернет через роутер, тогда в панели управления роутера необходимо настроить форвардинг порта TCP 21 (часто это еще называют виртуальным сервером). Настройка форвардинга порта на примере D-link DI-804.

Служба FTP IIS 8 игнорирует определенный диапазон портов

У меня возникли проблемы с настройкой FTP-сервера в Windows Server 2012 с использованием IIS 8. Это должно быть довольно просто, но я изо всех сил пытаюсь убедить IIS использовать диапазон портов, который я указал.

В IIS под поддержкой FTP-брандмауэра диапазон, который я выбрал, — 41000-42000. Наш внешний IP-адрес указан, и если я перенаправляю весь трафик с нашего брандмауэра, это отлично работает. Проблема в том, что когда я пересылаю только порты 20, 21 и 41000-42000, он не устанавливает пассивное соединение. Это журнал из Filezilla (IP Masked):

Теперь я считаю, что сервер предлагает использовать порт 38138 на основе 148 * 256 + 250, который находится за пределами определенного диапазона 41000-42000. Это объясняет, почему он не может подключиться. Я googled вокруг, и это довольно распространенная проблема, но решение должно перезапустить службу FTP Microsoft. К сожалению, я пробовал это, и это не имело никакого значения. Я также перезапустил IIS и даже весь сервер, но он все еще выбрасывает неправильный диапазон портов. Я не могу найти что-то конкретное для IIS 8 в отношении этого, и не могу найти кого-либо другого, у кого есть такая же проблема, но перезапуск службы не исправлен.

У кого-нибудь есть идеи? Есть что-то, что я пропустил?

Мне удалось выяснить причину этого, по крайней мере, почему отправляются неправильные порты.

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

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

WCF: размещение службы в IIS

Всем доброго времени суток. На связи Алексей Гулынин. В данной статье я бы хотел рассказать, как WCF-службу разместить в IIS (Internet Information Services). Для этого создадим веб-проект (пустой сайт) в Visual Studio . В данном проекте нам нужен только файл Web.config .

В данный файл добавим следующий код:

В принципе, можно было и не создавать веб-проект, а просто вручную создать файл Web.config .

В текущем решении создадим ещё проект типа «Библиотека классов». Назовем его ServiceIISLibrary . Здесь добавим контракт и реализуем его:

Построим проект ServiceIISLibrary (правок кнопкой по проекту — Собрать) для того, чтобы сгенерировалась dll-библиотека.

Давайте теперь создадим папку, в которую соберем все файлы, которые необходимы для того, чтобы разместить нащ сервис в IIS:

  1. Создадим на диске C (или в любом другом месте) папку «MyServiceIIS».
  2. В данной папке создадим файл «MyService.svc».
  3. В данный файл добавим одну лишь строку: .
  4. Также добавим сюда файл «Web.config».
  5. Создадим папку «bin» и в неё добавим файл ServiceIISLibrary.dll

Как добавить службы IIS в Windows 7?

Для этого необходимо зайти в панель управления — программы и компоненты — слева выбрать пункт «Включение и отключение компонентов Windows» — выбрать «Службы IIS» — Нажать ОК:

Давайте теперь откроем диспетчер служб IIS и добавим наш сайт. Заходим в панель управления — Администрирование — диспетчер служб IIS. Добавим виртуальный каталог:

Физический путь указываем к папке на диске C. Имя сайта указываем «MySite»:

Преобразуем наш каталог в приложение:

Давайте теперь проверем, что всё работает. Откроем браузер и в строке укажем путь к сервису: http://localhost/MySite/MyService.svc

При переходе по данной ссылке иногда может возникнуть ошибка. В качестве решения я предлагаю зайти в папку C:\Windows\Microsoft.NET\Framework\v4.0.30319 и запустить в командной строке «aspnet_regiis -i».

В данной статье мы уже писали код клиента. В коде необходимо только поменять адрес на http://localhost/MySite/MyService.svc

Запустим клиент и увидим, что всё работает:

В данной статье вы узнали, как размещать сервис в службах IIS.

На связи был Алексей Гулынин, оставляйте свои комментарии, увидимся в следующих статьях.

Национальная библиотека им. Н. Э. Баумана
Bauman National Library

Персональные инструменты

IIS (Internet Information Services)

Примечание.
Internet Information Services
Разработчики: Microsoft
Постоянный выпуск: 10 / 29 July 2015 года ; 4 years ago ( 2015-07-29 )
Состояние разработки: Active
Написана на: C++ (язык программирования) [1]
Операционная система: Windows NT
Локализация: Same languages as Windows
Тип ПО: Web server
Лицензия: Part of Windows NT (same license)
Веб-сайт iis .net

IIS (англ. Internet Information Services ) является Visual Basic приложением, которое располагается на веб-сервере и отвечает на запросы браузера. Приложение IIS использует HTML для представления своего пользовательского интерфейса и использует скомпилированый код Visual Basic для обработки запросов и реагирования на события в браузере. Для пользователя приложение IIS представляется рядом страниц HTML. Для разработчика приложение IIS состоит из особого типа объекта, называемого WebClass, который в свою очередь, содержит ряд ресурсов, называемых webitems. WebClass выступает в качестве центрального функционального блока приложения, обрабатывающего данные из браузера и отправляющего информацию пользователям. Разработчик описывает ряд процедур, которые определяют, каким образом WebClass отвечает на эти запросы. webitems являются HTML-страницами и другими данными, которые WebClass может отправить в браузер в ответ на запрос.

Содержание

Архитектура

Internet Information Services (IIS) 7 и выше обеспечивает архитектуру обработки запросов, которая включает в себя:

  • Служба активации процесса Windows (WAS), который позволяет сайтам использовать отличающиеся от HTTP и HTTPS протоколы.
  • Веб-движок сервера, который может быть изменен путем добавления или удаления модулей.
  • Интегрированные конвейеры обработки запросов от IIS и ASP.NET.

Компоненты

IIS содержит несколько компонентов, которые выполняют важные функции для приложений и ролей веб-сервера в Windows Server® 2008 (IIS 7.0) и Windows Server 2008 R2 (IIS 7.5). Каждый компонент имеет функции, такие как прослушивание запросов к серверу, управление процессами и чтение файлов конфигурации. Эти компоненты включают в себя обработчики протокола, такие как HTTP.sys и службы, такие как World Wide Web Publishing (служба WWW) и службы активации процесса Windows (WAS).

Internet Information Server (IIS) имеет свой собственный ASP.NET Process Engine для обработки запроса ASP.NET. Способ настройки приложения ASP.NET зависит от того, какая версия IIS приложения используется.

Internet Information Server (IIS) включает в себя набор программ для создания и администрирования веб-приложений, поисковых систем, а также поддержку для написания веб-приложений, обеспечивающих доступ к базам данных, таким как SQL Server. IIS позволяет настроить компьютер в качестве веб-сервера и предоставляет функциональные возможности для разработки и развертывания веб-приложений ASP.NET на сервере. Кроме того, возможно установить параметры безопасности для конкретного веб-сайта для конкретных пользователей и компьютера для того, чтобы защитить его от несанкционированного доступа.

По заявлениям разработчиков, IIS повышает доступность веб-сайтов и приложений при одновременном снижении системного администрирования и стоимости развертывания. IIS 7.5 поддерживает HTTP, HTTPS, FTP, FTPS, SMTP и NNTP.

Ключевые особенности

  • Встроенные расширения
    • WebDAV и FTP
    • Фильтрация запросов
    • Модули администрирования
  • Усовершенствования управления
    • Анализатор соответствия рекомендациям
    • Windows PowerShell провайдер и cmdlets
    • Ведение журнала конфигурации и трассировки
  • Улучшения хостинга приложений
    • Управляемые учетные записи служб
    • Hostable веб-ядро
    • Трассировка неудачных запросов для FastCGI
  • Улучшения .NET поддержки для Server Core

Установка

  • Нажмите кнопку Пуск и выберите Панель управления.
  • На панели управления выберите Программы, а затем Включение и отключение компонентов Windows.
  • В диалоговом окне «Компоненты Windows» нажмите Службы IIS, а затем кнопку ОК.

Конфигурирование

Настройка веб-узла по умолчанию: При установке IIS настроен для использования в качестве веб-узла по умолчанию; тем не менее может потребоваться изменить некоторые настройки. Чтобы изменить основные параметры для веб-узла и имитировать действия, которые требуются для настройки Apache в первый раз с помощью файла конфигурации:

  1. Войдите в систему на компьютере веб-сервера с правами администратора.
  2. Нажмите кнопку Пуск, выберите Настройка и щелкните Панель управления.
  3. Дважды щелкните значок Администрирование, а затем дважды щелкните значок Диспетчер служб Интернета.
  4. Щелкните правой кнопкой мыши веб-узел, который необходимо настроить, на левой панели и выберите команду Свойства.
  5. Перейдите на вкладку веб-узел .
  6. В поле Описание введите описание веб-узла.
  7. Введите адрес Internet Protocol (IP) для веб-узла или оставьте значение по умолчанию все (не назначено) .
  8. Измените порт протокола управления передачей (TCP), соответствующим образом.
  9. Перейдите на вкладку Домашний каталог.
  10. Чтобы использовать папку на локальном компьютере, выберите каталог на данном компьютере и нажмите кнопку Обзор, чтобы найти папку, которую требуется использовать.
  11. Чтобы использовать папку, общий ресурс с другого компьютера в сети, выберите параметр Общая папка другого компьютера и затем введите путь или нажмите кнопку Обзор, чтобы выбрать общую папку.
  12. Нажмите кнопку Чтение предоставить доступ на чтение к папке (обязательно).
  13. Нажмите кнопку ОК, чтобы принять свойства веб-сайта.

Создание нового веб-узла:

Чтобы создать новый веб-узел на сервере Apache, необходимо настроить виртуальный узел и настроить отдельные параметры для узла. Если используются службы IIS, можно создать новый веб-узел путем перевода следующих терминов в эквивалентные термины IIS:

Apache термин Термин IIS
Корень документа Каталог домашней страницы веб-узла IIS
Имя_сервера Заголовок узла IIS
Прослушивание IIS IP-адрес и TCP-порт

Чтобы создать новый веб-узел в IIS, выполните следующие действия:

  1. Войдите в систему на компьютере веб-сервера с правами администратора.
  2. Нажмите кнопку Пуск, выберите Настройка и щелкните Панель управления.
  3. Дважды щелкните значок Администрирование, а затем дважды щелкните значок Диспетчер служб Интернета.
  4. Щелкните Действие, выберите пункт Создать и выберите веб-узел.
  5. После запуска мастера создания веб-узла, нажмите кнопку Далее.
  6. Введите описание веб-узла. Это описание используется для идентификации веб-узла в диспетчере служб Интернета только для внутренних целей.
  7. Выберите IP-адрес для веб-узла. Если выбрать все (без значения), веб-узел будет доступен для всех интерфейсов и всех настроенных IP-адресов.
  8. Введите номер порта TCP, чтобы опубликовать на нем сайт.
  9. Введите имя заголовка узла (реальные имя, которое используется для доступа к этому узлу).
  10. Нажмите кнопку Далее.
  11. Введите путь к папке, которая содержит документы веб-узла, или нажмите кнопку Обзор, выберите папку и нажмите кнопку Далее.
  12. Укажите права доступа для веб-узла и нажмите кнопку Далее.
  13. Нажмите кнопку Готово.

Настройка FTP-сервера с изоляцией пользователей на Windows Server 2020 / 2012 R2

Несмотря на то, что протоколу FTP, являющемуся одним из старейших протоколов, уже исполнилось больше 40 лет, он продолжает использоваться повсеместно там, где требуется простой протокол передачи файлов. Сервер FTP можно установить на всех операционных системах Microsoft. Последняя глубокая модернизация этой службы была произведена в Windows 7 / Server 2008 R2 (по сути код сервиса был переписан заново). Была существенно улучшена безопасность службы, и появился ряд новых возможностей. В частности, в FTP сервере на Windows появилась возможность настроить изоляцию FTP пользователей, позволяющая разграничить доступ множества пользователей к собственным папкам на одном FTP сервере.

Благодаря возможности изоляции пользователи могут работать только со своими ftp каталогами, и не могут подняться выше по дереву каталогов, т.к. каталог верхнего уровня пользователя отображается для него, как корень службы FTP. Таким образом можно предотвратить доступ пользователей к чужим файлам на FTP сервере. Изоляция FTP пользователей широко применяется хостинг-провайдерами, когда нужно предоставить индивидуальный доступ различным пользователям к одному файловому хранилищу.

Как и в предыдущих версиях Windows, служба FTP (не путайте с sFTP и TFTP) в Windows Server 2020/2012 R2 основана и глубоко интегрирована в сервис IIS, и имеет единый административный интерфейс управления. В этой статье мы покажем, как установить сервер FTP на базе IIS в Windows Server 2020 / 2012 R2 и настроить на нем изоляцию пользователей (инструкция также применима и к Windows 10 / 8.1).

Установка роли FTP сервера в Windows Server 2020/ 2012 R2

Установить сервис FTP можно через консоль Server Manager, отметив в разделе Web Server(IIS) -> FTP Server опции FTP Service и FTP Extensibility.

Также можно установить роль FTP сервера одной командой PowerShell:
Install-WindowsFeature Web-FTP-Server

Чтобы установить консоль управления FTP сервером выполните команду:

Install-WindowsFeature -Name «Web-Mgmt-Console»

Настройка FTP сайта в Windows Server, предоставление прав пользователям

Запустите Server Manager и откройте консоль управления IIS (Internet Information Service Manager).

Создайте новый FTP сайт (Sites ->Add FTP Site).

Имя FTP сайта: MyTestSite

Корневой каталог FTP сайта: C:\inetpub\ftproot

Для защиты передаваемых по сети ftp-данных возможно настроить SSL (в этом случае все передаваемые по сети данные и пароли/учетки ftp-пользователей будут зашифрованы), но в нашей демонстрации это не обязательно. Все остальные настройки оставляем стандартными.

Import-Module WebAdministration
#Задаем имя FTP сайта
$FTPSiteName = ‘New FTP Site’
#Каталог FTP сайта
$FTPRoot = ‘E:\www\FTPRoot’
#порт FTP сайта
$FTPPort = 21
New-WebFtpSite -Name $FTPSiteName -PhysicalPath $FTPRoot -Port $FTPPort

Выберите новый FTP сайт и в секции FTP Authentication (Аутентификация) отключите анонимную аутентификацию Anonymous Authentication. Basic Authentication должна быть включена.

FTP служба на Windows Server 2020 / 2012 R2 может использовать два типа учетных записей: доменные или локальные. В зависимости от типа учетной записи есть различия в структуре каталогов FTP и настройках изоляции пользователей. Мы будем использовать локальные учетные записи Windows.

Создайте FTP пользователей, допустим, это будут учетные записи ftp_user1, ftp_user2 и ftp_user3. Также создайте группу ftp_users, в которую включим этих пользователей. Создать пользователей можно в разделе Local Users and Groups консоли Computer Management.

Также можно создать пользователей и группы из командной строки (или с помощью PowerShell). Создайте локальную группу:
net localgroup ftp_users /add

Создайте нового локального пользователя:

net user ftp_user1 /add *

Добавьте пользователя в группу:

net localgroup ftp_users ftp_user1 /add

Точно так же создайте еще двух пользователей.

Предоставьте созданной группе ftp_users права (RW) на каталог C:\inetpub\ftproot.

Внутри каталога C:\inetpub\ftproot создадйте каталог с именем LocalUser (имя должно полностью соответствовать, это важно. ). Затем внутри C:\inetpub\ftproot\LocalUser создайте три каталога с именами созданных вами пользователей: ftp_user1, ftp_user2, ftp_user3.

Тип учетной записи Синтаксис именования домашних каталогов
Анонимные пользователи %FtpRoot%\LocalUser\Public
Локальная учетная запись Windows %FtpRoot%\LocalUser\%UserName%
Доменная учетная запись Windows %FtpRoot%\%UserDomain%\%UserName%
Специальные учетки IIS Manager или ASP.NET %FtpRoot%\LocalUser\%UserName%

Вернитесь в консоль IIS и в разделе сайта FTP Authorization Rules создайте новое правило (Add Allow Rule), в котором укажите, что группа ftp_users должна иметь права на чтение и запись (разрешения Read и Write).

Настройка изоляции FTP пользователей в Windows Server 2020/2012 R2

Перейдем к настройке изоляции пользователей FTP. Изоляция FTP пользователей настраивается на уровне сайта FTP, а не всего сервера и позволяет организовать собственный домашний каталог для каждого пользователя. В настройках FTP сайта откройте пункт FTP User Isolation.

В этом разделе имеются несколько настроек. Первые две не предполагают изоляции пользователей:

  • FTProotdirectory (ftp‑сессия пользователя начинается с корневого каталога ftp-сайта);
  • Usernamedirectory (пользователь начинает работу с физического/виртуального каталога с именем пользователя. Если каталог отсутствует, сессия начинается с корневого каталога ftp-сайта).

Следующие 3 опции представляют различные режимы работы изоляции пользователей:

  • Usernamedirectory(disableglobalvirtualdirectories) – предполагает, что ftp-сессия пользователя изолирована физическим или виртуальным каталогом имя которого соответствует имени пользователя ftp. Пользователи видят только собственный каталог (для них он является корневым) и не могут выйти за его рамки (в вышестоящий каталог дерева FTP). Любые глобальные виртуальные каталоги игнорируются;
  • Usernamephysicaldirectory(enableglobalvirtualdirectories) – предполагается, что FTP-сессия пользователя ограничена (изолирована) физическим каталогом с именем учетной записи пользователя FTP. Пользователь не может перейти выше своего каталога по структуре FTP. Однако пользователю доступны все созданные глобальные виртуальные каталоги;
  • FTP home directory configured in Active Directory – FTP-пользователь изолируется в рамках своего домашнего каталога, заданного в настройках его учетной записи Active Directory (свойства FTPRoot и FTPDir).

Выберите нужный режим изоляции (я использую второй вариант изоляции ftp пользователей).

Настройка правил брандмауэра Windows для доступа к FTP серверу

При установке роли FTP сервера в настройках Windows Firewall автоматически активируются все необходимые правила, которые нужна для доступа пользователей к FTP.

Для корректной работы FTP севера в пассивном режиме FTP пользователям нужно подключаться к RPC диапазону портов (1025-65535). Чтобы не открывать все эти порты на внешнем файерволе, вы можете ограничить диапазон динамических TCP портов, используемых для передачи данных.

  1. Для этого в настройках FTP сайта в IIS откройте пункт FTPFirewallSupport и в поле DataChannelPortRange укажите диапазон портов, который вы хотите использоваться для FTP подключений. Например – 50000-50100;
  2. Сохраните изменения и перезапустите IIS (iisreset);
  3. Откройте панель управления и перейдите в Control Panel\System and Security\Windows Firewall\Allowed apps;
  4. Убедитесь, что в списке приложении, которым разрешен доступ через брандмауэр присутствуют разрешения для FTP Server.

Затем в настройках Windows Firewall with Advanced Security проверьте, что включены следующие правила:

  • FTP Server (FTP Traffic-In) – протокол TCP, порт 21;
  • FTP Server Passive (FTP Passive Traffic-In) – адрес локального порта 1024-65535 (либо 50000-50100 как в нашем примере);
  • FTP Server Secure (FTP SSL Traffic-In) – (при использовании FTP с SSL) порт 990;
  • FTP Server (FTP Traffic-Out) – порт 20;
  • FTP Server Secure (FTP SSL Traffic-Out) – (при использовании FTP с SSL) порт 989.

Соответственно эти порты нужно открыть на шлюзе (межсетевом экране) для подключения внешних FTP пользователей.

Проверка подключения к FTP серверу с Windows клиента

Вы можете проверить доступность портов на FTP сервере с помощью командлета Test-NetConnection:

Test-NetConnection -ComputerName yourftpservername -Port 21

Или с помощью команды ftp:

Попробуйте подключиться к своему FTP сайту с помощью любого клиента FTP или непосредственно из Explorer (в адресной строке указав ftp://yourservername/ .

Укажите имя и пароль пользователя.

В результате у вас откроется содержимое домашнего каталога с файлами пользователя (являющимся для пользователя корнем FTP сайта). Как вы видите, сессия пользователя является изолированной и пользователь видит на ftp сервера только свои файлы.

Для просмотра информации о доступе пользователей к FTP серверу можно использовать журналы FTP, которые по умолчанию хранятся в каталоге c:\inetpub\logs\logfiles в файлах формата u_exYYMMDD.log.

Для просмотра текущих подключений пользователей к вашему серверу можно пользоваться значениями счетчиками пользователей IIS через PowerShell или функцией «Текущие сеансы FTP» в консоли IIS. В этой консоли можно посмотреть информацию об имени и IP адресе FTP пользователя и отключить сессию при необходимости.

Итак, мы рассмотрели, как настроить FTP сайт с изоляцией пользователей на базе Windows Server 2020 / 2012 R2. В режиме изоляции пользователи аутентифицируются на FTP под своими локальным или доменным учетными записями, после чего они получают доступ к своему корневому каталогу, соответствующему имени пользователя.

Илон Маск рекомендует:  Вывод данных в excel
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL