Удостоверяване на клиента чрез TLS с Internet Information Services (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 сертификат.

Инсталиране на приложението Nitrokey

  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. Следвайте съветника за инсталиране. Инсталацията трябва да бъде завършена, преди да можете да започнете да я конфигурирате.

Статична конфигурация на DNS

  1. Отворете мениджъра на Internet Information Services (IIS) (InetMgr.exe).

  2. Изберете и разширете уеб сървъра, който искате да конфигурирате, в дървовидния изглед Connections вляво.

  3. В средния панел отворете Configuration Editor. Отворете секцията system.webServer/security/authentication/iisClientCertificateMappingAuthentication и я отключете с щракване върху Unlock Section (Отключване на секция ) в панела Actions вдясно.

  4. Разширете Sites под уеб сървъра и изберете сайта, който искате да конфигурирате.

  5. В прозореца Actions вдясно щракнете върху Bindings….

  6. Щракнете върху Add…, за да се появи редакторът на връзките. Задайте типа на https и името на хоста в съответствие с DNS записа и атрибута Subject Alternative Name (SAN) на TLS сертификата. Активирайте квадратчето за отметка Disable TLS 1.3 over TCP. В полето SSL сертификат изберете съответния сертификат. Потвърдете конфигурацията с щракване върху OK.

    Tip

    За да разберете изискването за деактивиране на TLS 1.3 и за инструкции за конфигуриране как да го използвате с активиран TLS 1.3, направете справка с тази публикация в блога Microsoft Support.

  7. В средния панел отворете SSL Settings. Активирайте квадратчето за отметка Require SSL (Изискване за SSL), а радио бутонът под Client certificates (Клиентски сертификати) е зададен на Require (Изискване за SSL). Потвърдете конфигурацията с щракване върху Apply в панела Actions вдясно.

  8. В средния панел отворете Удостоверяване. Уверете се, че всички други методи за удостоверяване са деактивирани за сайта. В този списък никога няма да се вижда IIS Client Certificate Mapping Authentication. Навигирайте обратно към кореновата страница на сайта.

    Important

    Ако е разрешен друг тип удостоверяване, картографирането на клиентския сертификат няма да работи.

  9. В средния панел отворете Configuration Editor. Отворете раздела 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 трябва да съдържа описание на разрешените или отказаните сертификати. За да промените ключа на правилата, щракнете върху бутона в края на текстовото поле за стойност. Това ще отвори нов прозорец на редактора на колекции ** . За да създадете ново правило, щракнете върху Add (Добавяне) в панела Actions (Действия) вдясно.

      Попълнете полетата, както е показано в таблицата по-долу.

      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 изискват потребителското име и паролата на локалния потребител, към който искате да се съпоставят.

      Затворете прозореца Collection Editor.

    Потвърдете конфигурацията с щракване върху Apply в панела Actions вдясно.

Сайтът вече е конфигуриран за TLS клиентско удостоверяване с помощта на локално картографиране на потребителски акаунти.