Аутентификация клиента TLS с помощью информационных служб Интернета (IIS)

Compatible Nitrokeys

3A/C/Mini

Passkey

HSM 2

Pro 2

FIDO2

Storage 2

Start

U2F

active

inactive

inactive

inactive

inactive

inactive

inactive

inactive

В этом руководстве описывается настройка Windows Internet Information Services (IIS) для аутентификации клиентов TLS, которая сопоставляет пользователей с локальными учетными записями.

В качестве примера показана конфигурация с Default Web Site из IIS. Эту конфигурацию можно использовать и для других сайтов, включая или исключая сайт по умолчанию.

Prerequisits

  • Nitrokey 3 with PIV client authentication certificate.

  • Windows Server (веб-сервер)

    • DNS record

    • Сертификат TLS для записи DNS. Клиентские компьютеры должны доверять этому сертификату TLS.

Установка

  1. Open the Server Manager.

  2. In the menubar on the top click Manage → Add Roles and Features.

  3. Перейдите к шагу Роли сервера.

  4. Выберите роль Web Server (IIS) из списка доступных ролей.

  5. Перейдите к шагу Роли служб в разделе Роль веб-сервера (IIS).

  6. В списке служб ролей выберите Web Server → Security → IIS Client Certificate Mapping Authentication.

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

Конфигурация

  1. Откройте Internet Information Services (IIS) Manager (InetMgr.exe).

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

  3. На средней панели откройте Редактор конфигурации. Откройте раздел system.webServer/security/authentication/iisClientCertificateMappingAuthentication и разблокируйте его, нажав на Unlock Section в панели Actions справа.

  4. Разверните страницу Sites под веб-сервером и выберите сайт, который необходимо настроить.

  5. В панели Actions справа нажмите Bindings….

  6. Нажмите Добавить…, что вызовет редактор привязок. Установите тип https и имя хоста в соответствии с DNS-записью и атрибутом Subject Alternative Name (SAN) сертификата TLS. Установите флажок Отключить TLS 1.3 по TCP. В поле SSL-сертификат выберите соответствующий сертификат. Подтвердите настройку нажатием кнопки OK.

    Совет

    Чтобы понять, как отключить TLS 1.3, и получить инструкции по настройке, как использовать его с включенным TLS 1.3, обратитесь к этому сообщению в блоге Microsoft Support.

  7. На средней панели откройте SSL Settings. Активируйте флажок Require SSL и установите радиокнопку в разделе Client certificates в положение Require. Подтвердите конфигурацию нажатием на Apply в панели Actions справа.

  8. На средней панели откройте Аутентификация. Убедитесь, что все остальные методы аутентификации отключены для сайта. В этом списке не будет виден Аутентификация сопоставления сертификатов клиентов IIS. Вернитесь в корень сайта.

    Важно

    Если включен любой другой тип аутентификации, сопоставление клиентских сертификатов не будет работать.

  9. На средней панели откройте Редактор конфигурации. Откройте раздел system.webServer/security/authentication/iisClientCertificateMappingAuthentication с ApplicationHost.config <location path='Default web site'/>. Установите ключ enabled на True и убедитесь, что один или оба ключа manyToOneCertificateMappingsEnabled и oneToOneCertificateMappingsEnabled включены.

  10. Пользовательские отображения должны быть записаны в ключи manyToOneMappings или oneToOneMappings. Соответствующий ключ зависит от желаемого отображения. Информацию о сопоставлении и более подробные пояснения по настройке можно найти на сайте Microsoft Learn.

    Чтобы изменить ключ, нажмите на кнопку в конце текстового поля значения. Откроется редактор коллекций ** . Для создания нового отображения нажмите Add в панели Actions справа.

    1. Сопоставление многих с одним

      Заполните поля, как показано в таблице ниже.

      Key

      Значение

      enabled

      True

      name

      <name-for-the-collection>

      password

      <user-password>

      permissionMode

      Allow

      userName

      <username>

      Поле name используется в качестве идентификатора коллекции, а в полях userName и password необходимо указать имя пользователя и пароль локального пользователя, на которого вы хотите установить карту. Поле rules должно содержать описание разрешенных или запрещенных сертификатов. Чтобы изменить ключ правил, нажмите на кнопку в конце текстового поля значения. Откроется новое окно редактора коллекций ** . Для создания нового правила нажмите на Добавить в панели Действия справа.

      Заполните поля, как показано в таблице ниже.

      Key

      Значение

      certificateField

      Subject

      certificateSubField

      O

      compareCaseSensitive

      True

      matchCriteria

      <criteria-value-of-o-field-in-certificate-subject>

      Закройте окна Редактор коллекций.

    2. Картографирование «один к одному

      Заполните поля, как показано в таблице ниже.

      Key

      Значение

      certificate

      <base64-encoded-certificate>

      enabled

      True

      password

      <user-password>

      userName

      <username>

      Сертификат в кодировке Base64 для поля certificate можно получить из Nitrokey с помощью Nitropy и команды nitropy nk3 piv --experimental read-certificate --format PEM --key 9A. Для полей userName и password требуются имя пользователя и пароль локального пользователя, на которого вы хотите установить карту.

      Закройте окно Редактор коллекций.

    Подтвердите конфигурацию, нажав на кнопку Apply в панели Actions справа.

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