IIS7 - website beveiligen met client certificaten

IIS7 kan worden ingesteld om gebruik te maken van client certificaten voor authenticatie, voor zowel een website als voor bijvoorbeeld OWA. Hiervoor wordt eerst een webserver certificaat uitgegeven aan de webserver door de Enterprise Root Certification Authority. Vervolgens worden client certificaten uitgegeven aan gebruikers, via een speciale website op de server. Dit client certificaat kan vervolgens worden opgeslagen in de Certificate Store van de gebruiker, of op een token of smart card. Het keypair kan ook rechtstreeks vanaf de token of smart card worden aangemaakt indien dit wordt ondersteund door de token.

Er wordt vanuit gegaan dat er reeds een Windows Enterprise CA is geconfigureerd dat toegankelijk is via IIS (al dan niet geïnstalleerd op dezelfde server), en dat er reeds een CSR is aangemaakt vanaf de website dat beveiligd dient te worden.

Webserver certificaat aanvragen bij een Windows Enterprise CA

  1. Open Internet Explorer en ga naar de CA-website: https://ca-servernaam/certsrv .
  2. Klik op Request a certificate.
  3. Klik op Advanced certificate Request.
  4. Kies de optie Submit a certificate request by using... .
  5. Open de eerder aangemaakte CSR en kopieer de gehele inhoud, inclusief begin- en eindregels, en plak dit in het tekstvak onder Saved request.
  6. Kies Web Server uit het pulldownmenu onder Certificate Template.
  7. Klik op Submit.
  8. Klik op Download certificate om het certificaat op te slaan.

Installeer het ontvangen certificaat op de betreffende website.

IIS7 instellen om client certificaten te gebruiken

  1. Ga naar menu StartAdministrative Tools, klik op IIS Manager en selecteer de web site dat dient te worden beveiligd.
  2. Dubbelklik onder IIS in het middelste panel op SSL Settings.
    NB: SSL Settings is niet beschikbaar op serverniveau - alleen op Site, Application of Directory niveau.
  3. Zet een vinkje naast Require SSL (en eventueel Require 128-bit SSL voor extra veiligheid) om SSL te verplichten voor de website.
  4. Kies onder Client Certificates de optie Accept om client certificaten te accepteren voor authenticatie, of Require om het gebruik van client certificaten te verplichten. Bij het verplichten van client certificaten is het ook vereist om Require SSL in te stellen.
  5. Klik rechts in het Actions menu op Apply.

SSL bindings instellen

Met de volgende stappen wordt het juiste certificaat gekoppeld aan de website:

  1. Kies de te beveiligen website in IIS en klik in het rechterpanel op Bindings... onder Edit Site.
  2. Kies type https en klik op Edit...  (of klik op Add indien deze niet aanwezig is).
  3. Kies het eerder geïnstalleerde webserver certificaat onder SSL Certificate en klik tweemaal op OK.

Gebruikerscertificaat aanvragen

Gebruikers kunnen zich aanmelden op de certificaatbeheerpagina van de webserver om een certificaat te ontvangen waarmee ze voortaan zich kunnen aanmelden op de website. Dit gaat als volgt:

  1. Verbind met de CA server door Internet Explorer te openen en te navigeren naar https://ipadresvandeserver/certsrv .
  2. Er wordt een inlogscherm getoond. Log in met het domein gebruikersnaam en wachtwoord in en klik op OK.
  3. De certificaatbeheerpagina wordt getoond. Klik op de link Request a Certificate.
  4. Klik op de volgende pagina op de link User Certificate.
  5. Er verschijnt waarschijnlijk (tenzij er al eerder een certificaat werd geïnstalleerd) een waarschuwing dat er een ActiveX-onderdeel moet worden geïnstalleerd. Klik op Yes om dit te accepteren en verder te gaan.
  6. Klik in de User Certificate - Identifying Information pagina op Submit.
  7. Er verschijnt een venster met het verzoek waar de keypair moet worden aangemaakt. Kies de software store en klik op OK.
  8. Indien alles goed is verlopen wordt de melding Certificate Issued weergegeven. Klik daaronder op Install This Certificate en in het bevestigingsvenster op Yes.
  9. Sluit de browser. Het gebruikerscertificaat is nu geïnstalleerd.

SSLCheck

De SSLCheck controleert of je certificaat goed op je server is geïnstalleerd en of er mogelijke problemen zijn.