Principes
Ce document concerne la sécurité de l’information au sein du réseau de votre établissement, entre les serveurs les postes clients.
Ce document concerne les établissements qui ne disposent pas d’un service Windows Active Directory et nécessite une intervention sur chaque poste client.
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.
/!\ La spécificité liée à chacun des navigateurs est à prendre en compte lors de l'utilisation de certificats auto-signés. Nous vous invitons par conséquent à vous renseigner auprès de chacun d'entre eux pour les paramétrages d'utilisation /!\
Génération du certificat clé et du certificat non signé
Un certificat est généré depuis une clé SSL. Il est ensuite signé par une autorité de certification.
Un certificat serveur est considéré comme sûr lorsque le poste client, peux attester qu’il a été signé par une autorité de confiance qu’il connaît.
Nous ne disposons pas d’autorité de certification, nous allons donc signer le certificat avec lui même, et déployer ce certificat sur les postes clients.
Ici nous allons générer des fichiers avec l’adresse IP ou le nom du serveur PILOT :
par exemple IP : 10.0.2.4
par exemple Nom : srv-pmsipilot
Autosignature du certificat (CSR) pour la plateforme PMSIpilot
Etape 1 : Se connecter à l’outil Putty
Pour cela il faut se rendre en SSH sur la machine PILOT à travers l’outil “putty” par exemple.
L’identifiant a utilisé pour se connecter est :
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 vous pouvez générer le fichier key (clé privée chiffrée sans mot de passe) ainsi que le fichier csr (certificat non signé avec l’algorithme sha256) avec la commande suivante :
openssl req -new -newkey rsa:2048 -nodes -sha256 -out www.domaine.fr.sha256.csr -keyout www.domaine.key
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]:GroupePSIH
Organizational Unit Name (eg, section) []:Support
Common Name (eg, your name or your server's hostname) []:10.0.2.4
Email Address []:votre-adresse@domain.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Etape 3 : Auto-signer le certificat CSR avec un certificat x509 v3
Avant tout, nous allons créer un fichier d’extension afin de spécifier les paramètres nécessaires à la V3.
nano v3.ext
Dans lequel nous allons copier le texte suivant en effectuant un clique droit après l’avoir copié :
authorityKeyIdentifier=keyid,issuer
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName=DNS:hostname, IP:10.0.2.4 (A remplacer par vos valeurs)
Nous allons à présent générer le certificat en spécifiant ce fichier d’extension.
openssl x509 -req -sha256 -days 720 -extfile v3.ext -in www.domaine.fr.sha256.csr -signkey www.domaine.key -out www.domaine.crt
Etape 4 : 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 :
http://www.domaine.fr.sha256.csr
Nous allons les mettre dans le bon répertoire /etc/pmispilot/ssl/. Pour réaliser cette opération il faut être root .
Taper la commande suivante :
su -
Se connecter avec les identifiants suivants :
login : root
mot de passe : le mot de passe du compte root peut être demandé à l’équipe support.
Etape 5 : Sauvegarder et déplacer les fichiers
Nous allons sauvegarder les deux fichiers suivants (anciens certificats) :
/etc/pmsipilot/ssl/pmsipilot.crt
/etc/pmsipilot/ssl/pmsipilot.key
Tapez la commande suivante :
cp /etc/pmsipilot/ssl/pmsipilot.crt /etc/pmsipilot/ssl/pmsipilot.crt.bak cp /etc/pmsipilot/ssl/pmsipilot.key /etc/pmsipilot/ssl/pmsipilot.key.bak
Puis placer http://www.domaine.crt et http://www.domaine.csr présents dans /home/pmsiuser dans /etc/pmsipilot/ssl/ (pour remplacer les précédents) :
mv /home/pmsiuser/www.domaine.* /etc/pmsipilot/ssl/
Attribuez les bons droits aux fichiers :
chmod 400 /etc/pmsipilot/ssl/www.domaine.??? chown apache: /etc/pmsipilot/ssl/www.domaine.???
Etape 6 : Editer le fichier de configuration
Nous allons adapter le fichier httpd.conf pour les nouveaux fichiers de certificat précédemments créés avec nano par exemple (cat peut être utilsier également).
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/ssl/www.domaine.crt SSLCertificateKeyFile /etc/pmsipilot/ssl/www.domaine.key
Etape 7 : 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/ssl/pmsipilot.crt.bak -f rm /etc/pmsipilot/ssl/pmsipilot.key.bak -f
Puis supprimer le fichier pmsipilot.csr :
rm /etc/pmsipilot/ssl/pmsipilot.csr -f
Déploiement manuel du certificat (CRT) généré sur les postes clients
Afin que le navigateur considère le certificat que vous avez généré comme sûr, il est nécessaire de l’importer dans les navigateurs internet de chaque poste client.
Vous pouvez récupérer le certificat grâce au logiciel WinSCP ou FileZilla avec les identifiants qui vous ont été communiqué dans la section “Auto-Signature du certificat”.
Remplissez les informations nécessaires pour vous connecter à la plateforme.
L’interface s’ouvre et présente les fichiers et répertoires des dossiers distants (droite) et locaux (gauche).
Glissez déposez le fichier pmsipilot-apache.crt à gauche qui doit être un dossier accessible par vos postes clients. (Attention sur la capture ci-dessus les noms de fichiers ne correspondent pas. Ceci est à titre d’exemple).
Pour chaque poste client, importer le certificat en suivant la procédure adaptée :
ATTENTION: PENSER À AJOUTER LE CERTIFICAT DANS LES ÉDITEURS APPROUVÉS
Pour Internet Explorer
Menu Options Internet/Contenu/Certificats/Autorités de certification racines de confiance.
Cliquez sur le bouton “Importer”.
Un assistant se lance, suivez les instructions afin de chercher le fichier crt.
Le magasin proposé est acceptable.(Autorité de certification racines de confiance).
Pour Firefox
Menu Options/Avancé/Certificats/Afficher les certificats/Autorités.
Cliquez sur le bouton “Importer”.
Cochez “Confirmer cette AC pour identifier des sites Web”.
Cliquez sur “Ok” pour terminer.
Pour Chrome
Menu Paramètres/Paramètres/Afficher les paramètres avancés/Gérés les certificats/Autorités de certification racines de confiance.
Cliquez sur le bouton “Importer”.
Suivez les instructions de l’assistant et importez le certificats CRT.
Votre autorité est déployée et a signé le certificat utilisé par la plateforme PMSIpilot BI. Les postes clients ne devraient plus émettre d’alerte de sécurité en accédant aux services.