BitLocker Network Unlock, 2ème partie : installation de l’infrastructure

Dans l’article précédent je présentais BitLocker Network Unlock, son principe de fonctionnement et la préparation du poste client Windows 8 avec un firmware UEFI compatible. Je vais m’intéresser maintenant à l’installation de l’infrastructure nécessaire.

Je suis donc parti de la documentation suivante :

BitLocker: How to enable Network Unlock
https://technet.microsoft.com/en-us/library/jj574173.aspx

Cette documentation est à peu près complète et m’a largement suffit. Toutefois certains détails ne correspondent pas exactement à ce que l’on rencontre sur le produit, j’ai donc décidé de documenter la procédure que j’ai suivie, en espérant que cela en débloquera certains, ou servira de référence par la suite. Pour résumer la procédure, voici les étapes à suivre, en trois parties : préparation,  installation de l’infrastructure et tests.

Préparation (décrite dans l’article précédent) :

  • Pour faire simple, partir d’une configuration comprenant un domaine Active Directory Windows Server 2012, DNS et DHCP opérationnels et une autorité de certification (PKI) intégrée. Tout ceci peut tenir sur une machine contrôleur de domaine dans le cadre d’une démo. Dans mon cas c’est une VM (dc.demo1.local).
  • Faire en sorte que tous les systèmes (serveurs et clients) soient à jour de tous les patches émis par Windows Update.
  • Préparer une machine avec un TPM, un firmware UEFI compatible avec BitLocker Network Unlock. Configurer la machine pour qu’elle ne démarre qu’en UEFI.
  • Installer Windows 8 (Pro ou Enterprise) en UEFI. et joindre le domaine.

Installation de l’infrastructure :

  • Installer un nouveau serveur / une nouvelle VM, sous Windows Server 2012. l’important est que ce soit un serveur distinct du serveur DHCP actuel. Joindre le domaine et installer le rôle WDS et la fonctionnalité BitLocker Network Unlock. Configurer de façon minimale le rôle WDS, dans sa console, de façon à ce que le service démarre.
  • S’assurer que le DC et le serveur WDS ont tous les patches disponibles par Windows Update.
  • Créer le modèle de certificat nécessaire pour le Network Unlock dans la PKI.
  • Générer le certificat selon le modèle créé précédemment. Exporter le certificat avec sa clé privée (.pfx) et sans sa clé privée (.cer).
  • Importer le certificat avec sa clé privée (.pfx) sur le serveur WDS, au bon endroit dans le store machine.
  • Par GPO, configurer la fonction BitLocker Network Unlock avec le même certificat (.cer).
  • Par GPO, configurer BitLocker pour permettre le Network Unlock et imposer le TPM+PIN.

Test sur le client :

  • Activer BitLocker sur le disque C: avec le protecteur TPM+PIN.
  • Vérifier que le protecteur “Network” a été ajouté automatiquement lors de l’activation de BitLocker.
  • Eteindre, puis démarrer le client sur le réseau du domaine de test : la machine doit démarrer automatiquement sans demander de PIN.
  • Eteindre, puis démarrer le client non connecté au réseau du domaine de test : la saisie du code PIN de BitLocker doit être obligatoire au démarrage.

Nous avons déjà traité la première partie et le casse-tête du matériel et de l’UEFI dans l’article précédent. Voyons donc maintenant ce qu’il en est de l’infrastructure.

Installation du serveur BitLocker Network Unlock

Une fois le client prêt, passons à l’installation de l’infrastructure nécessaire. La première étape consiste à installer le nouveau serveur qui va héberger le service Network Unlock.

  • Installer un nouveau serveur (une nouvelle VM) avec Windows Server 2012. (remarque : il n’est pas absolument nécessaire d’installer un nouveau serveur, mais l’important est de ne pas installer ces rôles sur un serveir qui a déjà le rôle DHCP. C’est pouquoi il est plus simple d’installer un nouveau serveur.)
  • Installer toutes les mises à jour proposées par Windows Update.
  • Joindre le domaine.
  • Installer le rôle WDS. Par exemple, avec cette commande PowerShell :
 Install-WindowsFeature WDS-Deployment
  • Démarrer le service WDS :
    • Lancer la console Windows Deployment Services.

WDS Console

    • Cliquer à droite sur le nom du serveur et choisir Configure Server.
    • Dans l’assistant de configuration, choisir Integrated with Active Directory puis Respond to all client computers (known and unknown) .
    • A la fin de l’assistant, décocher la case Add images to the server now.
    • Confirmer que le service est bien démarré :
 Get-Service WDSServer
  • Installer la fonctionnalité BitLocker Network Unlock. Par exemple, avec cette commande PowerShell :
 Install-WindowsFeature BitLocker-NetworkUnlock

Modèle de certificat

Les prochaines étapes concernent le certificat. Celui-ci sera avec sa clé privée sur le serveur WDS/BitLocker Network Unlock, et déployé sur tous les clients par une stratégie de groupe. Mais en premier lieu il faut créer le modèle de certificat avec le plus grand soin, car toutes les options de ce modèle comptent pour que cela fonctionne.

La documentation en ligne suggère la possibilité d’utiliser un certificat autosigné, en l’absence d’une PKI. Je  désapprouve totalement cette pratique, et recommande fortement la mise en œuvre d’une PKI, même sur une maquette de démo. En supposant donc que la PKI est opérationnelle, commençons par créer le modèle de certificat.

Sur le serveur hébergeant l’autorité de certification (dans mon cas, le contrôleur de domaine dc.demo1.local) :

  • Ouvrir la console Certificate Templates : certtmpl.msc
  • Dupliquer le modèle User : cliquer à droite sur le modèle User et choisir Duplicate Template.

Duplicate Template

A partir de là il s’agit de personnaliser le nouveau modèle dans la fenêtre affichée, en allant successivement sur plusieurs de ses onglets.

Onglet Paramétrage Illustration
Compatibility Certification Authority: Windows Server 2012 Certificate Recipient: Windows 8 / Windows Server 2012 01 Compatibility
General Template display name: BitLocker Network Unlock Template name: BitLocker Network Unlock (ou n’importe quel nom qui vous convient) Décocher la case Publish certificate in Active Directory 02 General
Request Handling Purpose: Encryption Vérifier que la case Allow private key to be exported est cochée. 03 Request Handling
Cryptography Provider Category: Key Storage Provider Algorithm name: RSA Minimum Key size: 2048 Cocher la case : Requests must use one of he following providers: et choisir : Microsoft Software Key Storage Provider 04 Cryptography
Subject Name Cocher : Supply in the request 05 Subject Name
Issuance Requirements Cocher : CA certificate manager approval 06 Issuance Requirements
Extensions Sélectionner Application Policies, <Edit> Sélectionner les 3 Application Policies par défaut, <Remove> <Add…> <New…> New Application Policy     Name: BitLocker Network Unlock     Object identifier: 1.3.6.1.4.1.311.67.1.1 <OK> Sélectionner la nouvelle Application Policy “BitLocker Network Unlock”, <OK>, <OK> 14 Extensions - Application Policies
  Sélectionner Key Usage <Edit> Cocher : Allow Key exchange only with key encryption (key encipherment) Cocher : Make this extension critical <OK> 15 Extensions - Key Usage
Security Vérifier que “Domain Admins” a la permission “Enroll”. 17 Security
  Pour terminer le modèle de certificat, cliquer sur <OK>.  

Une fois le modèle de certificat enregistré, il faut l’ajouter à l’autorité de certification :

  • Ouvrir la console Certification Authority : certsrv.msc
  • Développer l’arborescence, cliquer à droite sur Certificate Templates et choisir New > Certificate Template to Issue.

New > Certificate Template to Issue

  • Choisir le modèle créé précédemment et valider.

Enable Certificate Template

Certificate Templates

Création du certificat

Nous pouvons maintenant générer et installer le certificat qui sera utilisé sur notre démo.

Sur le serveur WDS / BitLocker Network Unlock :

  • Ouvrir la console de gestion des certificats : certmgr.msc.
  • Sous Certificates – Current User, cliquer à droite sur Personal.
  • Choisir All TasksRequest New Certificate.
  • <Next>
  • Sélectionner : Active Directory Enrollment Policy <Next>
  • Cocher la case devant BitLocker Network Unlock (le nom du modèle créé précédemment)

Certificate Enrollment

  • Cliquer sur : More information is required to enroll this certificate. Click here to configure settings.
  • Sous Subject name, choisit le type : Common name et taper sous Value un nom significatif. Par exemple : “Demo BitLocker Network Unlock Certificate”.
  • Cliquer sur <Add>>, puis <OK>

Subject name

  • Cliquer sur <Enroll>
  • le statut affiché doit être : Enrollment pending, car nous avons demandé dans le modèle de certificat la validation de la demande de certificat par l’administrateur de l’autorité de certification.
  • <Finish>

Sur le serveur de l’autorité de certification, ouvrir la console de l’autorité de certification (certsrv.msc) et valider la demande de certificat :

  • Dans Pending Requests, cliquer à droite sur la demande de certificat et choisir All Tasks – Issue.

Pending Requests

De retour sur le serveur WDS / BitLocker Network Unlock, toujours dans la console certmgr.msc

  • Cliquer à droite sur Certificates – Current User et choisir All Tasks – Automatically Enroll and Retrieve Certificates.

image

  • <Next>

image

  • Cliquer sur <Enroll>, puis <Finish>

Exporter le certificat dans un fichier .pfx avec sa clé privée :

  • Le certificat doit se retrouver dans Personal – Certificates
  • Cliquer à droite sur le certificat, choisir All Tasks – Export.

image

  • <Next>, Choisir Yes, export the private key, <Next>
  • Choisir le format .PFX, <Next>
  • Cocher la case Password et taper un mot de passe. <Next>
  • Choisir un nom de fichier .pfx, par exemple sur le bureau. <Next> <Finish>

Recommencer l’opération en exportant le certificat cette fois dans un fichier .cer sans sa clé privée :

  • Cliquer à droite sur le certificat, choisir All Tasks – Export.
  • <Next>, Choisir No, do not export the private key, <Next>
  • Choisir le format DER encoded binary X.509 (.CER) , <Next>
  • Choisir un nom de fichier .cer, par exemple sur le bureau. <Next> <Finish>

Déploiement du certificat sur le serveur

Lorsque nous avons fait la requête du certificat, celui-ci a été stocké dans le magasin de l’utilisateur qui a fait l’opération. Or ce certificat doit être déployé dans un emplacement spécifique du magasin machine du serveur. C’est pourquoi nous allons importer le fichier .pfx créé précédemment à l’emplacement adéquat. Pour ce faire, sur le serveur :

  • Lancer mmc.exe
  • Taper Ctrl+M, sélectionner le snap-in Certificates, cliquer sur <Add>>, choisir Computer Account, puis Local Computer et valider.
  • Développer l’arborescence de gauche. Remarquez que l’installation de la fonctionnalité BitLocker Network Unlock a ajouté un emplacement BitLocker Drive Encryption Network Unlock dans les magasins de certificats machine.
  • Cliquer à droite sur le magasin BitLocker Drive Encryption Network Unlock et choisir All Tasks > Import.

Import du certificat dans BitLocker Drive Encryption Network Unlock

  • Choisir le fichier .PFX créé précédemment, entrer le mot de passe du .pfx et confirmer le magasin BitLocker Drive Encryption Network Unlock. Le récapitulatif à la fin de l’assistant d’importation doit ressembler à ceci :

image

Une fois cette importation confirmée, la configuration du serveur WDS est terminée.

Déploiement du certificat sur les postes de travail

L’étape suivante consiste à déployer le certificat du serveur WDS vers les postes clients. Cela est nécessaire pour que les clients ajoutent le protecteur de type Network lors de l’activation de BitLocker.

Le déploiement se fait par une stratégie de groupe :

  • Sur le contrôleur de domaine ou la station d’administration adéquate pour gérer les stratégies de groupe, récupérer le fichier .CER du certificat créé précédemment.
  • Lancer la console gpmc.msc (Group Policy Management Console).
  • Editer la stratégie de groupe (Group Policy) qui s’appliquera aux postes clients concernés. Par exemple, une stratégie de groupe s’appliquant à l’OU contenant les postes clients de test.
  • Dans l’éditeur de stratégie, aller à l’emplacement : Computer Configuration – Policies – Windows Settings – Public Key Policies – BitLocker Drive Encryption Network Unlock. Cliquer à droite sur l’emplacement en question, et choisir Add Network Unlock Certificate.

Add Network Unlock Certificate

  • Dans l’assistant, cliquer sur <Browse Folders>, choisir le fichier .CER du certificat créé précédemment et valider.

Configuration de BitLocker

A ce stade, il ne reste qu’à configurer BitLocker. Toujours dans l’éditeur de stratégie de groupe sur la stratégie qui s’applique aux postes clients, dans Computer Configuration – Policies – Administrative Templates – Windows Components – BitLocker Drive Encryption – Operating System Drives, configurer les stratégies suivantes :

  • Allow network unlock at startup : Enabled

  • Require additional authentication at startup : Enabled et choisir les paramètres suivants :

    • Décocher la case Allow BitLocker without a compatible TPM.
    • Do not allow TPM
    • Require startup PIN with TPM
    • Do not allow startup key with TPM
    • Do not allow startup key and PIN with TPM

Paramètres TPM

Test sur le client

A ce stade tout est prêt, en principe, pour tester la fonctionnalité. La difficulté est que toutes les étapes précédentes sont critiques pour le succès de l’opération : il faut donc être prêt à ce que tout ne fonctionne pas comme prévu au premier essai…

1ère étape du test : chiffrer le volume C: du client, configuré comme indiqué dans l’article précédent. Avant de lancer le chiffrement, il faut vérifier que les stratégies de groupes sont appliquées, en exécutant une commande gpupdate /force. Si la configuration de BitLocker est correcte, le protecteur TPM+PIN doit être obligatoire. Une fois le chiffrement lancé ou terminé, vous pouvez vérifier que tout s’est bien passé en listant les protecteurs de clé sur le volume C:. Si le protecteur Network est présent, c’est gagné ! Sinon, il y a un souci au niveau du certificat du serveur WDS, ou du modèle de certificat utilisé.

Pour vérifier les protecteurs de clé sur le volume C:, exécuter la commande manage-bde.exe -protectors -get c: dans une ligne de commande avec des privilèges élevés. Le résultat doit ressembler à ceci :

Network Protector

Cette première étape ne dépend pas de la configuration UEFI du poste client. Elle ne dépend pour l’instant que de la configuration de l’infrastructure et surtout du certificat du serveur WDS.

La deuxième étape, par contre, nécessite le bon fonctionnement du firmware UEFI du client, et de son option DHCP.

2ème étape du test : démarrer le client sur le réseau et hors du réseau du domaine. Pour être sûr du test, il faut éteindre complètement le client, et le démarrer hors du réseau de test. Dans ce cas, le PIN BitLocker doit être demandé, c’est normal.

Puis, éteindre à nouveau le client, brancher le client sur le même réseau Ethernet que le serveur WDS et que le reste des serveurs du domaine, puis démarrer le poste. Si Windows démarre sans demander le PIN BitLocker, c’est gagné. S’il demande le PIN, il y a un souci avec la fonctionnalité. Il convient alors de vérifier la configuration UEFI et de faire éventuellement une capture réseau sur le serveur WDS lors du démarrage du client.

Voir également les informations sur le troubleshooting vers la fin de l’article https://technet.microsoft.com/en-us/library/jj574173.aspx.

Si vous testez cette fonctionnalité et rencontrez des problèmes n’hésitez pas à m’en faire part dans les commentaires.

Et pour finir, n’oubliez pas de télécharger la version d’évaluation de Windows Server 2012, vous gagnerez peut-être un ebook : https://aka.ms/jeveuxwindows2012.