Principes
L’objectif de ce document est de vous communiquer les éléments nécessaires à l’intégration sécurisée de la plateforme PMSIpilot au sein de votre établissement.
Ce document s’adresse au service informatique de votre établissement, qui dispose d’un accès aux machines PMSIpilot, ainsi qu’au différents équipements réseau.
Périmètre technique
Ce document concerne la sécurité de l’information au sein du réseau de votre établissement, entre les serveurs dédiés à PMSIpilot et les postes clients.
Ce document concerne les établissements qui disposent d’un service Windows Active Directory auquel les postes clients sont connectés.
En suivant les étapes de ce document, vous pourrez sécuriser l’accès à vos plateformes et ainsi, retirer les messages d’alertes de sécurité que vous rencontrez dans les navigateurs internet
Installation des services de certificats Active Directory
Cette documentation se limite à Windows server 2012.
Pourquoi installer les services de certificats Active Directory ?
Les services de certificats Active Directory permettent de sécuriser l’accès à des services par vos postes clients par l’intermédiaire de certificats de sécurité.
Cela se déroule en 4 étapes:
Génération et export du certificat PMSIpilot non signé
Signature du certificat par l’autorité de confiance des services de certificat
Déploiement de l’autorité de confiance sur les postes clients (Par GPO).
Import du certificat signé dans PMSIpilot
Comment déterminer si les services de certificats Active Directory sont installés ?
Le tableau de bord du “gestionnaire de serveurs” vous présente un résumé des rôles et services installés.
Les services de certificats Active Directory sont nommés “AD CS”.
Comment installer les services de certificats Active Directory ?
Pour installer cette fonctionnalité ouvrez le gestionnaire de serveur.
Cliquez sur “Ajouter des rôles et des fonctionnalités”, suivez l’assistant, afin d’effectuer une Installation basée sur un rôle ou une fonctionnalité, sur votre serveur.
Lors de la sélection des rôles du serveur, sélectionnez “Services de certificats Active Directory”.
L’écran suivant détaille le fonctionnement des services de certificats, et est uniquement informatif, vous pouvez cliquer sur “Suivant”
Afin d’émettre des certificats de confiance, cochez la case “Autorité de certification” lors de la sélection des services du rôle.
Un dernier écran valide votre sélection avant installation. Vérifiez bien que cela corresponde à ce que vous voulez mettre en place. Redémarrez le serveur après installation.
Configuration des services de certificats Active Directory
Une fois le rôle installé, il est nécessaire de configurer services de certificats Active Directory
Un écran vous informe que vous devez être Administrateur du serveur afin d’effectuer l’opération de configuration.
Une fenêtre vous présente les rôles ou fonctionnalités que vous devez configurer.
Sélectionnez “Autorité de certification”, avant de passer à l’écran suivant.
Vous devez spécifier le type d’installation de l’Autorité de Certification, dans un contexte de parc informatique géré par un Active Directory, il convient de choisir “Autorité de certification d’entreprise” :
Dans de document, nous créons une Autorité de certification racine, car aucune autorité de certification n’existe déjà :
Il est nécessaire de créer une clé de cryptographie privée qui va sécuriser l’autorité de certification :
Choisir comme chiffrement SHA256 (obligatoire depuis la version 11.28.1, le certificat auto-signé est basé sur un csr avec l’algorithme sha256). Il est possible de prendre également le SHA512.
L’écran suivant, qui vous permet de nommer votre Autorité de certification, est pré rempli de valeurs acceptables:
Choisissez une durée de validité, n’entrez pas une valeur inférieure à une ou deux années :
L’écran suivant vous permet de spécifier l’emplacement des base de données de l’autorité de certification, vous pouvez laisser les valeurs par défaut.
Un dernier écran résume l’ensemble de la configuration, vérifiez les paramètres et cliquez sur “Configurer”.
A cet instant vous avez une autorité de certification valide et fonctionnelle.
Déployer l'autorité de certification sur les postes clients Windows par GPO
Pourquoi déployer l’autorité de certification ?
Il est nécessaire de déployer l’autorité de certification sur les postes clients, afin qu’il puissent faire confiance, aux certificats de sécurité intégrés à la plateforme PMSIpilot qui ont été certifiés.
Sauvegarde de l’autorité de certification
Il faut ouvrir le gestionnaire de serveurs, puis sélectionner les services de certificats Active directory (AD CS) à gauche.
Cliquez droit sur le serveur Active Directory et sélectionnez “Autorité de certification”. Le gestionnaire de services de certificats se lance.
Pour déployer cette autorité de certification il faut récupérer son certificat en cliquant “Sauvegarder l’autorité de certification”.
Un assistant se lance, suivez les étapes de l’assistant qui vous posera quelques questions simples. (L’emplacement de la sauvegarde).
Puis sélectionnez les éléments à sauvegarder “clé privée et certificat d’autorité de certification”.
Mettez un mot de passe afin de sécuriser l’accès à cette autorité de certification, vous en aurez besoin pour importer le fichier.
Validez la sauvegarde.
Vous voilà en possession d’un fichier contenant votre autorité de certification : mondomaine-WINAD-CA.p12
Déploiement de l'autorité de certification par GPO
Pour cela vous devez lancer le gestionnaire des stratégies de groupe, dans le menu “Outils” du gestionnaire de serveur.
Vous devez créer une nouvel objet de stratégie avec un nom :
Le modifier afin de compléter sa configuration :
L’éditeur de GPO s’ouvre :
Ouvrez le menu contextuel sur “Autorités de certification racines de confiances” dans Configuration ordinateur/Stratégies/Paramètres Windows/Stratégie de clé publique et choisissez “Importer”.
Un assistant vous permet de sélectionner le certificat précédemment enregistré, pour l’intégrer à la GPO.
Tapez à nouveau le mot de passe que vous avez choisi précédemment.
Votre certificat est prêt à être déployé sur vos postes Windows intégrés au domaine de votre Active Directory.
Afin que la GPO soit prise en compte par vos postes clients Windows il faut que ceux-ci se déconnectent et se reconnectent au domaine Windows.
Vous pouvez vérifier le déploiement de cette GPO, le certificat de l’autorité de confiance est présent dans le magasin. En lançant Internet Explorer, Options Internet/Contenu/Certificats/Autorité de certification racines de confiance.
Signature des certificats (CSR) avec vos services de certificats Active Directory
Cette suite d’étapes nous permettra de créer la clé qui chiffrera les communications en https et de la faire reconnaitre par les navigateurs de l’entreprise afin de l’authentifier.
Pour atteindre cet objectif nous aurons besoin de générer deux fichiers sur la machine BI (Etape 2):
bi.groupepsih.com.key (la clé)
bi.groupepsig.com.csr (le certificate signing request)
La clé permettra de chiffrer la communication entre les clients et le serveur via https.
Le Certificate Signing Request permet de faire une demande de validation de cette clé par l’Active Directory sans avoir à propager la clé en dehors du serveur BI ce qui pourrait créer une faille de sécurité.
Une fois ces deux fichiers générés nous accepterons la demande de validation (CSR) sur le serveur Active directory, cette étape générera un nouveau fichier (Etape 4):
bi.groupepsih.com.crt (le certificat)
Ce certificat permet à un poste client se connectant au serveur bi.groupepsih.com en https de valider que la clé bi.groupepsih.com.key proposée par le serveur est signée par votre Active Directory et est digne de confiance.
Etape 1 : Se connecter à l’outil Putty
Pour cela il faut se rendre en SSH sur la machine BI à travers l’outil “putty” par exemple.
Le compte a utilisé est le suivant :
Login : pmsiuser
Mot de passe : Le mot de passe peut être demandé à l’équipe support.
Etape 2 : Générer les fichiers key et CSR
Une fois connecté en pmsiuser il faut créer un fichier contenant les configurations necessaires à la génération du fichier csr (certificate signing request) et de la clé ssl.
Créer un fichier ssl.cnf dont le contenu devra être le suivant ( il vous fadurat remplacer les valeurs en gras par vos informations)
[ req ]
default_bits = 2048
default_md = sha256
default_keyfile = privkey.pem
string_mask = utf8only
req_extensions = v3_req
distinguished_name = req_distinguished_name
[ req_distinguished_name ]
countryName = Country Name (2 letter code)
countryName_min = 2
countryName_max = 2
stateOrProvinceName = State or Province Name (full name)
localityName = Locality Name (eg, city)
0.organizationName = Organization Name (eg, company)
organizationalUnitName = Organizational Unit Name (eg, section)
commonName = Common Name (eg, your name or your server\’s hostname)
commonName_max = 64
emailAddress = Email Address
emailAddress_max = 64
[ v3_req ]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
nsCertType = server
extendedKeyUsage = serverAuth
# Il est possible de mettre une ou plusieurs entrées DNS et/ou IP
subjectAltName = « DNS:bi; DNS:bi.groupepsih.com; IP:172.17.0.2«
Vous pouvez générer le fichier KEY (clé privée chiffrée sans mot de passe) ainsi que le fichier CSR avec la commande suivante :
openssl req -new -newkey rsa:2048 -nodes -sha256 -out bi.groupepsih.com.csr -keyout bi.groupepsih.com.key -config ssl.cnf
Lors de cette étape, différentes questions vous seront posées afin de compléter la création de la CSR et qui apparaîtront dans le certificat SSL.
Les caractères suivants ne sont pas acceptés : < > ~! @ # $ % ^ * / \ ( ) ? . , &
« You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter ‘.’, the field will be left blank. —– Country Name (2 letter code) [XX]: FR State or Province Name (full name) []: France Locality Name (eg, city) [Default City]: Lyon Organization Name (eg, company) [Default Company Ltd]: PSIH Organizational Unit Name (eg, section) []: Team Industrialisation Common Name (eg, your name or your server’s hostname) []: bi.groupepsih.com Email Address []: votre-adresse@domain.com
Etape 4 : Signature des certificats avec votre Active Directory
Le fichier pmsipilot.csr, nous devons les signer avec votre autorité Active Directory.
Pour cela placez le fichier (csr) à un endroit accessible par votre machine Active Directory.
Vous pouvez utiliser WinSCP ou Filezilla par exemple pour transférer les fichiers sur le serveur.
NB : les captures ont été réalisées pour la plate-forme BI, mais celles-ci sont identiques pour la plate-forme PMSIpilot. Seuls les noms de fichiers et leur emplacements doivent différer.
L’utilisateur à utiliser pour se connecter est le suivant :
Login : pmsiuser
Mot de passe : Le mot de passe du compte root peut être demandé à l’équipe support.
Glissez déposez le fichier pmsipilot.csr à gauche qui doit être un dossier accessible par votre Serveur Active Directory.
Puis lancez la commande :
# Envoyer la demande de signature au serveur Active Directory
certreq -submit -attrib "CertificateTemplate:WebServer" \cheminComplet\bi.groupepsih.com.csr
Stratégie d’inscription à Active Directory
{3F9A7741-28C4-4A22-B18E-C87E805EDD60}
ldap:
Identifiant de requête : 11 <=== ID requête
IDDemande : « 11 »
La demande de certificat est en attente : Taken Under Submission (0)
# Valider le CSR avec le serveur AD pour générer un certificat en spécifiant l'ID de la requete qui a été affiché par la commande précédente
certutil -resubmit 11
# Récupérer le certificat sous forme de fichier afin de pouvoir le retourner vers le serveur BI
certreq -retrieve 11 bi.groupepsih.com.crt
Enregistrez le certificat signé bi.groupepsih.com.crt et copiez-le en utilisant WinSCP sur le dans /home/pmsiuser.
Etape 5 : changer les fichiers de répertoire
Une fois la commande de l’étape 3 réalisée, vous vous retrouverez avec trois fichiers dans le répertoire /home/pmsiuser :
bi.groupepsih.com.crt
bi.groupepsih.com.csr
bi.groupepsih.com.key
Nous allons les mettre dans le bon répertoire /etc/pmispilot/keys/.
Pour réaliser cette opération il faut être root.
Taper la commande suivante : su - Mot de passe : le mot de passe du compte root peut être demandé à l’équipe support.
Etape 6 : Sauvegarder et déplacer les fichiers
Nous allons sauvegarder les deux fichiers suivants (anciens certificats) :
/etc/pmsipilot/keys/pmsipilot.crt
/etc/pmsipilot/keys/pmsipilot.key
Pour cela tapez la commande :
cp /etc/pmsipilot/keys/pmsipilot.crt /etc/pmsipilot/keys/pmsipilot.crt.bak cp /etc/pmsipilot/keys/pmsipilot.key /etc/pmsipilot/keys/pmsipilot.key.bak
Puis placer bi.groupepsih.com.crt et bi.groupepsih.com.key présents dans /home/pmsiuser dans /etc/pmsipilot/keys/ (pour remplacer les précédents) via la commande :
cp /home/pmsiuser/bi.groupepsih.com.key /home/pmsiuser/bi.groupepsih.com.crt /etc/pmsipilot/keys/
Attribuez les bons droits aux fichiers :
chmod 400 /etc/pmsipilot/keys/bi.groupepsih.com.key /etc/pmsipilot/keys/bi.groupepsih.com.crt chown root: /etc/pmsipilot/keys/bi.groupepsih.com.key /etc/pmsipilot/keys/bi.groupepsih.com.crt
Etape 7 : Editer le fichier de configuration
Nous allons adapter le fichier httpd.conf pour les nouveaux fichiers de certificat précédemment créés.
nano /etc/pmsipilot/ssl/httpd.conf
Lors de cette étape vous êtes amené à éditer le fichier de configuration pour paramétrer le service httpd (serveur web) et définir les fichiers de certificat que nous venons de mettre en place.
Astuce : Les caractères du pavé numérique ne sont pas fonctionnels sur cet éditeur de texte
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /etc/pmsipilot/keys/bi.groupepsih.com.crt
SSLCertificateKeyFile /etc/pmsipilot/keys/bi.groupepsih.com.key
Etape 8 : Redémarrer et supprimer les fichiers inutiles
Une fois modifié, il faut que le serveur apache tienne compte des modifications en redémarrant le service avec la commande suivante :
/etc/init.d/httpd restart
Si tout s’est bien déroulé, vous pouvez supprimer les fichiers inutiles :
rm /etc/pmsipilot/keys/pmsipilot.crt.bak -f
rm /etc/pmsipilot/keys/pmsipilot.key.bak -f