Использование FTP через SSL в IIS 7

Роберт Макмюррей (Robert McMurray)

Совместимость

Версия Примечания
IIS 7,5 Служба FTP 7.5 поставляется в качестве компонента для IIS 7.5 в Windows 7 и Windows Server 2008 R2.
IIS 7.0 Службы FTP 7.0 и FTP 7.5 были отправлены по аппаратному каналу для IIS 7.0, что потребовало загрузки и установки службы по следующему URL-адресу: https://www.iis.net/download/FTP.

Введение

Корпорация Майкрософт создала новую службу FTP, которая была полностью перезаписана для Windows Server® 2008. Эта ftp-служба включает в себя множество новых функций, которые позволяют веб-авторам публиковать содержимое лучше, чем раньше, и предлагает веб-администраторам более широкие возможности безопасности и развертывания.

Одна из функций — ПРОТОКОЛ FTP через ПРОТОКОЛ SSL, который позволяет шифровать сеансы между FTP-клиентом и сервером. В этом документе описано, как настроить FTP-сайт; и , настроив этот сайт для использования SSL с новым пользовательским интерфейсом FTP, который позволяет напрямую редактировать файлы конфигурации IIS 7.0. Она содержит следующие виртуальные машины:

Примечание

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

Предварительные требования

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

  1. На сервере Windows 2008 должны быть установлены службы IIS 7.0, а также должен быть установлен диспетчер служб IIS.

  2. Новая служба FTP. Вы можете скачать и установить службу FTP с https://www.iis.net/ веб-сайта, используя одну из следующих ссылок:

    • FTP 7.5 для IIS 7.0 (x64)
    • FTP 7.5 для IIS 7.0 (x86)
  3. Вам потребуется создать корневую папку для публикации ПО FTP:

    • Создайте папку в %SystemDrive%\inetpub\ftproot

    • Задайте разрешения, чтобы разрешить доступ для группы администраторов:

      • Откройте командную строку.
      • Введите следующую команду: ICACLS "%SystemDrive%\inetpub\ftproot" /Grant administrators:F /T
      • Закройте командную строку.

Примечание

Параметры, перечисленные в этом пошаговом руководстве, указывают %SystemDrive%\inetpub\ftproot в качестве пути к ftp-сайту. Вам не обязательно использовать этот путь; Однако при изменении расположения сайта необходимо изменить пути, связанные с сайтом, которые используются в этом пошаговом руководстве.

Необязательно. Создание самозаверяющего SSL-сертификата

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

Примечание

Если вы настраиваете FTP-сайт для интернет-действий, вы получите SSL-сертификат от одного из многих центров сертификации, таких как VeriSign, Thawte, DigiCert и т. д. Дополнительные сведения см. в разделе Центры сертификации.

  1. Откройте диспетчер служб IIS 7.0.
  2. Щелкните компьютер в верхнем узле дерева Подключения , а затем дважды щелкните компонент Сертификаты сервера .
    Снимок экрана, на котором показана панель
  3. Щелкните Create Self-Signed Certificate (Создать сертификат Self-Signed ) на панели Действия .
    Снимок экрана, на котором показана область
  4. Введите "Мой FTP-сертификат" в качестве имени нового сертификата, а затем нажмите кнопку ОК.
    Снимок экрана: диалоговое окно

Создание ftp-сайта с поддержкой SSL с помощью диспетчера IIS 7.0

Шаг 1. Создание FTP-сайта на основе SSL с помощью мастера ftp-сайта

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

  1. Перейдите к диспетчеру IIS 7.0. В области Подключения щелкните узел Сайты в дереве.

  2. Щелкните правой кнопкой мыши узел Сайты в дереве и выберите Добавить FTP-сайт или добавить FTP-сайт в области Действия .
    Снимок экрана: контекстное меню

  3. При появлении мастера добавления FTP-сайта :

    • Введите "Мой новый FTP-сайт" в поле Имя ftp-сайта , а затем перейдите к папке %SystemDrive%\inetpub\ftproot , созданной в разделе Предварительные требования.

      Примечание

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

    • Щелкните Далее.

      Снимок экрана: страница

  4. На следующей странице мастера:

    • Выберите IP-адрес ftp-сайта в раскрывающемся списке IP-адрес или примите значение по умолчанию "Все неназначенные". Так как вы будете использовать учетную запись администратора позже в этом пошаговом руководстве, обязательно ограничьте доступ к серверу и введите локальный ip-адрес замыкания на себя, введя "127.0.0.1" в поле IP-адрес .

    • Обычно в поле Порт введите порт TCP/IP для FTP-сайта. В этом пошаговом руководстве выберите принять порт по умолчанию 21.

    • В этом пошаговом руководстве имя узла не используется, поэтому убедитесь, что поле Виртуальный узел пустое.

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

    • Убедитесь, что выбран параметр Разрешить SSL .

    • Щелкните Далее.

      Снимок экрана: страница

  5. На следующей странице мастера:

    • Выберите Базовый для параметров проверки подлинности .

    • Для параметров авторизации :

      • Выберите "Указанные пользователи" в раскрывающемся списке Разрешить доступ к .
      • Введите "administrator" в поле имени пользователя.
      • Выберите Чтение и запись для параметра Разрешения .
    • Завершив эти действия, нажмите кнопку Готово.

      Снимок экрана: страница сведений о проверке подлинности и авторизации в диалоговом окне Добавление сайта F T P. Выбраны варианты Базовый, Чтение и Запись.

Сводка

Вы успешно создали новый FTP-сайт на основе SSL с помощью новой службы FTP.

Чтобы вернуть элементы, выполненные на этом шаге, сделайте следующее:

  • Вы создали новый FTP-сайт с именем "Мой новый FTP-сайт" с корнем содержимого сайта по адресу %SystemDrive%\inetpub\ftproot.
  • Вы привязали FTP-сайт к локальному адресу замыкания на себя компьютера через порт 21.
  • Вы решили требовать протокол SSL для ftp-сайта и выбрали SSL-сертификат.
  • Вы включили обычную проверку подлинности и создали правило авторизации для учетной записи локального администратора для доступа на чтение и запись.

Шаг 2. Настройка дополнительных параметров SSL FTP

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

  1. Перейдите к диспетчеру IIS 7.0. Щелкните узел ftp-сайта, созданного на шаге 1. Отображаются значки для всех функций FTP.
    Снимок экрана, на котором показана панель

  2. Чтобы настроить параметры SSL, дважды щелкните значок Параметры SSL FTP , чтобы открыть страницу функции параметров SSL.
    Снимок экрана: панель My New F T P Site Home (Мой новый сайт F T PS) с выбранным параметром F T P SS L Settings (Параметры F T P S L).

  3. Когда откроется страница Параметры FTP SSL , выберите параметр Настраиваемый и нажмите кнопку Дополнительно .
    Снимок экрана, на котором показана область параметров параметров F T PS S L. Выбран Пользовательский.

  4. При отображении диалогового окна Расширенная политика SSL :

    • Выберите параметр Требовать только для учетных данных для канала управления.

      Примечание

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

    • Выберите параметр Разрешить для канала данных.

      Примечание

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

    • Завершив эти действия, нажмите кнопку ОК.
      Снимок экрана: диалоговое окно

  5. На странице Параметры SSL FTP нажмите кнопку Применить в области Действия , чтобы сохранить параметры SSL.
    Снимок экрана, на котором показана область параметров параметров F T PS S L. Применить и отменить отображаются в области Действия.

Сводка

Чтобы вернуть элементы, выполненные на этом шаге, сделайте следующее:

  • Вы настроили политику SSL канала управления, чтобы требовать, чтобы все учетные данные пользователя были зашифрованы, и разрешили FTP-клиентам определить, следует ли шифровать все остальные действия канала управления.
  • Вы настроили политику SSL канала данных, чтобы разрешить FTP-клиентам определять, следует ли шифровать какие-либо действия канала данных.

Вход на FTP-сайт

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

При входе на FTP-сервер с помощью FTP-клиента, поддерживающего SSL, FTP-сервер поддерживает следующие явные параметры безопасности:

  • TLS-C/TLS — используйте TLS для подключения со значениями по умолчанию RFC2228. Это означает, что неявная защита подключения к данным отсутствует.
  • TLS-P/SSL — используйте TLS для подключения. Это означает, что подключение к данным неявно защищено.

Эти параметры можно настроить при указании параметров SSL-подключения в большинстве ftp-клиентов из трех частей.

Добавление публикации FTP на основе SSL путем редактирования файлов конфигурации IIS 7.0

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

Примечание

Для редактирования файла applicationHost.config требуются полные административные разрешения. Используйте один из двух методов:

  • Войдите на компьютер с помощью локальной учетной записи администратора.

либо

  • Если вы вошли с помощью учетной записи с правами администратора, которая не является локальной учетной записью администратора, откройте Блокнот с помощью параметра "Запуск от имени администратора".

Примечание

Одно из описанных выше действий является обязательным, так как компонент безопасности контроля учетных записей (UAC) в операционных системах Windows Vista и Windows Server 2008 запрещает доступ к файлу applicationHost.config. Дополнительные сведения об UAC см. в разделе Контроль учетных записей пользователей.

Ниже описаны все необходимые параметры для добавления публикации FTP для веб-сайта по умолчанию.

Шаг 1. Получите хэш ssl-сертификата:

  1. В компоненте Сертификаты сервера дважды щелкните SSL-сертификат. Например, если вы выполнили необязательный шаг по созданию самозаверяющего сертификата, дважды щелкните сертификат с именем "Мой FTP-сертификат".
  2. Перейдите на вкладку Подробно.
  3. Прокрутите поля, пока не найдете значение Отпечаток .
  4. Выделите значение Отпечаток , данные отображаются следующим образом:
    "57 68 6F 61 20 44 75 64 65 2C 20 49 49 53 20 52 6F 63 6B 73"
  5. Скопируйте шестнадцатеричные данные из текстового поля и вставьте их в буфер обмена. Затем откройте Блокнот Windows и вставьте данные в пустой документ.

Примечание

Эти сведения будут использоваться позже.

Шаг 2. Добавление FTP на веб-сайт по умолчанию

  1. В текстовом редакторе, например в Блокноте Windows, откройте файл applicationHost.config, который по умолчанию находится в папке %SystemRoot%\System32\inetsrv\config .

  2. Найдите раздел веб-сайта по умолчанию. Она должна иметь примерно следующий вид:

    <site name="Default Web Site" id="1">
        <application path="/">
            <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation="*:80:" />
        </bindings>
    </site>
    
  3. Создайте новый элемент привязки в коллекции bindings. Задайте значение атрибута протокола в новом элементе привязки, чтобы он содержал "ftp", а затем измените значение порта атрибута bindingInformation на "21". Теперь параметры веб-сайта по умолчанию должны выглядеть следующим образом:

    <site name="Default Web Site" id="1">
        <application path="/">
            <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation="*:80:" />
            <binding protocol="ftp" bindingInformation="*:21:" />
        </bindings>
    </site>
    
  4. <Добавьте раздел ftpServer> под закрывающим <тегом привязки>, который будет содержать параметры проверки подлинности и SSL.

    Примечание

    Параметры проверки подлинности для ftp-сайтов настраиваются на уровне сайта, в отличие от проверки подлинности для веб-сайтов, которую можно настроить для каждого URL-адреса.

    <ftpServer>
        <security>
            <authentication>
                <anonymousAuthentication enabled="false" userName="IUSR" />
                <basicAuthentication enabled="true" />
            </authentication>
            <ssl serverCertHash="" controlChannelPolicy="SslRequire" dataChannelPolicy="SslRequire" />
        </security>
    </ftpServer>
    
  5. Скопируйте и вставьте данные отпечатка из SSL-сертификата в атрибут serverCertHash элемента SSL. Удалите все пробелы из данных отпечатка.

    Примечание

    Если шестнадцатеричные данные не преобразуются в верхний регистр, они не будут отображаться в диспетчере IIS позже.

    Параметры веб-сайта по умолчанию теперь должны содержать примерно следующее:

    <site name="Default Web Site" id="1">
        <application path="/">
            <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation="*:80:" />
            <binding protocol="ftp" bindingInformation="*:21:" />
        </bindings>
        <ftpServer>
            <security>
                <authentication>
                    <anonymousAuthentication enabled="false" />
                    <basicAuthentication enabled="true" />
                </authentication>
            </security>
            <ssl serverCertHash="57686F6120447564652C2049495320526F636B73" controlChannelPolicy="SslRequire" dataChannelPolicy="SslRequire" />
        </ftpServer>
    </site>
    
  6. Прокрутите страницу до конца файла applicationHost.config и добавьте раздел расположения для веб-сайта по умолчанию, который будет содержать параметры авторизации.

    Примечание

    Как показано в этом примере, параметры авторизации для ftp-сайтов настраиваются для каждого URL-адреса.

    <location path="Default Web Site">
        <system.ftpServer>
            <security>
                <authorization>
                    <add accessType="Allow" users="administrator" permissions="Read, Write" />
                </authorization>
            </security>
        </system.ftpServer>
    </location>
    
  7. Сохраните файл applicationHost.config.

Теперь вы сможете войти на веб-сайт по умолчанию с помощью FTP-клиента на основе SSL.

Сводка

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

  • Вы добавили привязку FTP к веб-сайту по умолчанию.
  • Вы включили обычную проверку подлинности FTP и отключили анонимную проверку подлинности FTP для веб-сайта по умолчанию.
  • Вы настроили сайт, чтобы требовать SSL для всех каналов управления и действий канала данных.
  • Вы настроили для учетной записи администратора разрешения на чтение и запись для веб-сайта по умолчанию.