TLS Client Authentication with Windows Internet Information Services (IIS) and Active Directory¶
Compatible Nitrokeys |
|||||||
---|---|---|---|---|---|---|---|
✓ active |
⨯ inactive |
⨯ inactive |
⨯ inactive |
⨯ inactive |
⨯ inactive |
⨯ inactive |
⨯ inactive |
This guide describes the configuration of Windows Internet Information Services (IIS) for TLS client authentication that maps users to Active Directory accounts.
It shows the configuration as an example with the Default Web Site of IIS. The configuration can also be used for other sites, including or excluding the default site, but the configuration of TLS support is server-wide.
Prerequisits¶
Successful setup of smart card client logon, refer to chapter Client logon with Active Directory. Users must have a valid authentication certificate on a Nitrokey.
Windows Server (web server)
Joined to an Active Directory domain.
DNS record or hostname must be possible to resolve through DNS for the clients.
TLS certificate for the DNS record. Client computers must trust this TLS certificate.
Installation¶
Open the Server Manager.
In the menubar on the top click Manage → Add Roles and Features.
Follow the wizard to the step Server Roles.
Select the role Web Server (IIS) from the list of available roles.
Follow the wizard to the step Roles Services under Web Server Role (IIS).
From the list of role services select Web Server → Security → Client Certificate Mapping Authentication.
Follow the wizard to the installation. Installation must be finished before you can start configuring it.
Configuration¶
Open the Internet Information Services (IIS) Manager (
InetMgr.exe
).Select and expand the web server you want to configure in the Connections tree view on the left.
From the middle pane open Authentication. Select Active Directory Client Certificate Authentication and enable it with a click on Enable in the Actions pane on the right.
Expand the Sites under the web server and select the site you want to configure.
In the Actions pane on the right click Bindings….
Click Add… which brings up the bindings editor. Set the type to https and the hostname according to the DNS record and the TLS certificate’s Subject Alternative Name (SAN) attribute. Activate the checkbox Disable TLS 1.3 over TCP. In the field SSL certificate select the respective certificate. Confirm the configuration with a click on OK.
Tip
To understand the requirement to disable TLS 1.3 and for a configuration instructions on how to use it with enabled TLS 1.3, refer to this Microsoft Support blog post.
From the middle pane open SSL Settings. Activate the checkbox Require SSL and the radio button under Client certificates is set to Require. Confirm the configuration with a click on Apply in the Actions pane on the right.
From the middle pane open Authentication. Make sure that all other authentication methods are deactivated for the site. The Active Directory Client Certificate Authentication will be never visible in this list.
Important
If any other type of authentication is enabled, the client certificate mapping won’t work.
The site is now configured for TLS client authentication using Active Directory user account mapping.