Iis включение клиентских сертификатов


Содержание

Iis включение клиентских сертификатов

Добрый день уважаемые читатели и гости блога, сегодня мы с вами продолжим изучать, веб сервисы на базе Windows, а именно, посмотрим, как производится настройка SSL на IIS для одного или нескольких сайтов, как с одним Ip адресом, так и с несколькими. Для выполнения этой, поставленной задачи у вас должен быть установлен веб сервер iis, на Windows Server начиная от 2008 R2 и выше, на текущий момент самый последний, это Windows Server 2020.

Настройка https сайта на IIS

И так про создание сайта iis на windows server 2012, я вам уже рассказывал, подразумевается, что он у вас есть. Далее, когда вы прописали все DNS записи, вы генерировали запрос на выпуск сертификата и уже потом получали от центра сертификации ваш сертификат, но его еще приходилось затачивать под iis, так как ему нужен формат pfx.

Еще немного теории и ограничения

Если у вас один сайт на https на вашем iis сервере, то проблем с сертификатом не возникнет, если же планируется два сайта, то тут уже есть варианты:

  • Купить wildcard сертификат, чтобы была возможность вешать SSL на любой сайт IIS
  • Купить дополнительный ip для каждого сайта
  • Воспользоваться скриптом и применить привязку нужного SSL к нужному сайту, на одном Ip адресе
  • Воспользоваться технологией SNI (Server Name Indication)

Установка SSL в PFX

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

Далее в поле «Действия» вы нажимаете импортировать.

Через обзор, указываете ваш pfx архив.

Указываете пароль, в строке «Выбрать хранилище сертификатов» укажите либо «Личный» подойдет для обычного размещение, а вот пункт «Размещение веб-служб» нужен для SNI технологии.

По сути, это и есть сложная установка SSL в iis, как вам такое.

Теперь произведем привязку SSL сертификата к нужному сайту. Для начала я проверю свой сайт на протоколе http, как видите все отлично работает.

Теперь щелкаем по нужному сайту правым кликом и выберем пункт «Изменить привязки», именно там мы и произведем настройку https в iis.

Как видите ваш сайт по умолчанию, будет работать по протоколу http, нажимаем кнопку добавить.

Указываем для сайта:

  • Тип https и номер порта, по умолчанию, это порт 443, убедитесь, что он открыт у вас в брандмауэр.
  • В имени узла, пишем полное название сайта.
  • SSL-сертификат > выбираем нужный и сохраняем настройки.

Проверяем ваш сайт по протоколу HTTPS, если все отлично, то вы увидите закрытый замочек, это значит, что ssl сертификат установлен в IIS правильно.

Настройка нескольких HTTPS сайтов на разных ip

Предположим, что у вас есть два сайта:

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

Сохраняем и проверяем, должно все работать, на любой из версий сервера IIS от 7,5 до 9.

Настройка нескольких HTTPS сайтов на одном ip

Теперь представим себе ситуацию, что у вас один внешний ip адрес, как быть, пробуем повесить все на него. В итоге один из сайтов у вас получит 404 ошибку, кто не в курсе, что это такое, то вам сюда.

Вся проблема в том, что в IIS по такому сценарию, в веб интерфейсе может работать, только сертификат на домен, формата wildcard *.pyatilistnik.org. Звездочка подразумевает, что вы можете использовать SSL на любой домен третьего уровня. Но не смейте сдаваться, есть два выхода:

  1. Использование технологии SNI (Server Name Indication) в IIS, подходит для всего старше версии 7.5, так, что Windows Server 2008 R2 и ниже в пролете.
  2. Использовать скрипт от Microsoft.

Вот вам пример такого сертификата.

Если у вас wildcard, то все просто, либо через диспетчер IIS все меняете, либо через конфигурационный файл.

Откройте его, здесь хранятся настройки IIS. И можно задать биндинг на разные доменные имена:

Iis включение клиентских сертификатов

Назначение: Windows 7, Windows Server 2008, Windows Server 2008 R2, Windows Vista

Если следует использовать службу каталогов Active Directory для проверки подлинности пользователей домена, имеющих клиентские сертификаты, настройте сопоставление сертификатов в службе каталогов Active Directory. Если используется сопоставление сертификатов в службе каталогов Active Directory, невозможно использовать сопоставление сертификатов в службах IIS.

Прежде чем выполнить эту процедуру, убедитесь, что выполнены следующие задачи:

    Установите и настройте контроллер домена. Дополнительные сведения см. в статье Using the Active Directory Installation Wizard на веб-сайте Microsoft Windows TechCenter.

Настройте центр сертификации для этого домена. Дополнительные сведения см. в статье Set Up a Certification Authority на веб-сайте Microsoft Windows TechCenter.

Отправьте запрос пользователя на сертификат в центр сертификации домена. Дополнительные сведения см. в статье, посвященной Submit a user certificate request by way of the Web to a Windows Server CA на веб-сайте Microsoft Windows TechCenter.

Настройте протокол SSL для веб-сайта, приложения, виртуального или физического каталога или файла (URL-адрес). Дополнительные сведения см. в разделе Настройка протокола SSL в IIS 7.

Сопоставьте сертификат с учетной записью пользователя. Дополнительные сведения см. в статье Map a certificate to a user account на веб-сайте Microsoft Windows TechCenter.

Важно
Сопоставление сертификатов в службе каталогов Active Directory не может быть использовано для самозаверенных сертификатов. Необходимо использовать или сертификат домена, или сертификат сети Интернет.

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

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

Исключения из требований

Модули

Сопоставление клиентских сертификатов с помощью сопоставления Active Directory

Эту процедуру можно выполнить с помощью пользовательского интерфейса, путем прямого изменения файлов конфигурации или посредством написания сценариев WMI.

Пользовательский интерфейс

Чтобы использовать пользовательский интерфейс

Откройте Диспетчер IIS и перейдите на уровень сервера. Сведения об открытии Диспетчер IIS см. в разделе Открытие диспетчера IIS (IIS 7). Сведения об изменении местоположения с помощью пользовательского интерфейса см. в разделе Перемещение в диспетчере IIS (IIS 7).

В представлении Просмотр возможностей дважды щелкните пункт Проверка подлинности.

На странице Проверка подлинности отключите любые включенные методы проверки подлинности.

Выберите в списке Проверка подлинности клиента Active Directory с помощью сертификата и выберите команду Включить на панели Действия.

Командная строка

Настройка конфигурации

Процедура, приведенная в этом разделе, влияет на следующие элементы конфигурации:

Дополнительные сведения о конфигурации IIS 7 см. на странице IIS 7.0: схема настроек IIS (возможно, на английском языке) на веб-сайте MSDN.

Чтобы выполнить эту процедуру, используйте следующие классы, методы или свойства WMI:

    Класс ClientCertificateMappingAuthenticationSection

Свойство SSLBinding.SSLUseDsMapper

Свойство AccessSection.SSLFlags

Свойство AuthenticationSection.Mode (задает проверку подлинности Windows)

Дополнительные сведения о WMI и службах IIS см. в разделе Инструментарий управления Windows (WMI) в IIS 7. Дополнительные сведения о классах, методах и свойствах, связанных с этой процедурой, см. на странице Справочные сведения по поставщику IIS WMI (возможно, на английском языке) на веб-сайте MSDN.

Iis включение клиентских сертификатов

Здравстуйте, по телефону тех. поддержки Microsoft +7 (800) 200-8001 для решения моей проблемы мне порекомендавали обратиться на Ваш форум т.к. здесь помогают решить проблему Технические специалисты фирмы Microsoft!

Прочитав много информации в интернете и на данном форуме по установке авторизации к сайту на IIS по САМОЗАВЕРЕННОМУ СЕРТИФИКАТУ все равно не могу решить проблему с ошибкой:

Ошибка HTTP 403.7 — Forbidden

Страница, к которой вы пытаетесь обратиться, требует, чтобы веб-браузер имел SSL-сертификат клиента, признаваемый веб-сервером.

Делаю это я на компьютере под управлением Windows server 2008 r2 на IIS!

1. Установил IIS и опубликовал на нем сайт по http(все открывается и работает).

2. В Диспетчере служб IIS создал САМОЗАВЕРЕННЫЙ СЕРТИФИКАТ, и выгрузил его к себе на флешку.

3. В Диспетчере служб IIS на сайте изменил привязку с Http(порт 80) на HTTPS(порт 443) и указал созданный мной сертификат.

4. В Диспетчере служб IIS в настройках самого сайта изменил Параметры SSL — поставил галку Требовать SSL и там же выбрал Требовать сертификаты клиента.

5. Перезагрузил Сервер.

6. Попробовал зайти на сайт с самого сервера по адресу https://localhost/. Выдал — Ошибка HTTP 403.7 — Forbidden(хотя наверно уже должно заходить т.к. сертификат автоматом устанавливается на комп где он создается)

7. Беру флешку с сертификатом и устанавливаю сертификат на другой комп(устанавливаю Доверенные корневые центры сертификации (в Личные тоже пробовал)).

8. С клиентского компа захожу https://server/ — Выдает 403 — запрещено. Доступ запрещен.

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

Данные материалы не полностью подходят под решение моей проблемы в первой ссылке участвует Центр Сертификации а во второй и без сертификата будет доступен сайт..

Помогите пожалуйста.. Что же нужно сделать чтоб все заработало. Напишите пожалуйста попунктно.

Ответы

Я тут не один на форуме ) Итак, я понял вашу задачу, как создать сайт, доступ к которому будет ограничен — у кого нет сертификата, нет и доступа. В таком случае, диспетчер служб не поможет, нужно действовать иначе. И, сразу скажу, «самозаверенный» сертификат сервер тоже не признает, будет ошибка. Но если сделать самозаверенное CA — все получится. Последовательность действий:

1. Установить на Web-сервер makecert.exe из пакета SDK http://go.microsoft.com/fwlink/p/?link >

2. Выполнить на сервере команду:

3. Выполнить на сервере команду:

(здесь замените слово webserver на имя вашего сервера, больше ничего не меняйте)

4. Выполнить на сервере команду:

Здесь можно заменить слово Client на любой удобный идентификатор.

5. Включить Требовать SSL и выбрал Требовать сертификат клиента.

6. Привязать к SSL на сайте сертификат, созданный на шаге 3.

7. Проверка — заходим на сервер локально, должно пустить.

8. Удаляем из Доверенных корневых центров сертификации компьютера все, кроме WebSSLRoot. (иначе с любым сертификатом, заверенным одним из этих центров, можно будет зайти)

9. Из оснастки «Сертификаты» выгружаем персональный сертификат Client (шаг 4) вместе с ключом и из доверенных корневых центров сертификации — «WebSSLRoot» без ключа.

10. Теперь для подключения на любом компьютере ставим два сертификата с шага 9 (Client в личные, WebSSLRoot — в доверенные корневые). Можно с этого компьютера подключаться.


  • Помечено в качестве ответа Cr_MEn 25 апреля 2014 г. 8:19

Все ответы

«В Диспетчере служб IIS в настройках самого сайта изменил Параметры SSL — поставил галку Требовать SSL и там же выбрал Требовать сертификаты клиента.»

То есть вы потребовали, чтобы клиент предоставил серверу сертификат. Это входит в ваш сценарий? Если вы поставите «Игнорировать сертификат клиента», у вас должно получиться зайти.

Или вы хотите, чтобы клиент заходил с самоподписанным сертификатом (т.е. самоподписанный сертификат клиента, а не сервера)? Уточните пожалуйста целевую архитектуру Вашей системы?

****То есть вы потребовали, чтобы клиент предоставил серверу сертификат. Это входит в ваш сценарий? ****

****Если вы поставите «Игнорировать сертификат клиента», у вас должно получиться зайти.****

В данном случае заходить будет!, но не только у меня а у всех))), и вся суть настройки доступа по сертификату потеряется))). У меня даже в теме ВОПРОСА все написано. ))).

**** Или вы хотите, чтобы клиент заходил с самоподписанным сертификатом (т.е. самоподписанный сертификат клиента, а не сервера)?****

Сертификат(который Самозаверенный) создается и заверяется на сервере IIS, через диспетчер служб это делается. и клиент должен заходить на сайт при предоставлении данного сертификата.

Pavel Kingsep не дайте мне разочароваться в данном форуме))).

Я тут не один на форуме ) Итак, я понял вашу задачу, как создать сайт, доступ к которому будет ограничен — у кого нет сертификата, нет и доступа. В таком случае, диспетчер служб не поможет, нужно действовать иначе. И, сразу скажу, «самозаверенный» сертификат сервер тоже не признает, будет ошибка. Но если сделать самозаверенное CA — все получится. Последовательность действий:

1. Установить на Web-сервер makecert.exe из пакета SDK http://go.microsoft.com/fwlink/p/?link >

2. Выполнить на сервере команду:

3. Выполнить на сервере команду:

(здесь замените слово webserver на имя вашего сервера, больше ничего не меняйте)

4. Выполнить на сервере команду:

Здесь можно заменить слово Client на любой удобный идентификатор.

5. Включить Требовать SSL и выбрал Требовать сертификат клиента.

6. Привязать к SSL на сайте сертификат, созданный на шаге 3.

7. Проверка — заходим на сервер локально, должно пустить.

8. Удаляем из Доверенных корневых центров сертификации компьютера все, кроме WebSSLRoot. (иначе с любым сертификатом, заверенным одним из этих центров, можно будет зайти)

9. Из оснастки «Сертификаты» выгружаем персональный сертификат Client (шаг 4) вместе с ключом и из доверенных корневых центров сертификации — «WebSSLRoot» без ключа.

10. Теперь для подключения на любом компьютере ставим два сертификата с шага 9 (Client в личные, WebSSLRoot — в доверенные корневые). Можно с этого компьютера подключаться.

  • Помечено в качестве ответа Cr_MEn 25 апреля 2014 г. 8:19

Спасибо Pavel большое, мне наверно очень сильно повезло что я Вас здесь встретил(человека который реально может помочь. ) . вроде все заработало)), правда пока еще не все протестировал..

Но уже появились вопросы:

1. Можно ли сертификаты которые создались, взять выгрузить и уже без помощи makecert.exe просто импортировать на другой сервер, так же будет все работать?

2 . makecert.exe — преднозначен для тестирования работы серверов а не для безопасного доступа(т.е. есть вероятность взлома или подбора сертификата)?

3. если я все удаляю из Доверенных корневых сертификатов то после перезагрузки они опять восстанавливаются это нормально?

4. Если Самозаверенный сертификат который создается в диспетчере ISS не работает зачем тогда он нужен вообще?

1) Вероятность взлома или подбора минимальна. Клич 2048 бит. Тут большая проблема с отзывом сертификатов. Т.е. предположим, ваш клиентский сертификат украли. У вас нет никакого способа запретить его использование, кроме как перевыпустить всю сертификационную подсистему.

2) Вообще я писал вчера ночью несколько уставшим. это не очень правильно — их удалять. Нужно сделать CTL, вот статья на эту тему http://blogs.msdn.com/b/varunm/archive/2013/06/11/how-to-create-custom-certificate-trust-list-in-windows-server-2k8-r2.aspx. Действительно, системные сертификаты частично восстанавливаются, полагаю это внутренний механизм Windows (если у вас нет group policy, в которой они прописаны).

3) Он работает для сценария «нужна защита канала». Более того, подозреваю, что в том варианте, что я расписал, сертификат сервера тоже можно использовать самоподписанный. Но его нельзя использовать в качестве клиентского сертификата.

У каждого сертификата есть политики применения. Одна из них — подтверждать подлинность сервера, другая — подтверждать подлинность клиента (и еще много иных). Они лежат в параметрах сертификата Key Usage и Extended Key Usage. Далее:

Для того, чтобы IE презентовал сертификат серверу в качестве идентификатора, клиент должен владеть секретным ключом данного сертификата, в Key Usage (если есть) должно быть Digital Signature, в Extended Key Usage, если есть, должен быть OID Client Auth (1.3.6.1.5.5.7.3.2) — это поведение по умолчанию. У того сертификата, который генерируется на сервере (самоподписанного) — KU и EKU не подходят для идентификации.

Сервер же проверяет сертификаты клиентов, строя цепочку доверия. Поэтому он верит любому сертификату, подписанному одним из доверенных центров при условии, что CTL не задан. Именно поэтому рекомендуется использовать второй метод аутентификации уже после предоставления корректного клиентского сертификата.

Iis включение клиентских сертификатов

•Нажмите Start.
•Выберите Administrative Tools.
•Запустите Internet Services Manager.
•Нажмите Server Name.

•В главном меню кликните по кнопке «Server Certificates» в разделе «Security».

•Выберите меню «Actions» (справа), нажмите на «Complete Certificate Request».

•Откроется мастер Complete Certificate Request.

•Введите место расположения вашего IIS SSL сертификата (нужно нажать кнопку browse для определения место расположения Вашего IIS SSL сертификата. Этот файл должен иметь название «yourdomainname.crt»). Затем введите удобное имя. Оно не является частью самого сертификата, но используется администратором сервера для легкого различения сертификата. Затем нажмите Ok.

Примечание: Известно, что в IIS 7 появляется следующая ошибка: «Cannot find the certificate request associated with this certificate file. A certificate request must be completed on the computer where it was created.» Вы также можете увидеть ошибку констатирующую «ASN1 bad tag value met». Если этот тот же самый сервер, на котором Вы и CSR генерировали, то в большинстве случаев, то сертификат фактически установлен. Просто отмените диалог и нажмите «F5» для обновления списка сертификатов сервера. Если новый сертификат появился в списке, то Вы можете продолжать дальше. Если сертификат не появится в списке, то можно объединить сертификат и закрытый ключ в формат pfх через openssl и установить его.
Команда:

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

•В главном окне Internet Information Services (IIS) Manager в меню «Connections» выберите имя сервера, на который был установлен сертификат.

•В «Sites»выберите сайт, который будет защищен SSL.

•В меню «Actions»(справа), нажмите на «Bindings».

•Откроется окно «Site Bindings».

• В окне «Site Bindings» нажмите «Add». Тем самым Вы откроете «Add Site Binding».

•В «Type» выберите https. IP адрес должен быть IP address of the site или All Unassigned, и порт, по которому будет защищен трафик посредством SSL, обычно 443. Сертификат, который ранее был установлен, должен быть задан в поле «SSL Certificate».

•Сертификат IIS SSL установлен.

•Важно: Вам нужно перезагрузить IIS / вебсайт для установки сертификата

Как выдать удостоверяющие сертификаты в локальной сети для внутренних сервисов в IIS (не self-signed)?

Необходимо в локальной сети из компьютеров на базе Windows 10 Pro, объединенных в рабочую группу (не в домене) и не светящиеся в интернет, настроить IIS сертификаты на одном из них таким образом, чтоб обращение с других компьютеров через браузер, последние подтверждали подлинность сертификата и не выводили предупреждение об untrusted сайте.

Self-signed сертификаты не хотелось бы, так как копировать из на все оставшиеся компьютеры в сети не вариант (их может быть много, добавляться новые машины и т.п)

Идеально было бы при установки сервиса в IIS установщик запросит (выдаст, сгенерит? ) новый сертификат (если такого еще не установлено в IIS), который будет trusted для остальных машин в локальной сети без копирования это сертификата на все машины.

В сети домена нет, windows server тоже нет, только все Windows 10 Pro.

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

Из найденной информации на данный момент мне показалось, что необходимо развернуть в локальной сети PKI сервис и через него запрашивать (API) сертификаты (или хотя б вручную сгенерировать и передать на сервер). Если это так, то:
— должен ли этот сервер иметь свой собственный сертификат для подписи тех, что он выдает другим серверам?
— если его надо сначала будет скопировать на все клиентские машины, то это тоже не вариант, так как он не отличается от self-signed с последующим копированием на все машины? Или я могу использовать любой свой с Let’s Encrypt и от него далее по цепочке генерить дочерние?
— должен ли PKI сервис быть все время запущен, чтоб с других машин браузеры могли бы запрашивать его на валидность внутренних сертификатов?
— будет ли выданный PKI сертификат выдан на имя сервера в интранет (например: SERVER001 или SERVER001.local)?
— PKI должен запускаться на WINDOWS 10 (докер, VM боюсь не вариант)

Или существуют другие решения данной задачи.

Спасибо за советы

  • Вопрос задан более года назад
  • 1022 просмотра

Все сертификаты рутовых УЦ — самоподписанные. Сюрприз, да? :-) Если на пальцах, то доверие основывается на том, что «ну, это самоподписанный сертификат, но это же уважаемая контора. «. Поэтому в ОС и в некоторых браузерах (Firefox, он своим хранилищем пользуется. Хром или IE — пользуют системные, на винде, по крайней мере) есть хранилище корневых сертификатов удостоверяющих центров, которые (сертификаты) являются доверенными.

Есть удостоверяющие центры, сертификаты которых подписаны другими удостоверяющими центрами. Но на самом верху цепочки доверия — всё равно самоподписанные серты.

Вам нужен свой PKI, это факт. Если нет желания/возможности делать УЦ на базе Microsoft Certification services, возьмите пакет easyrsa, подписывайте сертификаты им.

По фэншую схема делается так — создаётся корпоративный root CA (корневой удостоверяющий центр), с самоподписанным сертификатом, на каком-нибудь, например, ноутбуке старом. Потом генерируется ещё один ключ — для подчинённого УЦ (sub-CA). Этот ключ подписывается сертом вашего root CA (с ноутбука), после чего ноутбук выключается и прячется в сейф. А вот уже с сертом sub-CA вы подписываете все серты для ваших серверов и сервисов. Ключи и CSR должны генерироваться только на тех хостах, где они и будут использоваться. Это если по фэншую. Но если вам просто важен замочек в строке адреса и отсутствие ругани, можно обойтись одним root CA, без sub-CA, а генерить ключи можно тем же самым easy-rsa, перенося потом ключ и серт на необходимые вам сервера с IIS.

Сертификаты вашего root CA и sub-CA нужно будет установить в хранилища всех ваших десктопных компов, серверов и т. п. А также в хранилища браузеров, если у вас используются браузеры, которые не смотрят в системные хранилища. Это легко делается доменной политикой, но ввиду отсутствия у вас домена — можно и скриптануть. Использовать certutil, например (если речь про винду, опять-таки).

А IIS у вас там, Apache или nginx, или другие сервисы, которые умеют в TLS — это дело десятое, от этого схема генерации и выдачи сертификатов не меняется.

Поэтому в ОС и в некоторых браузерах (Firefox, он своим хранилищем пользуется. Хром или IE — пользуют системные, на винде, по крайней мере)

Не знаете для Firefox тогда, если я установлю свой trusted сертификат в системное хранилище, то он его не будет считать даверенным?

Сертификаты вашего root CA и sub-CA нужно будет установить в хранилища всех ваших десктопных компов, серверов и т. п. А также в хранилища браузеров, если у вас используются браузеры, которые не смотрят в системные хранилища.

Iis включение клиентских сертификатов

IIS 8 – это встроенный веб-сервер, доступный на VPS на ОС Windows, который позволяет располагать сайты в сети Интернет, оперировать большим количеством стеком протоколов, создавать собственный файл-сервер и многое другое.

Администрирование веб-сервером осуществляется как из приложения рабочего стола (оптимально для новичков), так и из консоли (подойдет опытным сисадминам). Установка этого свидетельства на сервер не только защитит ваши данные, но и повысит уровень доверия клиентов.

Как работать с панелью управления

После покупки SSL-сертификата через панель управления установите полученные сертификаты .CRT и .CA на сервер. Файлы для его установки расположатся в панели управления (меню SSL):

Схема установки сертификата Центра Сертификации (.CA) на IIS

1. Откройте командную строку (Win+R) и введите в ней mmc, чтобы открыть Корень консоли (Microsoft Management Console).

2. В новом окне Консоль1 (Console1) запустите меню Файл (File) и отметьте пункт Добавить или удалить оснастку (Add/Remove Snap-in).

3. В левой части открывшегося окна отметьте пункт Сертификаты (Certificates) и нажмите Добавить (Add).

4. Откроется оснастка диспетчера сертификатов (Certificates Snap-in) — выберите пункт Учетной записи компьютера (Computer Account).

5. Отметьте Локальный компьютер (Local Computer) во вкладке Выбор компьютера (Select Computer) и нажмите Готово (Finish).

6. Закройте оснастку Add or Remove Snap-in (кнопка ОК).

7. В этой же Консоли 1 (Console 1) отметьте пункт Промежуточные центры сертификации (Intermediate Certification Authorities), щелкните по нему правой кнопкой мыши — Все задачи (All tasks) — Импорт (Import).

8. Откроется окно — нажмите в нем Далее (Next). Выберите загруженный из панели управления 1cloud.ru файл .CA-сертификата и нажмите Открыть (Open).

9. В следующей вкладке отметьте Поместить все сертификаты в следующее хранилище (Place all certificates in the following store), нажмите Обзор (Browse) и выберите директорию Промежуточные центры сертификации (Intermediate Certification Authorities).

10. Нажмите OK и завершите Мастер импорта сертификатов.

11. Закройте Консоль 1 (Console 1), на запрос о сохранении изменений ответьте НЕТ.

Как установить SSL-сертификат сайта (.CRT) на IIS 8

1. Включите Диспетчер Серверов (Server Manager).

2. В меню Средства (Tools) отметьте Диспетчер служб IIS (Internet Information Services Manager).

3. В меню Подключения (Connections) в левой части нового окна выберите сервер, для которого вы ранее генерировали CSR-запрос на подпись сертификата.

Внимание: CSR (Code Signing Request) — это запрос на выдачу SSL-сертификата.

4. В центральной части окна откройте меню Сертификаты Сервера (Server Certificates).

5. Для файла .CRT проведите такие мероприятия:

В панели Действия (Actions) в правой части окна отметьте пункт Запрос установки сертификатов (Complete Certificate Request).

В новом окне заполните поля:

-Имя файла, содержащего ответ центра сертификации (File name containing the certificate authority’s response): выберите расположение полученного от центра сертификации файла SSL-сертификата (.crt) и нажмите Открыть (Open).


— В поле Понятное имя (Friendly Name) введите уникальное значение имени SSL-сертификата.

— Хранилище сертификатов для нового сертификата (Select a certificate store for the new certificate): выберите Личный (Personal).

Внимание: Для сертификатов Wildcard (сертификата для домена и его поддоменов) укажите имя, соответствующее значению Common Name, из SSL-сертификата. (напр., *.mydomain.com).

6. Для сертификата .PFX необходимо:

— В панели Действия (Actions) в правой части отметить пункт Импортировать (Import).

— В открывшемся окне ввести путь до сертификата и пароль для защиты вашего сертификата из панели управления, выбрать хранилище.

7. Меры для файлов .CRT и .PFX

В меню Подключения (Connections) в левой части окна Диспетчера IIS отметьте сервер, для которого был установлен SSL-сертификат. В раскрывающемся списке сайтов на сервере выберите сайт, который нужно защитить с помощью SSL-сертификата (выполните Привязку (Binding)). В панели Действия (Actions) в правой части окна отметьте Привязки (Bindings).

8. В новом окне нажмите Добавить (Add), и заполните поля:

Внимание: для привязки Wildcard-сертификата следует отдельно привязать каждый поддомен (напр., www.mydomain.com, subdomain.mydomain.com)

IP-адрес (IP address): все неназначенные или IP адрес сервера, где расположен веб-сайт;

Имя узла (Hostname): доменное имя, для которого выпущен сертификат (напр., www.mydomain.com);

SSL-сертификат (SSL certificate): отметьте загруженный из панели файл .CRT-сертификата.

9. В панели Управление веб-сайтом (Manage Web-Site) в правой части окна Диспетчера IIS нажмите Перезапустить (Restart), чтобы завершить установку сертификата.

На этом установка SSL-сертификата на веб-сервер IIS 8 завершена!

Руководства по установке

В этом разделе

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

SSL позволяет защитить имена, пароли и другую важную информацию от дешифровки в канале связи между Web Adaptor и сервером. При использовании SSL подключение к веб-страницам и ресурсам осуществляется по протоколу HTTPS, а не HTTP.

Для использования SSL необходимо получить сертификат SSL и связать его с веб-сайтом, на котором установлен Web Adaptor. Каждый веб-сервер имеет собственную процедуру загрузки сертификата и его привязки к веб-сайту.

Создание сертификата SSL

Для создания SSL-соединения между Web Adaptor и сервером, веб-серверу требуется сертификат SSL. Сертификат SSL – это цифровой файл, содержащий информацию об удостоверении веб-сервера. Он также содержит метод шифрования, который используется при создании защищенного канала между веб-сервером и ArcGIS Server. Сертификат SSL должен создаваться владельцем веб-сайта и иметь цифровую подпись. Существует три типа сертификатов, подписанные центром сертификации (CA), домена и самозаверяющийся, которые описываются ниже.

Сертификаты, подписанные центром сертификации (CA)

Сертификаты, подписанные центром сертификации (CA), следует использовать для производственных систем, особенно если к развертыванию ArcGIS Server предполагается доступ пользователей извне вашей организации. Например, если сервер не защищен файрволом и доступен через Интернет, использование сертификата, подписанного центром сертификации (CA) гарантирует пользователям вне организации, что идентичность веб-сайта подтверждена.

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

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

Сертификаты домена

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

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

Создание доменного сертификата в IIS

В Manager IIS выполните следующие шаги, чтобы создать сертификат домена:

  1. На панели Подключения (Connections) выберите ваш сервер в дереве каталога и дважды щелкните Сертификаты сервера (Server Certificates) .
  1. В поле Общее имя (Common name) введите полное доменное имя компьютера, например, gisserver.domain.com .
  2. Заполните другие параметры, указав данные вашей организации и расположения.

Последний шаг – связать сертификат домена с SSL-портом 443. Инструкции см. в разделе Привязка сертификата к веб-сайту .

Самозаверяющие сертификаты

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

Создание самозаверяющегося сертификата в IIS

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

  1. На панели Подключения (Connections) выберите ваш сервер в дереве каталога и дважды щелкните Сертификаты сервера (Server Certificates) .

Последний шаг – связать самозаверяющийся сертификат с SSL-портом 443. Инструкции см. в разделе Привязка сертификата к веб-сайту .

Привязка сертификата к веб-сайту

После создания сертификата SSL необходимо привязать его к веб-сайту, на котором установлен Web Adaptor. Привязка означает процесс настройки сертификата SSL для использования порта 443 на веб-сайте. Инструкции по привязке сертификата к веб-сайту отличаются в зависимости от платформы и версии веб-сервера. Если вам необходимы инструкции, обратитесь к системному администратору или изучите документацию веб-сервера. Например, шаги для привязки сертификата в IIS см. ниже.

Привязка сертификата к порту 443 в IIS

В Manager IIS выполните следующие шаги, чтобы связать сертификат с SSL-портом 443:

  1. Выберите ваш сайт в дереве каталога и на панели Действия (Actions) щелкните Связи (Bindings) .
    • Если порт 443 отсутствует в списке Связи, щелкните Добавить (Add) . В ниспадающем списке Тип (Type) выберите https . Оставьте порт 443.
  • Если порт 443 имеется в списке, выберите его и щелкните Редактировать (Edit) .
  • В ниспадающем списке сертификат SSL выберите имя вашего сертификата и щелкните OK .

    Проверка сайта

    После привязки сертификата и веб-сайта, вы можете настроить Web Adaptor на работу с сервером. Вам понадобится открыть страницу настройки Web Adaptor с использованием URL по протоколу HTTPS, например, https://webadaptor.domain.com/arcgis/webadaptor .

    После настройки Web Adaptor следует проверить, что SSL работает правильно, сделав HTTPS-запрос к ArcGIS Server Manager, например, https://webadaptor.domain.com/arcgis/manager .

    Более подробно о тестировании сайта с SSL см. в инструкциях Microsoft по настройке SSL в IIS.

    Использование SSL при работе с web-сервисами

    Одним из элементов безопасности современного предприятия является использование защищенных каналов связи. Защищенные каналы связи позволяют предотвратить несанкционированный просмотр и изменение данных. Одним из наиболее популярных протоколов, реализующих защищенный канал, является протокол SSL . Данная статья описывает, как можно использовать протокол SSL при работе с web -сервисами «1С:Предприятия».

    SSL ( Secure Socket Layer ) — протокол, использующийся для обеспечения защищенного взаимодействия между клиентом и сервером. SSL базируется:

    · на в заимной аутентификации клиента и сервера для того, чтобы и клиент, и сервер были уверены в том, что они те, за кого себя выдают;

    · цифровых подписях, для обеспечения целостности данных (защиты данных от несанкционированного изменения);

    · шифровании, для обеспечения конфиденциальности данных (защиты данных от несанкционированного просмотра).

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

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

    · у становка алгоритмов шифрования, которые будут использоваться для шифрования и цифровой подписи передаваемых данных;

    · установка сессионного ключа;

    · аутентификация сервера на клиенте;

    · аутентификация клиента на сервере.

    SSL — сессия может быть переиспользована между клиентом и сервером.

    Для выполнения аутентификации клиента на сервере и сервера на клиенте SSL использует сертификаты. Сертификат является документом, в котором описывается набор параметров того, для кого выполняется аутентификация. Например, сертификат может содержать имя пользователя или имя веб-сайта сервера. Сертификат также имеет цифровую подпись, которая используется для проверки его валидности. Для предотвращения возможности неконтролируемой выдачи сертификатов используются цепочки сертификатов. Началом цепочки сертификатов выступает Центр Сертификации — организация, занимающаяся выдачей сертификатов. Если определенному пользователю требуется сертификат, он посылает запрос в Центр Сертификации на выдачу сертификата. Центр Сертификации выдает готовый сертификат путем подписывания запроса собственным закрытым ключом. Пользователь, которому выдан сертификат, может, в свою очередь, выступать в качестве Центра Сертификации для других пользователей. Т. е. образуется цепочка сертификатов, корнем которой является корневой Центр Сертификации, как правило, общеизвестная организация. Чтобы клиент принял данный сертификат, он должен быть в списке сертификатов, которым доверяет этот клиент. В списке может быть как сам сертификат, так и любой сертификат из цепочки сертификатов данного сертификата. Как правило, это сертификат корневого Центра Сертификации.

    Одним из наиболее общеупотребимых применений протокола SSL является его использование для передачи HTTP -запросов ( HTTPS — протокол). В этом случае URL — схема адресации для таких ресурсов — https , а порт по умолчанию – 443.

    Механизм web -сервисов «1С:Предприятия» позволяет как использовать, так и реализовывать https web -сервисы.

    Клиентская часть механизма web -сервисов автоматически по URL -схеме ( https ) расположения web -сервиса определяет, что взаимодействие с таким web -сервисом должно вестись по защищенному каналу связи. Клиентская часть также требует, чтобы с сервером был связан валидный сертификат, выданный известным клиенту Центром Сертификации.

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

    Чтобы сертификат сервера был принят клиентом, нужно поместить его или сертификат Центра Сертификации, выдавшего данный сертификат сервера, в файл cacert . pem , который находится в каталоге bin «1С:Предприятия». В этом файле перечислены все сертификаты, которым доверяет данный клиент. Файл имеет формат PEM ( Privacy Enhanced Mail ) — текстовый формат, в котором сертификаты закодированы в base 64 последовательности.

    https web -сервисы разрабатываются так же, как и обычные http web -сервисы, но требуют дополнительной настройки веб-сервера. Для IIS веб-сервера настройка заключается в привязке к веб-сайту серверного сертификата и настройке виртуальной директории web -сервиса. Серверный сертификат может быть получен от Центра Сертификации, в качестве которого может выступать любой Windows Server 2003 с установленным сервисом сертификатов. После того как сертификат связан с веб-сайтом, для виртуальной директории web -сервиса нужно указать, что доступ к ней осуществляется по защищенному каналу связи (см. документацию по IIS ).

    Для Apache web -сервера также нужно указать серверный сертификат и признак работы по защищенному каналу. Сертификат может быть получен при помощи утилиты openssl (см. документацию по mod _ ssl ).

    Установка SSL сертификата: Microsoft IIS 7.x

    Установка на веб-сервере

    1. Через кнопку Пуск и Панель управления откройте Internet Information Services Manager (IISM) и выберите имя соответствующего сервера.

    2. Выберите раздел “Security” , далее нажмите на иконку “Server Certificates” .

    3. Перейдите в раздел “Actions” и выберите пункт “Complete Certificate Request” .

    4. Перейдите к оформлению запроса по установке сертификата: введите необходимую информацию – укажите путь к полученному сертификату и введите его имя. Имя сертификата не является его частью, но его использует администратор сервера, чтобы быстро различать сертификаты. Нажмите “ОК” .

    Примечание: Microsoft IIS 7.x может выдать сообщение об ошибке следующего содержания: «Cannot find the certificate request associated with this certificate file. A certificate request must be completed on the computer where it was created» – не удается найти соответствующий сертификат. Также можно получить сообщение, начинающееся «ASN1 bad tag value met». Если Вы производите установку сертификата на том же сервере, где генерировали CSR, скорее всего сертификат уже установлен. Просто отмените диалог и нажмите F5, чтобы обновить список сертификатов сервера. Если новый сертификат появился в списке, можно перейти к следующему шагу. Если он отсутствует в списке, придется повторно выпустить сертификат, используя новый запрос CSR.

    Установка на веб-сайте

    1. Вернитесь в главное диалоговое окно Internet Information Services Manager (IISM) и перейдите в раздел «Connections» и выберите имя сервера, на который только что установили сертификат.

    2. В меню Web Sites выберите имя сайта, который хотите защитить с помощью SSL сертификата. Справа в меню «Actions» (подпункт “Edit Site” ) выберите пункт “Bindings” .

    3. Теперь добавьте порт 443.

    Для этого нужно нажать кнопку “Add” , в результате чего откроется диалоговое окно “Add Site Binding” .

    В меню «Type» выберите тип протокола https . В строке IP адрес следует выбрать IP address of the site или All Unassigned . Для соединений, защищенных SSL шифрованием, всегда используется порт 443 . В поле “SSL Certificate” укажите установленный сертификат.

    Сохраните изменения, нажав кнопку “OK” .

    Примечание: Если в этом окне уже присутствует портал https, просто выберите его и нажмите “Edit”. После этого в окне “SSL certificate” выберите ранее сгенерированное имя сертификата. Сохраните изменения кнопкой “OK”.

    Нажмите “OK” в окне “Web Site Bindings” чтобы завершить установку.

    Важно! Чтобы завершить установку сертификата, необходимо перезагрузить IIS/веб-сайт.

    Iis включение клиентских сертификатов

    Что такое сертификат?

    Сертификат это контейнер который может содержать открытый (PUBLIC) и закрытый (PRIVATE) ключи, а также ряд полей информационного характера.

    В системе сертификаты хранятся в Хранилище сертификатов (Sertificate Store). Хранилище сертификатов на локальном компьютере называется «my». Просмотреть содержимое хранилища можно с помощью MMC добавив оснастку «Sertificates». Кроме того сертификаты могут быть привязаны к компьютеру (LocalMachine), или к учетной записи (CurrentUser). От этого зависит у кого будет доступ к сертификатам, у пользователей компьютера или у владельца учетной записи.

    Из хранилища можно выгрузить сертификат в файл .CER или .PFX. MMC | Sertificates | Сертификат (выбрать правой кнопкой) | Все задачи | Экспорт. Экспорт закрытого ключа может быть запрещен. В таком случае узнать его уже никак не удастся. Эта опция доступна только на этапе установки или создания ключа в хранилище «Пометить этот ключ как экспортируемый».

    • .CER — плохо защищен и не может содержить закрытого ключа, только открытый
    • .PFX — может содержать как закрытый так и открытый ключ

    Step 1: Install SSL certificate

    1. Open the Internet Services Manager(IIS): Click Start >All Programs >Administrative Tools >Internet Information Services (IIS) Manger
    2. Under Web Sites, right-click your web site and select Properties
    3. Click the Directory Security tab
    4. Under Secure Communications, click Server Certificate
    5. The Web Site Certificate Wizard will open, click Next
    6. Choose Process the Pending Requestand Install the Certificate, then click Next
      Important: The pending request must match the response file. If you deleted the pending request in error you must generate a new CSR and replace this certificate.
    7. Select the location of the certificate response file, and then click Next
    8. Select the SSL Port. The default port is 443
    9. Read the summary screen to be sure that you are processing the correct certificate and then clickNext
    10. At the confirmation screen, verify the information and click Next

    Создание и установка самоподписанного сертификата (Утилита selfssl.exe для SSL в IIS )

    В свойствах сайта, на вкладке DirectorySecurity в разделе «Secure communications» можно поставить галочку «Requere secure channel (SSL)», а на вкладке «Web Site» можно задать
    SSL port: 443 (по-умолчанию). Еще нужно для этого веб узла создать Self-Signed сертификат или купить настоящий у конторы (ssl.ru например). Self-Signed сертификат создается утилитой selfssl.exe, которая качается с микрософта, в составе «IIS 6.0 Resource Kit Tools (IIS 6.0)». Эта утилита умеет сама создавать и прикреплять сертификат к Web узлу в IIS, по ID веб узла (Site ID). Этот ID можно узнать если в IIS выбрать папку «Web Sites» в режиме просмотра детальной информации (Меню->Вид->Таблица), колонка Identifier. Утилита должна спросить заменить ли существующий сертификат у сайта, на что надо ответить ДА (y). Убедиться что сертификат назначен можно в свойствах сайта на вкладке «DirectorySecurity», должна стать активной кнопка «View Certificate. «, нажав на которую можно посмотреть данные сертификата, а также экспортировать его в файл — например .cer

    пример вызова утилиты, для сайта с Site >

    Утилита makecert.exe (для ЭЦП)

    Утилита входит в состав MS Visual Studio и позволяет генерировать сертификаты:

    makecert.exe -r -pe -sky exchange -ss my -sr CurrentUser -n «CN=Uralsib.Mso.DigitalSign»

    Так можно создавать тестовые сертификаты непосредственно в хранилище сертификатов на локальной машине «LocalMachine» или для текущего пользователя «CurrentUser». Поле «Субъект» (Subject) будет заполнено именем «CN=MyCompany.MyProduct.DigitalSign». И имя «MyCompany.MyProduct.DigitalSign» будет выбрано в качестве наименования. Остальные флаги разрешают экспортировать закрытый ключ в файл .PFX

    — r создать самоподписанный сертификат
    — pe — включать закрытый ключ в сертификат, и пометить его как экспортируемый (т.е. из хранилища сертификат можно будет вытащить вместе с закрытым ключом)
    — n «CN=Uralsib.Mso.DigitalSign» — имя сертификата, в формате X.500
    — sr CurrentUser — сертификаты могут устнавливаются для всего компьютера LocalMachine или только для учетной записи CurrentUser
    — ss my — хранилище сертификатов. Локальное хранилище на локальном компьютере называется my

    IIS 7 — Генерация запроса на сертификат

    Генерация запроса на получение сертификата:

    IIS Manager | выбрать узел сервера, а не сайта | Server Sertificates | Create Certificate Request.

    который предварительно должен быть инсталлирован в виндовс через консоль

    MMC -> Добавить оснастку -> Сертификаты -> Local Computer -> Personal

    Чтобы сайт работал через HTTPS в IIS 7.0 нужно прикрепить к узлу сертификат SSL.Делается это

    IIS Manager | выбрать Веб-узел | Bindings.

    добавляется запись HTTPS и для нее выбирается сертификат,

    Илон Маск рекомендует:  Что такое код getsubmenu
  • Понравилась статья? Поделиться с друзьями:
    Кодинг, CSS и SQL