Créer des certificats SSL auto-signés
Cette démo vous montre comment créer des certificats SSL auto-signés pour l’exécution de FlowForce Server exécuté sur un réseau privé. Veuillez noter que cette démo a été simplifiée intentionnellement et n'est pas forcément utilisable pour une production. Votre organisation dispose probablement de politiques de sécurité spécifiques concernant les certificats SSL et pourrait utiliser des outils SSL autres que ceux décrits ci-dessous.
Créer des certificats SSL auto-signés implique les procédures suivantes :
1.Créer un certificat racine
2.Créer un certificat a FlowForce
3.Importer le certificat racine
Pour plus d’informations sur chaque étape, voir les sous-sections ci-dessous.
Prérequis
Cet exemple utilise la boîte à outils OpenSSL (https://www.openssl.org/) pour générer des certificats auto-signés. Veuillez noter que OpenSSL est une bibliothèque de source ouverte, et peut nécessiter une compilation avant de pouvoir l'utiliser dans la ligne de commande. Les instructions de compilation et d’installation pour OpenSSL varient pour chaque système d’exploitation. Généralement, OpenSSL est pré-installé sur la plupart des distributions Linux et sur des appareils macOS. Vous pouvez rapidement contrôler si OpenSSL est présent en saisissant la commande ci-dessous (elle affiche la version OpenSSL actuelle) :
openssl version
OpenSSL peut donc être installé sur les ordinateurs Windows. Pour télécharger des liens pour les binaires d'installation, voir le Wiki OpenSSL.
Étape 1 : Créer certificat racine
Les instructions ci-dessous expliquent comment créer un certificat racine. Le certificat racine sera utilisé pour signer le certificat serveur (étape 2 ci-dessous).
1.Créer un répertoire qui stockera tous les certificats utilisés dans cette démo (par ex., C:\secure). Il s’agira du répertoire de travail pour toutes les commandes OpenSSL ultérieures. Puis passez à ce répertoire depuis la ligne de commande :
cd C:\secure
2.Pour cette démonstration, nous allons émettre des certificats avec des extensions OpenSSL. Afin de rendre cela possible, trouver le fichier openssl.cnf dans votre distribution OpenSSL et le copier dans le répertoire de travail créé dans l'étape précédente.
3.Créer la clé racine qui agit comme votre clé privée de l’autorité du certification (CA). Veuillez noter que la clé privée de racine est l'élément le plus sensible de votre infrastructure de clé publique, donc veillez à la générer et à la stocker dans un environnement sûr (dans cette démo, elle est stockée dans C:\secure).
openssl genrsa -aes256 -out root.key 2048
Saisir le mot de passe lorsque l'invite apparaît pour protéger la clé de racine. Vous nécessiterez ce mot de passe par la suite pour signer des requêtes de certificat.
4.Créez un certificat racine qui est le certificat public de votre autorité de certification qui est le certificat public de votre autorité de certification. La commande ci-dessous génère un certificat auto-signé pour la clé privée créée ci-dessus, avec une validité de 3650. Veuillez noter que le paramètre -config pointe vers le fichier openssl.cnf dans le même répertoire. Le paramètre -extensions se réfère à l'extension v3_ca (section) définie dans openssl.cnf.
openssl req -config openssl.cnf -extensions v3_ca -x509 -new -nodes -key root.key -sha256 -days 3650 -out root.pem
Lorsque l'invite apparaît, saisir l'information concernant votre organisation, par exemple :
Country Name (2 letter code) [AU]: AT
State or Province Name (full name) [Some-State]: .
Locality Name (eg, city) []: Vienna
Organization Name (eg, company) [Internet Widgits Pty Ltd]: MyCompany Ltd
Organizational Unit Name (eg, section) []: IT
Common Name (eg, YOUR name) []: Demo CA
Email Address []: test@example.org
Vous pouvez remplir les champs requis comme l'exige votre organisation. Pour le champ Common Name, saisissez le nom de votre autorité de certificat auto-signé (Demo CA dans cet exemple).
Étape 2 : Créer certificat FlowForce
La prochaine étape consistera à créer le vrai certificat afin qui sera utilisé pour le chiffrage SSL (par FlowForce Server, FlowForce Web Server, ou les deux). Le certificat de FlowForce sera signé avec le certificat racine qui a été créé à l’étape 1.4. Suivez les instructions ci-dessous :
1.Créer la la clé privée, utilisant la commande OpenSSL ci-dessous. La clé privée accompagne votre certificat auto-signé utilisé par FlowForce.
openssl genrsa -out flowforce.key 2048
La clé privée doit être dans le format PEM (Privacy Enhanced Mail). L'extension de fichier des fichiers PEM est généralement .pem, mais elle peut aussi être .key, .cert, .cer ou .crt. Pour que la clé privée puisse être utilisable dans FlowForce, elle ne doit pas être protégée par un mot de passe, voir Exigences de clé privée.. La clé privée doit être stockée de manière sécurisée.
2.Ouvrir le fichier de travail openssl.cnf et y ajouter la section suivante :
[ server_cert ]
# Extensions for server certificates (`man x509v3_config`).
basicConstraints = CA:FALSE
nsCertType = server
nsComment = "OpenSSL Generated Server Certificate"
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid,issuer:always
keyUsage = critical, digitalSignature, keyEncipherment
extendedKeyUsage = serverAuth
subjectAltName=DNS:server.my.domain.com
S'assurer de changer le subjectAltName (Subject Alternative Name) de manière qu'il corresponde au FQDN (fully qualified domain name) de l'appareil sur lequel FlowForce Server est exécuté. Dans cet exemple, il est défini sur server.my.domain.com. La spécification d'un nom alternatif de sujet est requise par Google Chrome 58 et plus tard ; sinon, votre certificat auto-signé générera une erreur NET::ERR_CERT_COMMON_NAME_INVALID (voir Chrome Help page).
3.Crée une Requête de signature de Certificat (CSR), utilisez la ccommande affichée ci-dessous. Veuillez noter que le paramètre -config pointe vers le fichier openssl.cnf édité précédemment. Le paramètre -extension se réfère à l’extension server_cert définie dans openssl.cnf.
openssl req -config openssl.cnf -extensions server_cert -new -nodes -key flowforce.key -out flowforce.csr
4.Lorsque l'invite apparaît, saisissez l'information concernant votre organisation, par exemple :
Country Name (2 letter code) [AU]: AT
State or Province Name (full name) [Some-State]: .
Locality Name (eg, city) []: Vienna
Organization Name (eg, company) [Internet Widgits Pty Ltd]: MyCompany Ltd
Organizational Unit Name (eg, section) []: IT
Common Name (par ex., VOTRE name) []: server.my.domain.com
Email Address []: test@example.org
Concernant le champ Common Name, assurez-vous de saisir le FQDN (nom de domaine entièrement qualifié) de l'appareil hôte sur lequel FlowForce Server est exécuté. Ne pas remplir le champ de mot de passe challenge lorsque vous êtes invité.
5.Signez le certificat FlowForce avec le certificat racine. Notez que, dans un environnement de production, le certificat de racine ne signe normalement pas les certificats de serveurs directement ; à la place, des certificats intermédiaires sont utilisés. La commande ci-dessous signe la requête de certificat flowforce.csr par rapport au certificat de racine créé précédemment et crée le fichier flowforce.crt (qui est le certificat de serveur requis dans FlowForce Server) :
openssl x509 -extfile openssl.cnf -extensions server_cert -req -in flowforce.csr -CA root.pem -CAkey root.key -CAcreateserial -out flowforce.crt -days 365 -sha256
Sommaire
Après avoir suivi les étapes 1 et 2, vous devez avoir les certificats et clés suivants :
•root.key : Il s'agit de la clé privée de votre autorité de certification (CA). Stocker ce fichier dans une place sûre ; si cette clé est compromise, n'importe qui peut générer des certificats reconnus par le navigateur en votre nom.
•root.pem : Il s’agit du certificat public de votre autorité de certification. Vous devrez installer (importer) ce certificat dans la boutique de certificats de confiance de chaque appareil (ou de navigateur) qui a besoin d'accéder à FlowForce de manière sécurisée (étape 3 ci-dessous).
•flowforce.key : Cette clé privée accompagne votre certificat auto-signé utilisé par FlowForce (voir item suivant).
•flowforce.crt : Il s'agit d'un certificat auto-signé à utiliser par FlowForce Server, FlowForce Web Server, ou les deux.
Étape 3 : Importer des certificats racine
Lorsque vous créez votre propre autorité de certification (CA), le certificat de racine est auto-signé ; c'est pourquoi, aucun navigateur ne lui fera confiance par défaut. Pour qu'un client HTTP (comme un navigateur) fasse confiance à votre certificat auto-signé, le certificat doit être importé comme suit :
•Dans la boutique des certificats de confiance du système d'exploitation si le navigateur utilise ce dernier. Dans Windows, par exemple, Google Chrome et Microsoft Edge utilisent la boutique des certificats du système d'exploitation , alors que Mozilla Firefox utilise sa propre boutique. Sur Linux, Google Chrome et Mozilla Firefox, utilisez leur propre boutique des certificats (voir point suivant). Sur Mac, Safari utilise la boutique des certificats du système d'exploitation (Keychain Access).
•Dans la boutique des certificats de confiance du navigateur lui-même.
Notes
•Le certificat auto-signé doit être importé pour chaque appareil client (ou navigateur, le cas échéant) qui accédera à FlowForce Server. •Lorsque vous activez le chiffrage SSL entre FlowForce Web Server et FlowForce Server, cela ne suffit pas pour importer le certificat dans le navigateur. Votre certificat CA racine auto-signé doit avoir la confiance du système d'exploitation.
|
Dépendant du système d’exploitation, les instructions à savoir comment Importer le certificat racine varient. Pour les détails, voir les sous-sections ci-dessous.
Sur Linux vous pouvez importer un certificat de confiance dans la boutique de certificat du système tel que montré dans l'exemple ci-dessous. N'effectuez les étapes suivantes que si vous êtes sûr de l'authenticité du certificat du serveur Web.
Sur Debian et Ubuntu, suivre les étapes suivantes :
1.Copier le fichier de certificat du serveur Web dans le répertoire suivant.
sudo cp /home/downloads/server_cert.crt /usr/local/share/ca-certificates/
2.Mettre à jour le magasin de certificat comme suit :
sudo update-ca-certificates
Sur CentOS, suivre les étapes suivantes :
1.Installer le pack ca-certificates :
yum install ca-certificates
2.Activer la fonction de configuration d'autorité de certificat dynamique :
update-ca-trust enable
3.Copier le certificat de serveur dans le répertoire suivant :
cp server_cert.crt /etc/pki/ca-trust/source/anchors/
4.Utilisez la commande suivante :
update-ca-trust extract
Dans les cas où vous devez accéder au serveur uniquement par le biais du navigateur, il suffit d'importer le certificat dans la boutique du certificat du navigateur. Les instructions exactes peuvent varier pour chaque navigateur. Par exemple, dans Firefox 59.0.2, vous pouvez suivre les instructions suivantes :
1.Sous Options | Privacy & Security, cliquer sur View Certificates. 2.Dans l'onglet Authorities, cliquer sur Import et chercher le fichier de certificat racine créé précédemment. 3.Lorsque vous y êtes invité, choisir Trust this CA to identify websites et cliquer sur OK
|
Sur macOS, vous pouvez importer un certificat de confiance dans Keychain Access comme suit :
1.Exécuter Keychain Access. 2.Cliquer sur System, puis sur Certificates. 3.Ouvrir le menu Fichier et cliquer sur Importer Items. 4.Chercher le certificat de confiance et cliquez sur Open. 5.Saisir le mot de passe Keychain Access lorsque l'invite apparaît, puis cliquer sur Modify Keychain. 6.Double-cliquer sur le certificat, agrandir la section Trust, et choisir Always Trust.
|
Sur Windows, vous pouvez gérer des certificats soit depuis le snap-in Certificates Microsoft Management Console (MMC), soit depuis l'Internet Explorer.
Pour ouvrir les Certificats snap-in pour l’utilisateur Windows actuel, exécutez la commande suivante dans la ligne de commande :
certmgr.msc
Pour ouvrir les Certificats snap-in pour le compte de l'ordinateur, suivez les étapes suivantes :
1.Exécuter mmc dans la ligne de commande. 2.Allez au menu Fichier du MMC et cliquez sur Add/Remove Snap-in. 3.Cliquer sur Certificates, puis cliquer sur Ajouter. 4.Sélectionnez Compte d'ordinateur et cliquez sur Suivant. 5.Sélectionnez Ordinateur local et cliquez sur Terminer.
Sur Windows, vous pouvez importer un certificat de confiance dans la boutique des certificats du système comme suit :
1.Ouvrir la boutique des certificats Windows pour le compte ordinateur, voir . 2.Èlargir le dossier Trusted Root Certification Authorities de l’arborescence Certificats (ordinateur local), cliquez avec la touche de droite sur Certificats, sélectionnez Toutes tâches | Importer et suivez l’assistant d’importation du Certificat.
Pour plus d’information, voir l’article Importer un Certificat sur le site web de Microsoft.
|
Étape suivante
Après avoir suivi les étapes 1 à 3, vous pouvez activer maintenant SSL pour FlowForce Server, FlowForce Web Server et pour la connexion HTTP entre eux, qui est décrite à l’étape 7 de la section Set Up SSL Encryption.