Использование 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. Она содержит следующие виртуальные машины:
- Предварительные условия
- Необязательно. Создание самозаверяющего SSL-сертификата
- Создание ftp-сайта с поддержкой SSL с помощью диспетчера IIS 7.0
- Добавление публикации FTP на основе SSL путем изменения файлов конфигурации IIS 7.0
Примечание
Это пошаговое руководство содержит ряд шагов, в которых вы входите на ftp-сайт с помощью учетной записи локального администратора. Эти действия следует выполнять только на самом сервере с помощью адреса замыкания на себя или по протоколу SSL с удаленного сервера. Если вы предпочитаете использовать отдельную учетную запись пользователя вместо учетной записи администратора, необходимо создать соответствующие папки и при необходимости задать правильные разрешения для этой учетной записи пользователя.
Предварительные требования
Для выполнения процедур, описанных в этой статье, необходимо установить следующие элементы:
На сервере Windows 2008 должны быть установлены службы IIS 7.0, а также должен быть установлен диспетчер служб IIS.
Новая служба FTP. Вы можете скачать и установить службу FTP с https://www.iis.net/ веб-сайта, используя одну из следующих ссылок:
- FTP 7.5 для IIS 7.0 (x64)
- FTP 7.5 для IIS 7.0 (x86)
Вам потребуется создать корневую папку для публикации ПО FTP:
Создайте папку в
%SystemDrive%\inetpub\ftproot
Задайте разрешения, чтобы разрешить доступ для группы администраторов:
- Откройте командную строку.
- Введите следующую команду:
ICACLS "%SystemDrive%\inetpub\ftproot" /Grant administrators:F /T
- Закройте командную строку.
Примечание
Параметры, перечисленные в этом пошаговом руководстве, указывают %SystemDrive%\inetpub\ftproot
в качестве пути к ftp-сайту. Вам не обязательно использовать этот путь; Однако при изменении расположения сайта необходимо изменить пути, связанные с сайтом, которые используются в этом пошаговом руководстве.
Необязательно. Создание самозаверяющего SSL-сертификата
В этой необязательной задаче вы создадите самозаверяющий SSL-сертификат, который будет использоваться для тестирования FTP-сайта.
Примечание
Если вы настраиваете FTP-сайт для интернет-действий, вы получите SSL-сертификат от одного из многих центров сертификации, таких как VeriSign, Thawte, DigiCert и т. д. Дополнительные сведения см. в разделе Центры сертификации.
- Откройте диспетчер служб IIS 7.0.
- Щелкните компьютер в верхнем узле дерева Подключения , а затем дважды щелкните компонент Сертификаты сервера .
- Щелкните Create Self-Signed Certificate (Создать сертификат Self-Signed ) на панели Действия .
- Введите "Мой FTP-сертификат" в качестве имени нового сертификата, а затем нажмите кнопку ОК.
Создание ftp-сайта с поддержкой SSL с помощью диспетчера IIS 7.0
Шаг 1. Создание FTP-сайта на основе SSL с помощью мастера ftp-сайта
На этом первом шаге вы создадите новый FTP-сайт, который можно открыть только с помощью учетной записи администратора.
Перейдите к диспетчеру IIS 7.0. В области Подключения щелкните узел Сайты в дереве.
Щелкните правой кнопкой мыши узел Сайты в дереве и выберите Добавить FTP-сайт или добавить FTP-сайт в области Действия .
При появлении мастера добавления FTP-сайта :
Введите "Мой новый FTP-сайт" в поле Имя ftp-сайта , а затем перейдите к папке
%SystemDrive%\inetpub\ftproot
, созданной в разделе Предварительные требования.Примечание
Если вы решили ввести путь к папке содержимого, можно использовать переменные среды в путях.
Щелкните Далее.
На следующей странице мастера:
Выберите IP-адрес ftp-сайта в раскрывающемся списке IP-адрес или примите значение по умолчанию "Все неназначенные". Так как вы будете использовать учетную запись администратора позже в этом пошаговом руководстве, обязательно ограничьте доступ к серверу и введите локальный ip-адрес замыкания на себя, введя "127.0.0.1" в поле IP-адрес .
Обычно в поле Порт введите порт TCP/IP для FTP-сайта. В этом пошаговом руководстве выберите принять порт по умолчанию 21.
В этом пошаговом руководстве имя узла не используется, поэтому убедитесь, что поле Виртуальный узел пустое.
Убедитесь, что в раскрывающемся списке Сертификаты задан ваш SSL-сертификат. Например, если вы выполнили необязательный шаг для создания самозаверяющего сертификата, в раскрывающемся списке должно быть указано "Мой FTP-сертификат".
Убедитесь, что выбран параметр Разрешить SSL .
Щелкните Далее.
На следующей странице мастера:
Выберите Базовый для параметров проверки подлинности .
Для параметров авторизации :
- Выберите "Указанные пользователи" в раскрывающемся списке Разрешить доступ к .
- Введите "administrator" в поле имени пользователя.
- Выберите Чтение и запись для параметра Разрешения .
Завершив эти действия, нажмите кнопку Готово.
Сводка
Вы успешно создали новый FTP-сайт на основе SSL с помощью новой службы FTP.
Чтобы вернуть элементы, выполненные на этом шаге, сделайте следующее:
- Вы создали новый FTP-сайт с именем "Мой новый FTP-сайт" с корнем содержимого сайта по адресу
%SystemDrive%\inetpub\ftproot
. - Вы привязали FTP-сайт к локальному адресу замыкания на себя компьютера через порт 21.
- Вы решили требовать протокол SSL для ftp-сайта и выбрали SSL-сертификат.
- Вы включили обычную проверку подлинности и создали правило авторизации для учетной записи локального администратора для доступа на чтение и запись.
Шаг 2. Настройка дополнительных параметров SSL FTP
Политика SSL для FTP настраивается для каждого сайта. Для каналов управления и данных можно указать различные параметры. На этом шаге вы настроите дополнительные параметры SSL для FTP-сайта, которые гарантируют шифрование всех учетных данных пользователя, даже если все остальные действия FTP не выполняются.
Перейдите к диспетчеру IIS 7.0. Щелкните узел ftp-сайта, созданного на шаге 1. Отображаются значки для всех функций FTP.
Чтобы настроить параметры SSL, дважды щелкните значок Параметры SSL FTP , чтобы открыть страницу функции параметров SSL.
Когда откроется страница Параметры FTP SSL , выберите параметр Настраиваемый и нажмите кнопку Дополнительно .
При отображении диалогового окна Расширенная политика SSL :
Выберите параметр Требовать только для учетных данных для канала управления.
Примечание
Для этого параметра требуется, чтобы все имена пользователей и пароль шифрулись по протоколу SSL, но клиент может выбрать, следует ли шифровать все остальные действия канала управления.
Выберите параметр Разрешить для канала данных.
Примечание
Этот параметр позволяет клиенту выбрать, следует ли шифровать какие-либо действия канала данных.
Завершив эти действия, нажмите кнопку ОК.
На странице Параметры SSL FTP нажмите кнопку Применить в области Действия , чтобы сохранить параметры SSL.
Сводка
Чтобы вернуть элементы, выполненные на этом шаге, сделайте следующее:
- Вы настроили политику 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-сертификата:
- В компоненте Сертификаты сервера дважды щелкните SSL-сертификат. Например, если вы выполнили необязательный шаг по созданию самозаверяющего сертификата, дважды щелкните сертификат с именем "Мой FTP-сертификат".
- Перейдите на вкладку Подробно.
- Прокрутите поля, пока не найдете значение Отпечаток .
- Выделите значение Отпечаток , данные отображаются следующим образом:
"57 68 6F 61 20 44 75 64 65 2C 20 49 49 53 20 52 6F 63 6B 73" - Скопируйте шестнадцатеричные данные из текстового поля и вставьте их в буфер обмена. Затем откройте Блокнот Windows и вставьте данные в пустой документ.
Примечание
Эти сведения будут использоваться позже.
Шаг 2. Добавление FTP на веб-сайт по умолчанию
В текстовом редакторе, например в Блокноте Windows, откройте файл applicationHost.config, который по умолчанию находится в папке
%SystemRoot%\System32\inetsrv\config
.Найдите раздел веб-сайта по умолчанию. Она должна иметь примерно следующий вид:
<site name="Default Web Site" id="1"> <application path="/"> <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" /> </application> <bindings> <binding protocol="http" bindingInformation="*:80:" /> </bindings> </site>
Создайте новый элемент привязки в коллекции 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>
<Добавьте раздел ftpServer> под закрывающим <тегом привязки>, который будет содержать параметры проверки подлинности и SSL.
Примечание
Параметры проверки подлинности для ftp-сайтов настраиваются на уровне сайта, в отличие от проверки подлинности для веб-сайтов, которую можно настроить для каждого URL-адреса.
<ftpServer> <security> <authentication> <anonymousAuthentication enabled="false" userName="IUSR" /> <basicAuthentication enabled="true" /> </authentication> <ssl serverCertHash="" controlChannelPolicy="SslRequire" dataChannelPolicy="SslRequire" /> </security> </ftpServer>
Скопируйте и вставьте данные отпечатка из 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>
Прокрутите страницу до конца файла 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>
Сохраните файл applicationHost.config.
Теперь вы сможете войти на веб-сайт по умолчанию с помощью FTP-клиента на основе SSL.
Сводка
В этой задаче вы добавили публикацию FTP на основе SSL на веб-сайт по умолчанию, изменив файлы конфигурации IIS 7.0. Чтобы вернуть элементы, которые вы выполнили в этой задаче, выполните следующие действия:
- Вы добавили привязку FTP к веб-сайту по умолчанию.
- Вы включили обычную проверку подлинности FTP и отключили анонимную проверку подлинности FTP для веб-сайта по умолчанию.
- Вы настроили сайт, чтобы требовать SSL для всех каналов управления и действий канала данных.
- Вы настроили для учетной записи администратора разрешения на чтение и запись для веб-сайта по умолчанию.