Настройка SSL для приложения в Windows Azure

в 7:20, , рубрики: SSL, windows azure, Блог компании Microsoft, информационная безопасность, Облачные вычисления, метки: , , ,

image

Протокол шифрования SSL (Secure Socket Layer) — это самый распространенный способ защиты данных в Интернете. В этом примере будет показано, как задать конечную точку HTTPS для веб-роли и загрузить SSL-сертификат для защиты приложения.

Этот процесс включает в себя следующие этапы:

  • Этап 1. Получите SSL-сертификат
  • Этап 2. Измените определение службы и файлы конфигурации
  • Этап 3. Загрузите пакет развертывания и сертификат
  • Этап 4. Подключитесь к экземпляру роли по протоколу HTTPS

Этап 1. Получите SSL-сертификат

Чтобы настроить протокол SSL для приложения, сначала необходимо получить SSL-сертификат, подписанный уполномоченным и независимым Центром сертификации. Если у вас еще нет SSL-сертификата, приобретите его у компании, которая их продает.

SSL-сертификат в Windows Azure должен отвечать следующим требованиям:

  • Содержать закрытый ключ;
  • Поддерживать обмен ключами (файл .pfx);
  • Имя получателя в сертификате должно соответствовать домену, из которого осуществляется доступ к службе. Получить SSL-сертификат для домена cloudapp.net невозможно, поэтому имя получателя в сертификате должно совпадать с именем домена, через который вы предоставляете доступ к приложению;
  • Сертификат должен использовать шифрование с ключом 2048 бит и выше.

Вы можете создать самоподписанный сертификат для тестирования. Подробнее о том, как создать самоподписанный сертификат в диспетчере IIS, см. в разделе «Как создать сертификат для роли».

Затем необходимо добавить информацию о сертификате в определение службы и ее файлы конфигурации.

Этап 2. Измените определение службы и файлы конфигурации

Необходимо настроить приложение на использование сертификата и добавить конечную точку HTTPS. В результате определение и файлы конфигурации службы потребуется обновить.

Откройте файл определения службы (CSDEF) в среде разработки, добавьте подраздел Certificates в разделе WebRole, а затем укажите следующую информацию о сертификате:

В подразделе Certificates задайте имя сертификата, его местоположение, а также название магазина, в котором он находится. В этом примере сертификат хранится в Центре сертификации, но вы можете выбрать и другое расположение. Дополнительную информацию можно найти в разделе «Как связать сертификат со службой».

Откройте файл определения службы и добавьте элемент InputEndpoint в раздел Endpoints, чтобы включить использование HTTPS:

Откройте файл определения службы и добавьте элемент Binding в раздел Sites. В результате будет создана HTTPS-привязка между конечной точкой и вашим сайтом:

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

Откройте файл конфигурации службы (CSCFG) и добавьте подраздел Certificates в раздел Role, заменив указанный ниже отпечаток на соответствующее значение из своего сертификата:

После обновления файлов определения и конфигурации службы создайте установочный пакет приложения и загрузите его в Windows Azure. Если вы используете инструмент cspack, убедитесь, что флаг /generateConfigurationFile отключен, иначе указанная вами информация о сертификате будет перезаписана.

Этап 3. Загрузите пакет развертывания и сертификат

В установочном пакете используется правильный сертификат, и конечная точка HTTPS добавлена. Теперь можно загрузить пакет и сертификат в Windows Azure через Портал управления.

Войдите в Портал управления Windows Azure и откройте раздел Hosted Services. Щелкните New Hosted Service, введите необходимую информацию о своей службе и нажмите Add Certificate.

clip_image002

В разделе Upload Certificates укажите путь к файлу SSL-сертификата (.pfx) и пароль на сертификат, а затем нажмите OK.

clip_image004

Для создания службы нажмите кнопку OK. Когда отобразится состояние Ready, переходите к следующему шагу.

Этап 4. Подключитесь к экземпляру роли по протоколу HTTPS

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

В Портале управления выберите свое приложение, щелкните правой кнопкой мыши ссылку с именем DNS на панели Properties и выберите Copy.

clip_image006

Вставьте этот адрес в окно веб-браузера, убедитесь, что адрес начинается с https, а не http, и перейдите на страницу.

Браузер отобразит адрес зеленым цветом, уведомляя о том, что используется соединение по HTTPS. Это также означает, что приложение корректно работает с SSL.

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

clip_image008

Дополнительные ресурсы

Автор: XaocCPS


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js