Escolar Documentos
Profissional Documentos
Cultura Documentos
Avant d’implémenter une PKI sous Windows server 2008, certains éléments
sont à prendre en compte. Et le plus majeur est la préparation d’un environnement AD DS (en
anglais Active Directory Domain Services). Tout d’abord lorsqu’un administrateur système
doit envisager le déploiement d’une PKI Windows server 2008, il doit se poser plusieurs
questions :
Est-ce que je dois mettre à jour tous les contrôleurs de domaines de la forêt vers
Windows server 2008 ?
La réponse est non. Une PKI Windows server 2008 ne repose pas sur un contrôleur de
domaine en version 2008. Il est possible d’installer une PKI Windows server 2008 dans un
environnement AD (Active Directory) sous Windows server 2000 ou 2003.
Une fois encore la réponse est non, une PKI Windows server 2008 n’a pas d’exigence pour le
niveau fonctionnel de domaine ou de la forêt. On peut mixer différents environnements
Active Directory.
Quelles sont les actions à entreprendre pour préparer mon environnement Active
Directory au déploiement de ma PKI sous Windows server 2008 ?
Si plusieurs domaines sont présents à l'intérieur d'une forêt, il faut choisir le domaine qui
hébergera l’ACE. Le choix du domaine qui hébergera le compte d'ordinateur de l'autorité de
certification va dépendre du mode de management de notre organisation, centralisée ou
décentralisée? Dans le cas d'une administration centralisée, l'autorité de certification doit être
placée dans le domaine qui stocke le compte d'ordinateur de l’AC. Dans le cas d'une
administration décentralisée, il est possible de placer l’AC dans différents domaines.
Si l'on utilise un outil de cryptage pour protéger la clé privée de l'autorité de certification,
tous les membres du groupe local Administrateurs du compte d'ordinateur de l'autorité de
certification ont la capacité d'exporter la clé privée. Il est important de commencer par
identifier quel domaine ou quelle unité d'organisation (OU) permettrait de limiter le nombre
d'administrateur local. Par exemple, une organisation qui décide de déployer une forêt racine,
peut choisir d'installer toutes les autorités de certification entreprise dans le domaine de cette
forêt racine pour limiter le nombre des administrateurs locaux sur l’AC.
NB : Pour mettre à jour le schéma sur un contrôleur de domaine sous Windows 2000, ce
dernier doit être doté avec le Service Pack 4 au minimum. Pour un DC Windows Server
2003 aucun Service Pack n'est requis pour procéder à la mise à jour du schéma.
1- Mise à jour du schéma active directory
Les forêts Windows 2000 ou 2003 doivent être mises à jour pour bénéficier des nouvelles
fonctionnalités apportées par le schéma Windows 2008 comme par exemple :
Windows Server 2008 introduit un service de répondeur sur le statut des certificats en ligne
(OCSP). Ce service permet de mettre à jour la validation des demandes de certificat plutôt que
d'utiliser une liste de révocation de certificat (LCRs)
Windows Server 2008 supporte nativement l'émission automatique de certificat pour les
périphériques Cisco en utilisant le Simple Certificate Enrollment Protocol (SCEP). SCEP
permet l'émission automatique de certificat pour les périphériques réseaux sans que ces
derniers n'aient un compte ordinateur pour les périphériques dans Active Directory.
Les certificats qualifiés, décrit dans la RFC 3739 "Internet X.509 Public Key Infrastructure
Qualified Certificates Profile", autorise l'émission de certificat pour une sécurité accrue dans
les signatures électroniques. Un certificat qualifié peut également comprendre des
informations biométriques sur le demandeur du certificat.
Si la forêt est dans une version Windows 2000 ou Windows 2003, il faut identifier le maître
de schéma. La procédure est la suivante :
Dans la boite changer le contrôleur de domaine qui s’ouvre, cliquer sur le bouton
« fermer »
Une fois que le maitre de schéma est identifié, il faut se connecter au contrôleur de
domaine en tant que membre des groupes administrateurs du schéma, administrateurs de
l'entreprise dans la forêt racine du domaine et membre du groupe administrateur du domaine
du serveur qui héberge le maitre de schéma.
Sur cette invite de commande taper X : (ou X est la lettre qui représente votre lecteur
DVD) et appuyer sur la touche « Entrée » sur votre clavier.
Quand la mise à jour du schéma est terminée, il faut s'assurer que ces modifications
soient entièrement répliquées sur tous les autres contrôleurs de domaine de la forêt. On peut
observer les réplications grâce à l'utilitaire graphique replmon.exe (Réplication Monitor) ou
avec l'utilitaire en ligne de commande repadmin.exe disponible dans les Windows Support
Tools. Une fois les modifications du schéma répliquées sur tous les contrôleurs de domaine de
la forêt, on peut préparer chaque domaine à bénéficier des extensions du schéma Windows
Server 2008.
Sur cette invite de commande taper X : (ou X est la lettre qui représente votre lecteur
DVD) et appuyer sur la touche « Entrée » sur votre clavier.
Le groupe Editeurs de certificats est un groupe par défaut présent dans chaque domaine
d'une forêt Active Directory. Ce groupe dispose des permissions lire et écrire sur les
informations de certificat de l'attribut userCertificate des objets utilisateur de ce domaine. Les
certificats publiés avec ces attributs sont typiquement des certificats cryptés qui autorise une
personne à obtenir la clé publique du certificat crypté par une requête à Active Directory.
La difficulté est que la portée du groupe Editeurs de certificats est définie par le premier
contrôleur de domaine du domaine.
Si l'environnement Active directory est sous Windows 2000, le groupe Editeurs de certificats
est un groupe global. Cela signifie que seuls les comptes d'ordinateur provenant du même
domaine peuvent devenir membre du groupe. Si l'environnement AD est sous Windows 2003
ou Windows 2008, le groupe Editeurs de certificats est un groupe de domaine local. Cela
signifie que les comptes d'ordinateur de n'importe quel domaine peuvent devenir membre de
ce groupe.
Si une autorité de certification publie un certificat pour un utilisateur et qu'il est nécessaire
d'éditer l'attribut userCertificate, la modification échouera si l'autorité de certification n'est
pas membre du groupe Editeurs de certificats.
NB : Si l'autorité de certification n'a pas les permissions suffisantes pour écrire dans
l'attribut userCertificate, le message suivant apparait dans le journal des évènements partie
application :
EVENT ID: 80
Description:
Certificate Services could not publish a certificate for request # (where # is the request ID of
the certificate request) to the following location on server dc.example.com:
CN=pierre.dupont, OU=users, OU=Accounts, DC=monlab, DC=local.
L'exemple ci-après repose sur le schéma suivant à savoir deux autorités de certification,
SVR001 et SVR002, situées dans l'OU Computers la forêt D00.local.
Dans cet exemple les domaines D00.local, D10.D00.local et D100.D00.local sont créés dans
des environnements Windows Server 2003 ou Windows Server 2008. Dans ce cas de figure, il
faut ajouter le compte ordinateur du domaine D00.local aux groupes Editeurs de certificats
des domaines D10.D00.local et D100.D00.local. Il n'est pas nécessaire de réaliser cette
opération pour le domaine D00.local car l'ajout du compte ordinateur de l'autorité de
certification est automatiquement réalisé lors de l'installation d’Active Directory Certificate
Services. L'ajout du compte d'ordinateur aux groupes Editeurs de certificats des domaines
D10 et D100 peut être fait à l'aide d'un script VBS ou Powershell.
La difficulté ici, est qu'il n'est pas possible de changer le type de groupe du groupe Editeurs de
certificats avec la console Utilisateurs et Ordinateurs Active Directory. Cette modification ne
peut être réalisée qu'avec l'aide d'un script. Dans l'ordre voici les actions à engager :
3- Peupler le groupe Editeurs de certificats avec tous les comptes d'ordinateur des autorités de
certification de la forêt.
NB : Il n'est pas possible de convertir directement un groupe global en groupe de domaine
local. La transition vers un groupe universel est toujours obligatoire.
Pour réaliser un script permettant d'obtenir la conversion des groupes, il faut garder à l'esprit
que l'attribut groupType d'un groupe universel est -2147483640 et celui d'un groupe de
domaine local est -2147483644.
Le de l’une des autorités de certification doit être réfléchi puisque vous n’avez pas la
possibilité de changer le type de votre autorité simplement. Si vous décidez, vous devez
supprimer votre autorité de certification pour la réinstaller. Cela n’est pas sans risque,
notamment au niveau de la conservation des clés. Quel que soit le type d’AC choisit, nous
avons deux niveaux fonctionnels :
l’autorité racine(AR) qui est la première autorité du réseau
l’autorité intermédiaire(AI), elle dépend d’une AR
Voici un tableau résumant les recommandations de Microsoft quant aux types d’autorités a
utilisé selon le niveau fonctionnel (racine, intermédiaire, délivrance).
NB : après l’installation des services de certificats, il n’est plus possible de changer le nom
ou le domaine du serveur.
1- Autorité autonome
Elle permet de délivrer les certificats dans réseau comme internet. Son fonctionnement
pour un utilisateur est moins automatique que celui d’une ACE, car elle ne dépend pas de
l’environnement Active Directory utilisé. Par défaut les utilisateurs peuvent demander les
certificats auprès d’une ACA à partir de ses pages web uniquement. Les ACA qui n’utilisent
pas AD devront exiger, en règle générale, que le demandeur de certificats produise des
informations d’indentification plus complètes. Une ACA publie sa liste de révocation de
certificats (LCRs) dans un dossier partagé ou dans le cas échéant dans AD. Les scénarios
d’utilisation d’une ACA sont :
Dans l'exemple ci-dessus, l'autorité racine ne délivre que deux certificats (donc
seulement deux utilisations de sa clé privée) aux autorités de certifications intermédiaires.
Une fois les autorités de certifications intermédiaires approuvées par l'autorité racine, elle
peut être déconnectée du réseau ce qui garantit qu'aucun utilisateur malveillant ne pourra
"voler" la clé privée de l'autorité de certification racine. Lorsque ces autorités de certifications
intermédiaires auront reçues leur certificat leur permettant d'exercer leur fonction, elles
pourront à leur tour autoriser les autorités de certifications dites "émettrice". De cette manière,
il est aussi possible de déconnecter du réseau les autorités intermédiaires en laissant les
autorités de certifications "émettrices" signer les certificats. Cette hiérarchie permet non
seulement de choisir quelle autorité va délivrer tel type de certificat, mais aussi de limiter les
risques d'attaque de cette PKI, puisqu'en aucun cas il ne sera possible d'être en possession de
la clé privée de l'autorité racine stockée dans un endroit sûr puisque hors du réseau (et dans un
endroit physiquement protégé).
NB : Il est toujours recommandé d'utiliser une Edition Enterprise de Windows Server 2008
quand il est question de déployer une autorité de certification d'entreprise. La version
Enterprise propose des fonctionnalités avancées qui ne sont pas disponibles dans la version
Standard de Windows 2008.
[Version]
Signature= “$Windows NT$"
[PolicyStatementExtension]
Policies = LegalPolicy
Critical = 0
[LegalPolicy]
OID = 1.3.6.1.4.1.311.21.43
Notice = “Legal policy statement text."
URL = “http://www.example.com/certdata/cps.asp"
[AuthorityInformationAccess]
Empty = true
;URL = http://%1/Public/My CA.crt
;URL = ftp://ftp.example.com/Public/MyCA.crt
;URL = file://\\%1\Public\My CA.crt
Critical = false
[CRLDistributionPoint]
Empty = true
;URL = http://%1/Public/My CA.crl
;URL = ftp://%1/Public/MyCA.crl
;URL = file://\\%1\Public\My CA.crl
Critical = true
[EnhancedKeyUsageExtension]
OID = 1.3.6.1.4.1.311.21.6 ; szOID_KP_KEY_RECOVERY_AGENT
OID = 1.3.6.1.4.1.311.10.3.9 ; szOID_ROOT_LIST_SIGNER
OID = 1.3.6.1.4.1.311.10.3.1 ; szOID_KP_CTL_USAGE_SIGNING
Critical = false
[basicconstraintsextension]
pathlength = 4
critical=false
[certsrv_server]
renewalkeylength=4096
RenewalValidityPeriodUnits=20
RenewalValidityPeriod=years
CRLPeriod = days
CRLPeriodUnits = 2
CRLDeltaPeriod = hours
CRLDeltaPeriodUnits = 4
Nous allons prendre l’exemple d’une hiérarchie à deux niveaux, pour illustrer comment
déployer une PKI Windows server 2008.
[version]
Signature="$Windows NT$"
[Certsrv_server]
RenewalKeyLength=4096
RenewalValidityPeriod=Years
RenewalValidityPeriodUnits=20
NB: Les valeurs Period peuvent être Days, Weeks, Months ou Years. Les PeriodUnits sont
obligatoirement des entiers. Vous ne pouvez pas mettre 0,5 Years pour dire 6 mois. Il
faudra utiliser 6 Months.
Nous devons maintenant contrôler la durée de vie des listes de révocation et des listes de
révocation différentielles. Une liste de révocation a une durée de vie obligatoirement plus
importante que celle d'une liste de révocation différentielle. Il est possible d'utiliser une durée
de vie égale à celle de la clé de l'autorité. Je préfère limiter cette durée à 15 ans. La liste de
révocation différentielle a une durée de vie de 10 ans.
CRLPeriod=Years
CRLPeriodUnits=15
CRLDeltaPeriod=Years
CRLDeltaPeriodUnits=10
Nous allons ensuite déclarer notre politique de certification. Notez que la valeur de Policies
est le nom de la section suivante. Vous pouvez donc donner n'importe quelle valeur à Policies
tant que la section du même nom existe. Il faut également indiquer l'adresse où le texte
correspondant à la politique de certification peut être trouvé. L'OID correspond au modèle de
certificat délivré par l'autorité. Ici, il s'agit de tous les modèles disponibles.
[PolicyStatementExtension]
Policies=AllIssuancePolicy
Critical=FALSE
[AllIssuancePolicy]
OID=2.5.29.32.0
URL=http://guichetunique.org/pkiw8
[version]
Signature="$Windows NT$"
[Certsrv_server]
RenewalKeyLength=4096
RenewalValidityPeriod=Years
RenewalValidityPeriodUnits=20
CRLPeriod=Years
CRLPeriodUnits=15
CRLDeltaPeriod=Years
CDLDeltaPeriodUnits=10
[PolicyStatementExtension]
Policies=AllIssuancePolicy
Critical=FALSE
[AllIssuancePolicy]
OID=2.5.29.32.0
URL=http://guichetunique.org/pkiw8
Une fois que le fichier de configuration a été créé, nous pouvons passer à l’installation de
l’autorité de certification.
Dans la page confirmer les sélections pour l’installation, cliquer sur le bouton
« installer ».
Dans la page résultat de l’installation, vérifier l’installation a été réalisée avec succès
et cliquer sur le bouton « fermer »
NB : l’algorithme de hachage SHA256 et SHA512 sont utilisés lorsque tous vos clients
sont sous Windows vista, Windows server 2008, Windows server 2008 R2, Windows 7. Il est
préférable d’utiliser le SHA1 pour garder la compatibilité avec les clients sous Windows
XP, Windows 2003.
c) Configuration-post installation
L'autorité est installée et partiellement configurée. Il faut finaliser la configuration :
ouvrez le gestionnaire de serveur et développez l'arborescence jusqu'à voir le nom de votre
autorité racine. Faites un clic droit pour accéder aux propriétés. Le certificat racine étant
distribuable sur Internet pour que les clients de votre entreprise fassent confiance à vos
serveurs, il faut supprimer toutes les références à votre serveur. De plus, ces clients ne devant
pas accéder à votre annuaire (pour des raisons de sécurité évidentes), il faut d'autant plus
supprimer l'entrée qui annonce la disponibilité du certificat racine dans l'annuaire. Allez dans
le panneau des extensions. Nous allons d'abord personnaliser les entrées annonçant les
points de distribution des listes de révocation. Supprimez tout sauf la première ligne
commençant par C:\Windows\System32. Ajouter ensuite une ligne pour déclarer un
emplacement de téléchargement des listes de révocation. Cette URL doit être accessible
depuis Internet si vous prévoyez de publier des services sécurisés sur Internet. Il faut ensuite
inclure cette extension dans les futurs certificats émis par cette autorité. Cliquez sur Inclure
dans l'extension CDP des certificats émis. Il faut ensuite faire de même pour l'emplacement
du certificat racine. Sélectionnez l'extension Accès aux informations de l'autorité (AIA).
Supprimez toutes les lignes sauf celle commençant par C:\Windows\System32. Ajoutez
l'emplacement du certificat racine : on le place généralement au même endroit que la liste de
révocation. Cliquez ensuite sur Inclure dans l'extension AIA des certificats émis. Pour finir
la configuration, cliquez sur OK pour appliquer les nouveaux paramètres et redémarrer les
services de certificats. Nous allons maintenant générer une nouvelle liste de révocation qui
prendra en compte les nouveaux paramètres. Rendez-vous sur votre autorité, faites un clic
droit sur Certificats révoqués puis Toutes les tâches, Publier. Sur la fenêtre qui va s'ouvrir, il
faut sélectionner Nouvelle liste de révocation des certificats et cliquer sur OK. La nouvelle
liste de révocation sera créée dans C:\Windows\System32\Certsrv\CertEnroll. Votre autorité
de certification racine est configurée. Ne l'éteignez pas tout de suite : il va falloir certifier
votre autorité de distribution (autorité secondaire autonome). Copiez les fichiers .crt et .crl
situés dans C:\Windows\System32\Certsrv\CertEnroll sur une clé USB ou autre afin de les
transférer vers le serveur web qui hébergera le site guichetunique.org.
CRLPeriodUnits=1
CRLDeltaPeriod=Months
CRLDeltaPeriodUnits=3
Nous allons maintenant ajouter les informations pour permettre aux clients de trouver le
certificat de l'autorité racine ainsi que sa liste de révocation. Cela permettra aux clients de
valider les certificats qui leur sont présentés. Ces informations sont les emplacements depuis
lesquels le certificat racine et la liste de révocation sont téléchargeables. Pour être le plus
interopérable possible, il faut utiliser un emplacement sur un serveur web. On pourrait tout à
fait utiliser un serveur LDAP (Active Directory) mais cela risquerait d'éliminer tous les clients
non Windows.
[CRLDistributionPoint]
URL=http://guichetunique.org/pki/rootca.crl
[AuthorityInformationAccess]
URL=http://guichetunique.org/pki/rootca.crt
[version]
Signature="$Windows NT$"
[Certsrv_Server]
RenewalKeyLength=2048
RenewalValidityPeriod=Years
RenewalValidityPeriodUnits=10
CRLPeriod=Years
CRLPeriodUnits=1
CRLDeltaPeriod=Months
CRLDeltaPeriodUnits=3
[CRLDistributionPoint]
URL=http:// guichetunique.org /pki/rootca.crl
[AuthorityInformationAccess]
URL=http:// guichetunique.org /pki/rootca.crt
b) Installation de l’autorité
L'installation de cette autorité ressemble beaucoup à celle de l'autorité racine. Il faut
ajouter le rôle Services de certificats Active Directory.
L'autorité que nous sommes en train d'installer doit être certifiée par une autorité parente.
Dans notre cas, il s'agit de l'autorité racine. Afin d'être certifiée, il faut que l'autorité soumette
une requête à l'autorité racine. L'assistant va pouvoir générer une requête de certificat avec les
informations recueillies. Le principe même d'une autorité racine offline est d'être éteinte et
donc de ne pas être disponible sur le réseau. Mon autorité racine n'a aucune interface réseau
configurée. L'autorité de distribution ne pourra donc pas soumettre sa requête. Il va falloir
enregistrer la requête dans un fichier, transférer ce fichier via clé USB (par exemple) sur
l'autorité racine pour le soumettre.
Dans la page confirmer les sélections pour l’installation, cliquer sur le bouton
« installer ».
Dans la page résultat de l’installation, vérifier l’installation a été réalisée avec succès
et cliquer sur le bouton « fermer »
Si vous n'avez pas eu de problèmes lors de l'importation du certificat, vous pouvez démarrer
votre autorité en cliquant sur Démarrer (flèche verte en dessous du menu Affichage sur la
barre d’outil). Un petit cercle vert atteste du bon démarrage et de la bonne santé de votre
autorité secondaire. Le travail n'est pas encore fini, il reste encore la configuration de l'autorité
à finaliser.
V-