Générer des certificats pour la configuration du navigateur sans en-tête pour Linux

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 3 minutes de lecture
  • Générez des certificats TLS/SSL pour sécuriser l’API REST Docker et authentifier les demandes HTTP.

    Avant de commencer

    Remplissez les conditions préalables énumérées dans la Configuration du navigateur sans en-tête pour Linux rubrique.

    Rôle requis : administrateur sur votre ServiceNow instance et administrateur local sur l’ordinateur hôte.

    Pourquoi et quand exécuter cette tâche

    Avertissement :
    Obtenez les clés d’autorité de certification auprès d’une autorité de certification approuvée.

    Par défaut, lors de l’exposition de l’API Docker, les demandes ne sont pas authentifiées, ce qui peut rendre votre ordinateur hôte vulnérable aux attaques. L’API Docker, cependant, prend en charge l’authentification TLS où les demandes sont vérifiées par rapport aux clés privées publiques fournies dans le chiffrement HTTPS. Dans cette étape, vous allez créer ces clés pour le serveur et le client.

    Conseil :
    Pour vous en souvenir plus facilement, entrez les commandes suivantes dans votre terminal Linux. Remarque : N’ajoutez pas ces variables d’environnement à votre profil de terminal. Pour des raisons de sécurité, ils ne doivent exister que pour la durée de la session en cours.
    • export PASSWORD="<mot de passe pour générer les certificats avec> »
    • export SERVERIP="<l’adresse IP de ce serveur> »
    • export HOSTNAME="<nom d’hôte de ce serveur> »
    Pour en savoir plus, consultez Utiliser TLS (HTTPS) pour protéger le socket démon Docker.

    Procédure

    1. Ouvrez une ligne de commande.
    2. Générez une clé d’autorité de certification auto-signée ou récupérez une paire de clés auprès d’une autorité de certification approuvée.
      Les commandes suivantes sont un exemple. Notez que votre configuration peut varier.
      • openssl genrsa -aes256 -passout pass :$PASSWORD -out ca-key.pem 4096
      • openssl req -passin pass :$PASSWORD -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem
      • chmod 0400 ca-key.pem
      • chmod 0444 ca.pem
    3. Générez la paire de clés du serveur à l’aide de la clé de l’autorité de certification.
      Les commandes suivantes sont un exemple. Notez que votre configuration peut varier.
      • openssl genrsa -out clé-serveur.pem 4096
      • openssl req -subj « /CN=$HOSTNAME » -new -key server-key.pem -out server.csr
      • echo « subjectAltName = DNS :$HOSTNAME,IP :$SERVERIP,IP :127.0.0.1 » > extfile.cnf
      • openssl x509 -passin pass :$PASSWORD -req -days 365 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem -extfile extfile.cnf
    4. Créez la paire de clés client à l’aide de la clé de l’autorité de certification.
      Les commandes suivantes sont un exemple. Notez que votre configuration peut varier.
      • openssl genrsa -out clé-client.pem 4096
      • openssl req -subj « /CN=$HOSTNAME » -new -key client-key.pem -out client.csr
      • echo « extendedKeyUsage = clientAuth » > extfile.cnf
      • openssl x509 -passin pass :$PASSWORD -req -days 365 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out client-cert.pem -extfile extfile.cnf

      Vous avez maintenant créé toutes vos clés de chiffrement.

    5. Importez la clé publique CA et la paire de clés client dans un magasin de clés Java.
      Les commandes suivantes sont un exemple. Notez que votre configuration peut varier.

      Créez le fichier keystore et créez un mot de passe pour celui-ci (et enregistrez-le pour une utilisation ultérieure) : keytool -genkey -keyalg RSA -alias dse -keystore my.keystore

      Supprimez une entrée par défaut du fichier keystore : keytool -delete -alias dse -keystore my.keystore

      Importez la clé publique de l’autorité de certification dans le magasin de clés : keytool -import -keystore my.keystore -trustcacerts -alias ca -file ca.pem

      Importez la paire de clés client.
      Remarque :
      Vous créez un fichier de magasin de clés pkcs12 et y importez la paire de clés. Copiez ensuite le contenu dans votre fichier keystore d’origine.
      • openssl pkcs12 -export -name clientkeypair -in client-cert.pem -inkey client-key.pem -out clientkeypair.p12
      • keytool -importkeystore -destkeystore my.keystore -srckeystore clientkeypair.p12 -srcstoretype pkcs12 -alias clientkeypair

      Maintenant que vous avez ajouté tous les certificats au fichier keystore, enregistrez le fichier my.keystore pour plus tard, car il sera téléchargé dans l’instance ServiceNow . En outre, assurez-vous de vous souvenir du mot de passe que vous avez saisi lorsque vous êtes invité à créer le fichier keystore ; Vous devrez le saisir dans un formulaire dans l’instance ServiceNow .