DEPLOIEMENT MICROSOFT NDES (MSCEP) -> PROCEDURE INSTALLATION ET ERREUR IIS 500

Salut à tous

OBJECTIFS :
- Déployer le service NDES (MSCEP) pour délivrer des certificats sur iPhone.

ARCHITECTURE :
- Un domaine Active Directory MSREPORT.LOCAL.
- Une autorité de certification racine Autonome MSREPORT-ROOT1 gérée par un serveur Windows 2008 R2 Entreprise membre du domaine (SRV-ROOT1). Ce serveur est éteint. Le mot de passe de compte ordinateur de cette machine est configuré pour ne pas changer.
- Une autorité de certification subordonnée Entreprise MSREPORT-EMET1 gérée par un serveur Windows 2008 R2 Entreprise membre du domaine (SRVEMET1).

LE PRINCIPE DE FONCTIONNEMENT :
- NDES va permettre à des machines non membres du domaine d’effectuer une demande en ligne de certificat. Cette demande va être effectuée en réalité par le compte de service NDES (MSREPORT-NDES dans cet exemple).
- La sécurité du protocole NDES repose sur un « secret partagé ».
- Il faut cependant configurer l’iPhone pour qu’il interroge un serveur NDES. Ce dernier doit être accessible sur Internet.
- NDES doit être installé sur une machine membre du domaine et s’appuie sur le service IIS.
- Il faut configurer l’autorité de certification pour émettre des certificats basés sur les Templates « Agent d’inscription Exchange (requête hors connexion) » et « Chiffrement CEP».

COMMENT UN IPHONE RECUPERE T’IL UN CERTIFICAT AVEC NDES :
- L’administrateur se connecte sur l’URL d’administration NDES et génère le secret partagé. Par défaut ce secret partagé change à chaque fois et a une durée de vie de 60 minutes. Nous verrons qu’il est possible de fixer ce secret partagé.
- L’URL du site web client NDES, le certificat racine de l’autorité de certification et le secret partagé est déployé sur l’iPhone  via l’iPhone Configuration Utility ou via une solution MDM. Avec l’iPhone Configuration Utility, on déploie un profil sur l’iPhone.
- Le certificat est généré sur l’iPhone lors de l’installation du profile.

Je vous invite à lire les liens suivants pour plus d’informations.
http://blogs.dirteam.com/blogs/sanderberkouwer/archive/2011/06/04/ centralized-ipad-management-with-profiles-and-policies.aspx
http://blog.stephendolphin.co.uk/project-work/scep-on-windows-2008r2-for-iphones-ipads/
http://blogs.technet.com/b/askds/archive/2010/11/22/ipad-iphone-certificate-issuance.aspx
http://social.technet.microsoft.com/wiki/contents/articles/9063.network-device-enrollment-service-ndes-in-active-directory-certificate-services-ad-cs-en-us.aspx
http://social.technet.microsoft.com/Forums/is/winserversecurity/ thread/d7d01f1d-b05c-4616-9fed-5833dc69eeb7
http://support.microsoft.com/kb/2483564/en-us
http://support.microsoft.com/kb/959193/en-us
http://technet.microsoft.com/en-us/library/cc753784(v=ws.10)
http://technet.microsoft.com/en-us/library/cc755273(v=ws.10)
http://technet.microsoft.com/en-us/library/ff955646(v=ws.10)
http://support.apple.com/kb/DL1466?viewlocale=fr_FR

PREPARATION DU COMPTE DE SERVICE :
Dans cet exemple, le compte de service NDES sera MSREPORT-NDES.
Ce compte aura un mot de passe qui n’expire jamais.
Ajouter ce compte en tant que membre du groupe local IIS_IUSRS sur le serveur SRVEMET1.
Ajouter ensuite le suffixe UPN http/SRVEMET1 au compte utilisateur MSREPORT-NDES.
Pour cela, taper la commande
setspn -A http/SRVEMET1 MSREPORT\MSREPORT-NDES

INSTALLATION DU SERVICE NDES :
Pour installer NDES (MSCEP), il faut être  membre du groupe « Admins du domaine » ou « Enterprise Admins ».
Aller dans le Gestionnaire de Server et installer le service de rôle « Service d’inscription de périphérique réseau ».
Sélectionner « Spécifier un compte utilisateur » et saisir MSREPORT-NDES.
Saisir un nom pour l’autorité d’inscription SRVEMET1-CA-MSCEP-RA.
Laisser les autres paramètres par défaut et cliquer sur « Installer ».
Une fois l’installation terminée, vous pouvez lancer la console Autorité de certification et aller dans « Modèles de certificats ».
L’installation ajoute automatiquement les modèles de certificats « Chiffrement CEP » et « Agent d’inscription Exchange (requête hors connexion) ».
Le correctif ci-dessous doit être déployé sur le serveur NDES pour permettre le bon fonctionnement du service NDES:
http://support.microsoft.com/kb/2483564/en-us

Dans le cas contraire, l’erreur suivante remonte :
Log Name:      Application
Source:        Microsoft-Windows-NetworkDeviceEnrollmentService
Date:          15/07/2012 18:41:23
Event ID:      11
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      SRVEMET1
Description:
The Network Device Enrollment Service received an http message without the « Operation » tag, or with an invalid « Operation » tag.

TESTER L’ACCES AU SITE WEB D’ADMINISTRATION NDES :
Pour cela, se connecter au site web suivant :
https://srvemet1.msreport.local/certsrv/mscep_admin/
Vous arrivez sur une page où l’on vous fournit « un mot de passe de stimulation d’inscription ». Copier ce numéro, il s’agit du secret partagé.
Dans la configuration actuelle, il change à chaque demande.

CONFIGURATION DES PARAMETRES NDES :
Le but est de pouvoir :
- Configurer NDES avec un secret partagé qui ne change pas et qui n’expire jamais.
- Configurer NDES pour délivrer des certificats utilisateurs.
Ces paramètres existent depuis la mise à jour http://support.microsoft.com/kb/959193/en-us qui est incluse de base dans Windows 2008 R2.

Pour définir que le secret partagé ne change jamais :
HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\ MSCEP\UseSinglePassword. La clé DWORD UseSinglePassword a été mise à 1.

Pour définir le modèle de certificat délivré par NDES :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\ MSCEP\EncryptionTemplate. Mettre le nom du template « User »  dans l’entrée REGSZ.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\ MSCEP\GeneralPurposeTemplate. Mettre le nom du template « User »  dans l’entrée REGSZ.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\ MSCEP\SignatureTemplate. Mettre le nom du template « User »  dans l’entrée REGSZ.
Par défaut « EncryptionTemplate », « GeneralPurposeTemplate », « SignatureTemplate » avaient la valeur « IPSECIntermediateOffline ». Toujours mettre la valeur du modèle de certificat en anglais !

PROBLEME QUAND USESINGLEPASSWORD EST CONFIGURE A LA VALEUR « 1 » :
L’activation du paramètre UseSinglePassword à la valeur « 1 » génère une erreur 500 au niveau du site web https://srvemet1.msreport.local/certsrv/mscep_admin/

POUR CORRIGER L’ERREUR 500 AU NIVEAU DU SITE WEB D’ADMINISTRATION NDES :
- Lancer la console « Gestionnaire IIS ».
- Arrêter le service IIS.
- Ouvrir une session avec le compte MSREPORT-NDES sur SRVEMET1.MSREPORT.LOCAL. Fermer la session. Cette étape est obligatoire. Ne jamais supprimer le profil du compte utilisateur MSREPORT-NDES sur le serveur NDES !
- Supprimer la clé HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\MSCEP\EncryptedPassword\ EncryptedPassword.
- Aller dans Pools d’applications. Sélectionner SCEP puis cliquer sur « Paramètres avancées ». Passer le paramètre « Charger le profil utilisateur » sur « True ».
- Donner la permission « Enroll » au niveau du modèle de Certificat déployé par NDES (Utilisateur) au compte MSREPORT-NDES. Pour cela lancer la console « Modèle de Templates ».
- Démarrer IIS.
- Se connecter à l’interface d’administration NDES pour valider le bon fonctionnement du site web NDES d’administration : https://srvemet1.msreport.local/certsrv/mscep_admin/
- Redémarrer le serveur (si la procédure a été mal appliquée cela ne marche plus).
- Se connecter à l’interface d’administration NDES pour valider le bon fonctionnement du site web NDES d’administration : https://srvemet1.msreport.local/certsrv/mscep_admin/

PUBLIER LE SERVEUR MSCEP SUR INTERNET :
- Il faut permettre l’accès au site web NDES sur Internet afin que les IPHONE puissent contacter le serveur NDES via une connexion 3G. Dans mon cas j’utilise aussi une URL publique MSREPORT.FR.
- Le client va donc se connecter sur http://srvemet1.msreport.fr/certsrv/mscep/mscep.dll (site web NDES pour les clients).

DEPLOIEMENT D’UN CERTIFICAT SUR UN IPHONE VIA L’IPHONE CONFIGURATION UTILITY :
- Se connecter sur le site web d’administration de NDES pour récupérer le secret partagé.
https://srvemet1.msreport.local/certsrv/mscep_admin/
- Télécharger et installer ensuite Iphone Configuration Utility for Windows :
http://support.apple.com/kb/DL1466?viewlocale=fr_FR
- Connecter l’IPHONE sur cet ordinateur avec le câble USB. Dans « Utilitaire de configuration Iphone », aller dans « Profils de Configuration » et cliquer sur « Nouveau ». Saisir un nom pour le profil. Aller dans la section « Références ». Cette section permet d’installer les certificats d’autorités de certification.
- Installer le certificat de l’autorité de certification MSREPORT-ROOT1.
- Développer ensuite la section « SCEP ». Entrer les informations suivantes :
URL : http://srvemet1.msreport.fr/certsrv/mscep/mscep.dll
Nom : MSREPORT-EMET1
Object : CN=WIFI
Challenge : le secret partagé (Enrollment challenge password)
Cocher les cases « Utiliser comme signature numérique » et « Utiliser pour le chiffrement de clé ».
- Aller dans Appareils et sélectionner le nom de l’iPhone puis sélectionner l’onglet « Profils de configuration ».
- Cliquer sur « Installer ».
Attention l’iPhone doit être capable de se connecter au site web (URL publique et site web NDES publié).
- Cliquer sur Installer au niveau de l’IPhone. 
- Un message apparaît  comme quoi MSREPORT-ROOT1 sera ajouté à la liste des certificats fiables.
- Cliquer sur Installer.
- Vérifier le type de certificat délivré.

POUR SUPPRIMER UN CERTIFICAT SUR L’IPHONE :
- Il faut supprimer le profil sur l’iPhone. Aller dans « Réglages | Général | Profil ». Supprimer le profil.

A+
Guillaume MATHIEU
Consultant pôle Architecture & Intégration PROSERVIA (groupe MANPOWER)
http://msreport.free.fr
La connaissance s’accroît quand on la partage.

 

À propos de Guillaume Mathieu

Consultant - Formateur chez PROSERVIA (Pôle Conseil Expertise)
Ce contenu a été publié dans Active Directory, Bug, Certificats, Sécurité, Troubleshouting, Windows Server 2008 R2. Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*


+ 7 = huit

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>