====== Gestion des certificats ======
--- //[[nekan@shyrkasystem.com|Nicolas THOREZ]] 2019/03/28 22:07//
L'autorité de certifications créée, nous l'utiliserons pour émettre et révoquer des certificats.
===== Création d'un nouveau modèle de certificat =====
L'autorité de certification est livrée avec des modèles de certificat par défaut permettant de délivrer les certificats les plus courant. Cependant, on peut être amené à créer un nouveau modèle pour un besoin particulier. Parmi ces modèles, je crée généralement un modèle pour émettre un certificat permettant la signature des scripts Powershell. Pour cela, à partir de l'autorité de certification :
* On sélectionne le dossier ''Modèles de certificats'' puis dans la fenêtre principale, on fait un clic droit puis ''Nouveau >'' et ''Modèle de certificat à délivrer''.
{{ :administration:install_ca_34.png |}}
* La fenêtre qui apparaît nous permet de choisir le modèle souhaiter parmi tous les modèles existants. On choisit dons ''Signature du code'' et on valide avec ''OK''.
{{ :administration:install_ca_35.png |}}
* Le modèle de certificat est désormais disponible et apparaît donc dans la liste des modèles.
{{ :administration:install_ca_36.png |}}
===== Émission d'un nouveau certificat =====
Les demandes de certificats se font généralement depuis les clients. Pour ouvrir le gestionnaire de certificat du client on lance la console ''certmgr.msc'' depuis la fenêtre ''Exécuter...'' (touches {{administration:windows-logo.png?20}}+R). Une fois la console ouverte :
* On sélectionne le dossier ''Personnel'' puis on fait un clic droit et on choisit ''Toutes les tâches > '' puis ''Demander un nouveau certificat...''.
{{ :administration:install_ca_37.png |}}
* La fenêtre qui apparaît va nous permettre de formaliser notre demande. La première page est juste un avant-propos. On le lit donc et on passe à la suite.
{{ :administration:install_ca_38.png |}}
* Ensuite, on choisit une inscription à Active Directory et on clique sur ''Suivant >''
{{ :administration:install_ca_39.png |}}
* Dans la page suivante, on peut choisir le modèle à utiliser. On y retrouve ''Signature du code'' précédemment créé. On le coche donc, on développe la section ''Détails'' et on clique sur ''Propriétés''.
{{ :administration:install_ca_40.png |}}
* La fenêtre des propriétés apparaît donc. Nous allons ici pouvoir paramétrer les réglages personnalisés de notre certificat. On va commencer par lui donner un nom explicite et une description.
{{ :administration:install_ca_41.png |}}
* Les options disponibles dans les différents onglets dépendent de vos besoins et du type de certificat voulu. Je vous laisse le loisir de regarder les différentes options. Pour le certificat qui nous intéresse, on cliquera simplement sur l'onglet ''Clé privée'', on déroulera le menu ''Options de clé'' et là, on choisira :
* **Permettre l'exportation de la clé privée** : Cette option va permettre la possibilité de diffusion du certificat sur tous les postes du domaine par GPO par exemple. Cela sera très utile pour permettre aux administrateurs et aux utilisateurs de lancer des scripts préalablement signés sur n'importe quel poste. Bien sûr, cela n'est valable que si c'est en accord avec la politique de sécurité de l'infrastructure.
* **Protection de clé privée forte** : Si n'importe qui peut signer un script alors la signature ne sert pas à grand chose. Cette option permet de limiter son utilisation par la demande d'un mot de passe.
{{ :administration:install_ca_42.png |}}
* Une fois les options choisies, on clique sur ''OK'' pour fermer la fenêtre des propriétés puis sur ''Inscription''.
{{ :administration:install_ca_43.png |}}
* La demande de certificat se lance.
{{ :administration:install_ca_44.png |}}
* Vu que l'on a demandé un protection du certificat, le processus d'inscription s'arrête au milieu pour nous demander via un popup le niveau de sécurité voulu. On clique donc sur ''Définir le niveau de sécurité...''
{{ :administration:install_ca_45.png |}}
* Il y a deux niveaux pour cette sécurité :
* **Haut** : Chaque fois que le certificat sera utiliser pour une signature de code, un mot de passe sera réclamé. C'est l'option que je choisit car elle augmente la sécurité en empêchant un bot se trouvant et s'exécutant sur le compte d'administration de pouvoir signer lui-même les scripts. De même pour un pirate, ce n'est pas un mais deux mots de passe qu'il doit dérober.
* **Moyen** : L'utilisation du certificat devra être authentifié par un administrateur. Il s'agira dans ce cas d'un popup type UAC donc validé par un simple clic sur des sessions d'administrateurs et par demande d'authentification sur des sessions d'utilisateurs.
* On choisit donc l'option de sa préférence (dans mon cas ''Haut'') et on clique sur ''Suivant >''.
{{ :administration:install_ca_46.png |}}
* Là, on peut définir le mot de passe pour l'utilisation de notre certificat. On évitera bien sûr de mettre le même que le mot de passe de la session sinon ça sert à rien. Une fois défini, on clique sur ''Terminer''.
{{ :administration:install_ca_47.png |}}
* De retour sur la fenêtre de demande de définition de sécurité, on cliques sur ''OK'' ce qui permet à l'inscription de se terminer correctement.
{{ :administration:install_ca_48.png |}}
* On clique alors sur ''Terminer'', ce qui nous permet de voir dans la liste, notre certificat fraichement créé.
{{ :administration:install_ca_49.png |}}
===== Renouvellement d'un certificat =====
Le renouvellement d'un certificat doit se faire quand ce dernier arrive à péremption. Pour cela, à partir de la console de gestion des certificats ''certmgr.msc'' :
* On fait un clic droit sur le certificat à renouveler, on choisit ''Toutes les tâches >'' et ''Renouveler le certificat avec une nouvelle clé...''
{{ :administration:install_ca_50.png |}}
* Comme à l'accoutumée, une nouvelle fenêtre apparait avec comme première page un avant-propos qu'on lira avant de passer à la suite.
{{ :administration:install_ca_51.png |}}
* On se retrouve dans une interface similaire à l'émission d'un nouveau certificat sauf que là, on a pas le choix du modèle. Du coup, on fera comme pour l'émission du nouveau certificat, à savoir :
* Dérouler le menu détails pour accéder aux propriétés.
* Définir les propriétés souhaitées telles que l'exportation de la clé privée ou la protection foret de cette dernière par exemple.
* A la différence de l'émission d'un nouveau certificat, un onglet supplémentaire est apparu. Il s'agit de l'onglet ''Signature'' qui vous permet de choisir un certificat pour signer le renouvellement de votre certificat 8-o 8-o 8-o. Généralement, cette option n'est pas utilisée, l'ancien certificat permettant de s'authentifier auprès de l'autorité de certification pour valider le renouvellement.
{{ :administration:install_ca_52.png |}}
* Une fois nos options choisies, on clique sur ''OK'' puis sur ''Inscription''. Si on a choisi une protection forte, il faut la paramétrer de la même façon que pour un nouveau certificat. Une fois les différents paramétrages finis, une validation apparaît et notre certificat a été renouvellé.
{{ :administration:install_ca_53.png |}}
===== Révocation d'un certificat =====
La révocation d'un certificat permet d'en interdire son utilisation. En effet, une fois révoqué, l'autorité de certification ne peut plus le certifier, ce qui le rend inutile. Pour cela, il nous faut aller sur la console de l'autorité de certification (pas le gestionnaire de certificat donc) et là :
* On clique sur ''Certificats délivrés'' pour voir la liste des certificats actifs.
{{ :administration:install_ca_54.png |}}
* On sélectionne le certificat à révoquer puis un fait un clic droit et on choisit ''Toutes les tâches >'' puis ''Révoquer un certificat''
{{ :administration:install_ca_55.png |}}
* On peut alors spécifier la raison de cette révocation ainsi que la date et l'heure de cette dernière (donc programmer une future révocation). Ensuite on clique sur ''Oui''.
{{ :administration:install_ca_56.png |}}
* De retour dans la console de l'autorité de certification, on peut constater que le certificat n'est plus visible dans ''Certificats délivrés'' mais dans ''Certificats révoqués''.
{{ :administration:install_ca_57.png |}}
~~DISCUSSION~~