Magasin de clés unifié du Serveur MID

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 8 minutes de lecture
  • Le magasin de clés unifié du serveur MID permet à tous les produits sur le serveur MID d’utiliser des certificats et des paires de clés communs. Cette fonctionnalité permet aux applications d’utiliser le même canal de communication sécurisé vers le serveur MID que celui utilisé par le serveur MID pour se connecter à l’instance.

    Indicateur de configuration pour la phase de sécuritéAssurez-vous que le MID Server peut se connecter à des éléments à l'intérieur et à l'extérieur de votre réseauTélécharger et installer le MID Server sur un hôte Linux ou WindowsConfigurer votre MID ServerConfigurer la sécurité du MID ServerAssurez-vous que le MID Server peut se connecter à des éléments à l'intérieur et à l'extérieur de votre réseauTélécharger et installer le MID Server sur un hôte Linux ou WindowsConfigurer votre MID ServerConfigurer la sécurité du MID Server

    Lorsque le Serveur MID démarre, le nom courant (CN) du certificat est inspecté pour identifier si un certificat personnalisé a été installé. Si un certificat personnalisé est détecté, la création du certificat/de la paire de clés est ignorée et un attribut est défini sur l’enregistrement ecc_agent pour indiquer l’utilisation d’un certificat personnalisé.

    Lorsqu’un certificat personnalisé est utilisé, l’action d’interface utilisateur Re-key est désactivée sur l’instance pour le serveur MID. Une nouvelle action d’interface utilisateur appelée Supprimer la paire de clés personnalisée est disponible pour revenir à l’utilisation d’un certificat auto-signé. L’utilisation de cette action obligera le serveur MID à supprimer le certificat personnalisé et à générer un nouveau certificat auto-signé, similaire à l’option de renouvellement de saisie.

    Lorsqu’un serveur MID est mis à niveau, tous les certificats personnalisés qui ont été installés sont conservés.

    Prise en charge des bundles PEM

    Le magasin de clés unifié du serveur MID prend en charge les paires de clés et de certificats groupés PEM.

    Exemple d’ensemble PEM

    -----BEGIN PRIVATE KEY----- 
    
    MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC0pj5O8QKFpHy9 
    
    ... 
    
    oPdU+h0grs9SJp6rFx0PzDY= 
    
    -----END PRIVATE KEY----- 
    
    Bag Attributes 
    
        friendlyName: <myCustomCert>
    
        localKeyID: 54 69 6D 65 20 31 35 39 35 33 35 34 32 30 38 30 35 31  
    
    subject=/C=US/ST=CA/L=Santa Clara/CN=epic1016883 
    
    issuer=/C=US/ST=CA/L=Santa Clara/CN=epic1016883 
    
    -----BEGIN CERTIFICATE----- 
    
    MIIDKzCCAhOgAwIBAgIEPqMQqDANBgkqhkiG9w0BAQsFADBGMQswCQYDVQQGEwJV 
    
    ... 
    
    4g53RN+LqtJVeeQkZvIbZOfuSqypdVfudkS8dqxQALb8IuHUV7JOcBvOT79mSTs= 
    
    -----END CERTIFICATE----- 

    Installer les certificats personnalisés dans le magasin de clés unifiées du Serveur MID

    Installez des certificats personnalisés pour unifier les canaux de sécurité pour diverses applications.

    Avant de commencer

    Rôle requis : admin

    Lors de l’installation du certificat sur un serveur MID hébergé sous Linux, install-certificate.sh peut ne pas répondre si le nombre de pools d’entropie Linux est inférieur à quelques centaines. Vérifiez le nombre d’entropies du générateur de nombres pseudo-aléatoires Linux (PRNG) avec la commande suivante :
    cat /proc/sys/kernel/random/entropy_avail
    Si le nombre d’entropies est trop faible, vous pouvez installer un générateur d’entropie tel que RNGD ou Haveged. Pour plus d’informations sur l’installation de Haveged pour CentOS et Ubuntu, consultez Comment configurer une entropie supplémentaire pour les serveurs cloud à l’aide de Haveged.

    Procédure

    1. Si le Serveur MID est en cours d’exécution, arrêtez-le.
      Remarque :

      Si l’entrée de l’alias DefaultSecurityKeyPairHandle est en cours de modification, vous devez invalider le serveur MID avant de l’arrêter.

    2. Créez un certificat de groupe PEM et une paire de clés en exécutant l’une des commandes suivantes dans le dossier d’installation de Serveur MID.
      • Générez des certificats auto-signés pour les cas d’utilisation non MTLS avec la commande :
        openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem
      • Exportez le magasin de clés vers un ensemble PEM à l’aide de la commande :
        openssl pkcs12 -in <myCustomCert>.p12 -nodes -out <myCustomCert>.pem
      • Obtenez uniquement les certificats au format PEM avec la commande :
        openssl pkcs12 -in <myCustomCert>.p12 -out <myCustomCert>.pem -clcerts -nokeys
      • Obtenez uniquement les clés au format PKCS#8 avec la commande :
        openssl pkcs12 -in <myCustomKey>.p12 -out <myPrivateKey>.key -nocerts -nodes
      • Installez le certificat, ou la chaîne de certificat, et la clé privée pour les hôtes Windows à l’aide de la commande :
        bin/scripts/manage-certificates.bat -a <alias> <file path to PEM bundle>
      • Installez le certificat, ou la chaîne de certificats, et la clé privée pour les hôtes Linux à l’aide de la commande :
        bin/scripts/manage-certificates.sh -a <alias> <file path to PEM bundle>
      Remarque :

      L’en-tête et le pied de page de la syntaxe PEM doivent être les suivants :

       -----BEGIN CERTIFICATE----- 
       -----END CERTIFICATE----- 

      L'en-tête et le pied de page de la syntaxe PKCS#8 doivent être les suivants :

       -----BEGIN PRIVATE KEY----- 
       -----END PRIVATE KEY----- 
    3. Démarrez le Serveur MID.
    4. Validez le Serveur MID avec l’instance.
    5. Facultatif : Pour que le Serveur MID utilise un certificat auto-généré, sélectionnez le Serveur MID dans l’instance et utilisez l’action d’interface utilisateur Supprimer le certificat personnalisé.
      Remarque :
      Le serveur MID peut également être rétabli à l’aide de l’action d’interface utilisateur Invalider L’invalidation d’un serveur MID supprime tous les certificats personnalisés installés et crée un nouveau certificat auto-signé pour le serveur MID.

    Que faire ensuite

    Le manage-certificates a les fonctions suivantes et les scripts doivent être exécutés à partir du dossier agent.
    Activer l'authentification réciproque​

    Pour Windows, utilisez la commande : bin/scripts/manage-certificates.bat -m

    Pour Linux, utilisez la commande : ./bin/scripts/manage-certificates.sh -m

    Supprimer l'authentification réciproque et restaurer l'authentification de base

    Pour Windows, utilisez la commande : bin/scripts/manage-certificates.bat -b <myUserName myPassword>

    Pour Linux, utilisez la commande : ./bin/scripts/manage-certificates.sh -b <myUserName myPassword>

    Ajouter de nouveaux certificats et chaînes de certificats avec un alias spécifié​

    Pour Windows, utilisez la commande : bin/scripts/manage-certificates.bat -a <alias> <fileName>

    Pour Linux, utilisez la commande : ./bin/scripts/manage-certificates.sh -a <alias> <fileName>

    L’alias est un nom unique donné au certificat importé. Le MID Server nécessite un certificat personnalisé pour l'authentification réciproque, avec le nom d'alias par défaut defaultsecuritykeypairhandle. Pour configurer la communication MTLS entre le MID Server et l'instance, l'entrée de certificat doit être ajoutée au magasin de clés à l'aide du nom d'alias defaultsecuritykeypairhandle.

    Le fileName est un chemin de fichier qui peut contenir un certificat PEM, ou une chaîne de certificats, et une clé privée PCKS#8. Le chemin d'accès au fichier de groupe PEM peut contenir plusieurs certificats et une seule clé privée. L'en-tête et le pied de page de chaque certificat PEM doivent être les suivants :

     -----BEGIN CERTIFICATE----- 
     -----END CERTIFICATE----- 

    L'en-tête et le pied de page de la syntaxe PKCS#8 doivent être les suivants :

     -----BEGIN PRIVATE KEY----- 
     -----END PRIVATE KEY----- 

    Une exception est levée en cas d'échec de la validation de la chaîne de certificats. Si le fichier contient plusieurs certificats, ils doivent être classés : certificat feuille, certificats intermédiaires, puis certificats racines.

    Afficher les détails du certificat pour l'alias spécifié

    Pour Windows, utilisez la commande : bin/scripts/manage-certificates.bat -g <alias>​

    Pour Linux, utilisez la commande : ./bin/scripts/manage-certificates.sh -g <alias> ​

    Cette commande affiche des informations telles que le nom unique de l'objet, le nom de l'émetteur et la date d'expiration du certificat.

    Répertorier tous les alias existants

    Pour Windows, utilisez la commande : bin/scripts/manage-certificates.bat -l

    Pour Linux, utilisez la commande : ./bin/scripts/manage-certificates.sh -l

    Cette commande répertorie tous les noms d'alias disponibles dans agent_keystore.

    Supprimer les certificats à l'aide d'un alias​

    Pour Windows, utilisez la commande : bin/scripts/manage-certificates.bat -d <alias>

    Pour Linux, utilisez la commande : ./bin/scripts/manage-certificates.sh -d <alias>

    Cette commande supprime l'alias et l'enregistrement du magasin de clés. L'entrée de l'alias DefaultSecurityKeyPairHandle peut être supprimée à l'aide de cette commande.

    Supprimer toutes les entrées du magasin de clés

    Pour Windows, utilisez la commande : bin/scripts/manage-certificates.bat -r ​

    Pour Linux, utilisez la commande : ./bin/scripts/manage-certificates.sh -r ​

    Cette commande supprime les entrées existantes du magasin de clés, à l'exception de l'alias DefaultSecurityKeyPairHandle. ​

    Restaurer le magasin de clés du Serveur MID avec une copie de sauvegarde

    Si le magasin de clés est corrompu ou est accidentellement supprimé, vous pouvez restaurer une sauvegarde du magasin de clés du serveur MID. Cela est particulièrement utile pour les magasins de clés avec des paires de clés personnalisées, car la recréation de données de paires de clés personnalisées peut être difficile et prendre du temps.

    Avant de commencer

    Rôle requis : administrateur d’agent

    Pourquoi et quand exécuter cette tâche

    À partir de la version Tokyo, le MID Server effectue automatiquement une sauvegarde du fichier agent_keystore lorsqu’il est modifié. Les sauvegardes sont stockées dans security_backup sous le dossier de l’agent. Elles sont stockées en dehors du dossier de sécurité pour les protéger contre les suppressions ou les corruptions accidentelles du dossier de sécurité.

    Dans le dossier de sauvegarde, il y a un fichier journal de sauvegarde dédié : keystore_backup_audit_trail.log. Ce journal garde une trace des fichiers de sauvegarde et des activités de sauvegarde. Chaque entrée de journal de sauvegarde a un nom de fichier de sauvegarde avec un horodatage, un keypairs.mid_id correspondant et une liste d’alias de paires de clés dans la sauvegarde.

    Remarque :
    Pour des raisons de sécurité, le magasin de clés de sauvegarde doit avoir les mêmes attributs que le magasin de clés d’origine, tels que propriétaire, groupe et autorisations. Ces attributs garantissent que le serveur MID bénéficie de la même protection au niveau du système de fichiers.

    Les sauvegardes du magasin de clés peuvent être modifiées à l’aide des propriétés du serveur MID mid.keystore.max_backups, mid.keystore.max_live_backups et mid.keystore.backup_overwrite_timespan. Consultez Propriétés du MID Server pour plus d'informations.

    Procédure

    1. Arrêtez Serveur MID.
    2. Accédez au security_backup et affichez les keystore_backup_audit_trail.log pour choisir la sauvegarde à restaurer.
    3. Copiez cette sauvegarde dans le fichier agent_keystore dans le dossier de sécurité.
      Vérifiez les autorisations du fichier pour vous assurer qu’il a le même propriétaire et les mêmes autorisations que l’original. Si agent_keystore existe déjà à cet emplacement, remplacez-le par la sauvegarde.
    4. Vérifiez config.xml pour vous assurer que le keypairs.mid_id correspond à celui du fichier journal d’audit.
    5. Facultatif : Si le keypairs.mid_id ne correspond pas, mettez à jour config.xml pour qu’il corresponde.
    6. Accédez à l’instance et invalidez le serveur MID.
      Cela créera une commande système delete_mid_keypair dans le ecc_queue.
    7. Recherchez tous les messages de sortie delete_mid_keypair pour le serveur MID et marquez-les comme traités.
      L’objectif est de marquer le serveur MID comme invalidé sans déclencher la suppression de la paire de clés. À moins que les commandes système ne soient marquées comme traitées, Serveur MID supprime la paire de clés defaultsecuritykeypairhandle , qu’elle soit personnalisée ou générée automatiquement.
    8. Redémarrez Serveur MID.
    9. Accédez à l’instance et validez le serveur MID.