Configuration du magasin de clés

Pour surveiller des transactions HTTPS, importez des clés dans KT5Keystore pour tous les serveurs Web que vous voulez surveiller.

Pourquoi et quand exécuter cette tâche

Vous pouvez exporter les certificats SSL à partir des serveurs Web que vous surveillez et les importer dans le magasin de clés HTTPS à l'aide d'IBM Key Management (iKeyman) ou spécifier le fichier de dissimulation du serveur Web (.kdb) dans le magasin de clés HTTPS. Lorsque vous installez ou configurez Response Time Monitoring, vous êtes invité à entrer l'emplacement du fichier keys.kdb.

Si vous ne disposez pas des fichiers de dissimulation de magasin de clés (.kdb et .sth), vérifiez si le fournisseur CMS est activé dans votre version Java pour que vous puissiez utiliser iKeyman pour définir la base de données de clés :
  1. Accédez au répertoire rép_install/ibm-jre/jre/lib/security. Exemple :
    • Linux /opt/ibm/apm/agent/JRE/lx8266/lib/security
    • Windows C:\Program Files\IBM\APM\ibm-jre\jre\lib\security
  2. Dans le fichier java.security, ajoutez l'instruction ci-après à la liste des fournisseurs de sécurité, comme indiqué, où numéro est le dernier numéro de séquence dans la liste.
    security.provider.numéro=com.ibm.security.cmskeystore.CMSProvider
    La liste des fournisseurs est similaire à celle de l'exemple suivant :
    ## List of providers and their preference orders #
    security.provider.1=com.ibm.jsse.IBMJSSEProvider
    security.provider.2=com.ibm.crypto.provider.IBMJCE
    security.provider.3=com.ibm.security.jgss.IBMJGSSProvider
    security.provider.4=com.ibm.security.cert.IBMCertPath
    security.provider.5=com.ibm.security.cmskeystore.CMSProvider
    ...
    #
  3. Sauvegardez et fermez le fichier.
Restriction : Response Time Monitoring ne peut pas déchiffrer le trafic à l'aide de l'échange de clés Diffie-Hellman.

Procédure

Pour activer la surveillance des transactions HTTPS, collectez les certificats SSL à partir des serveurs Web à surveiller et importez ces certificats, ainsi que les fichiers de dissimulation du magasin de clés dans le magasin de clés HTTPS, à l'aide d'iKeyMan. L'exemple suivant utilise iKeyman pour exporter les certificats d'un serveur IBM HTTP Server, puis les importer dans le magasin de clés HTTPS :

  1. Installez un agent Response Time Monitoring sur chaque serveur Web HTTPS à surveiller.
  2. Exécutez IBM Key Management (iKeyman) à partir du répertoire bin d'IBM Java en exécutant l'une des commandes ci-après, en fonction de votre système d'exploitation.
    • AIXLinux /opt/ibm/apm/agent/JRE/lx8266/bin/ikeyman
      Remarque : X-Window doit être installé dans l'environnement pour qu'iKeyMan fonctionne correctement.
    • Windows c:\IBM\APM\java\java80_x64\jre\bin\ikeyman
  3. Créez une base de données de magasin de clés. Dans la boîte de dialogue Nouveau, procédez comme suit :
    1. Dans la liste Key database type, sélectionnez CMS.
      Si CMS n'est pas disponible dans la liste, le fournisseur CMS n'est peut-être pas activé. Activez le fournisseur CMS dans le fichier de sécurité Java.
    2. Dans la zone Nom du fichier, entrez le nom du fichier de clé HTTPS et cliquez sur OK.
      Par exemple, keys.kdb.
  4. Dans la boîte de dialogue Password Prompt, procédez comme suit :
    1. Dans les zones Password et Confirm Password, entrez et confirmez le mot de passe d'accès à keys.kdb.
      Ne définissez pas de délai d'expiration sauf si vous souhaitez régulièrement recréer la base de données de clés et redémarrer l'agent Response Time Monitoring.
    2. Sélectionnez Stash the password to a file? pour stocker le mot de passe de keys.kdb sous forme chiffrée dans un fichier de dissimulation, keys.sth.

      Remarque : l'agent Temps de réponse prend en charge le mot de passe secret version 1 uniquement. Après APM 8.1.4, exécutez la commande suivante pour stocker le mot de passe de keys.kdb dans le fichier de dissimulation keys.sth.

      Sous Linux :
      cp keyfile.sth keyfile.sth.new-format
      cd /opt/IBM/ccm/agent/lx8266/gs/bin
      #export LD_LIBRARY_PATH=/opt/ibm/apm/agent/lx8266/gs/lib64:$LD_LIBRARY_PATH
      ./gsk8capicmd_64 -keydb -stashpw -db /opt/IBM/ccm/agent/keyfiles/keyfile.kdb -v1stash
      Sous Windows :
      copy server.sth server.sth.backup
      set PATH=c:\IBM\APM\GSK8_x64\lib64;%PATH%
      C:\IBM\APM\GSK8_x64\bin\gsk8capicmd_64 -keydb -stashpw -db .\server.kdb -pw passw0rd -v1stash
  5. Dans la section Key database content de la fenêtre iKeyman, procédez comme suit :
    1. Sélectionnez Personal Certificates.
    2. Cliquez sur Import.
    3. Dans la boîte de dialogue Import Key, dans la liste Keyfile type, sélectionnez CMS.
    4. Parcourez le fichier de clés et cliquez sur Open, puis sur OK.
    5. Dans la boîte de dialogue Password Prompt, entrez le mot de passe du magasin de clés.
    6. Sélectionnez la clé dans la liste et cliquez sur OK.
    7. Dans la boîte de dialogue Change Labels, sélectionnez le nom de libellé de la clé. Dans la zone Enter a new label, indiquez le nom d'hôte du serveur et cliquez sur Appliquer.
      Remarque : Cette valeur sera nécessaire lorsque vous configurerez Response Time Monitoring, notez-la.
    8. Cliquez sur OK.
  6. Sauvegardez le magasin de clés HTTPS.

Importation de clés depuis Internet Information Services

Pour extraire des clés d'Internet Information Services et les importer dans KT5Keystore, procédez comme suit :

  1. Installez un agent Response Time Monitoring sur chaque serveur Web HTTPS à surveiller.
  2. Exportez un fichier .pfx à partir d'Internet Information Services :
    1. Dans le menu Démarrer de Windows, sélectionnez Outils d'administration > Gestionnaire des services Internet (IIS).
    2. Sélectionnez le serveur Web et le site dont vous souhaitez exporter la clé privée, puis cliquez avec le bouton droit de la souris et sélectionnez Propriétés dans le menu contextuel.
    3. Sélectionnez l'onglet Sécurité de répertoire, puis sélectionnez Certificat du serveur dans la section Communications sécurisées.
    4. Dans Assistant Certificat d'IIS, cliquez sur Suivant.
    5. Sélectionnez Exporter le certificat actuel vers un fichier .pfx, puis cliquez sur Suivant.
    6. Entrez le chemin d'accès et le nom de fichier, puis cliquez sur Suivant.
    7. Entrez un mot de passe d'exportation pour la clé, puis cliquez sur Suivant.
    8. Cliquez sur Suivant sur toutes les pages suivantes, puis cliquez sur Terminer.
  3. Procédez à l'extraction des certificats personnels et de signataires à partir du fichier .pfx :
    1. Exécutez IBM Key Management (iKeyman) à partir du répertoire bin d'IBM Java à l'aide de la commande c:\IBM\APM\java\java80_x64\jre\bin\ikeyman. Vérifiez que la variable d'environnement JAVA_HOME est définie.
    2. Dans la base de données de fichiers de clés, sélectionnez Fichier > Ouvrir.
    3. Dans la liste Key database type, sélectionnez PKCS12.
    4. Entrez le nom et le chemin d'accès du fichier de .pfx précédemment créé, puis cliquez sur OK. A l'invite, entrez le mot de passe, puis cliquez sur OK.
    5. Sélectionnez Key Database Content > Personal Certificates, puis cliquez sur Export/Import.
    6. Sélectionnez le type d'action Exporter la clé et le type de fichier de clés PKCS12. Entrez un nom de fichier et un emplacement pour la clé exportée, puis cliquez sur OK. A l'invite, entrez un mot de passe d'exportation puis cliquez à nouveau sur OK.
    7. Si le certificat personnel a été signé par une autorité de certification, sélectionnez Key Database Content > Signer Certificates, puis cliquez sur Extract. Sélectionnez le type de fichier par défaut, et entrez un nom de fichier et un emplacement pour le certificat exporté, puis cliquez sur OK.
  4. Procédez à l'extraction des fichiers de signataire .cer (si nécessaire) :
    1. Si un fichier de certificats de signataire a été extrait du fichier .pfx, accédez au répertoire dans lequel il a été sauvegardé et effectuez une nouvelle copie avec l'extension .cer. Cliquez deux fois sur la nouvelle copie pour l'ouvrir à l'aide de l'afficheur de certificats Windows.
    2. Dans l'onglet Chemin d'accès de certification, vous pouvez afficher la chaîne de certificats de signataire. L'élément le plus bas de la chaîne doit être le certificat personnel. Pour tous les certificats au-dessus, procédez comme suit :
      1. Sélectionnez un certificat et cliquez sur Afficher le certificat.
      2. Sélectionnez Détails et cliquez sur Copier dans un fichier.
      3. Acceptez toutes les valeurs par défaut dans l'assistant d'exportation de certificat et entrez un nom de fichier avec l'extension .cer.
  5. Créez une base de données de magasin de clés. Dans la boîte de dialogue Nouveau, procédez comme suit :
    1. Dans la liste Key database type, sélectionnez CMS, puis entrez un nom de fichier et un emplacement. A l'invite, entrez un mot de passe pour le nouveau fichier de clés.
      Remarque : Veillez à sélectionner Stash the password to a file.
    2. Si des certificats de signataire ont été extraits du fichier .pfx, procédez comme suit :
      1. Sélectionnez Key Database Content > Signer Certificates.
      2. Pour chaque certificat de signataire, cliquez sur Ajouter et ajoutez le fichier .cer.
    3. Sélectionnez Key Database Content > Personal Certificates, puis cliquez sur Import.
    4. Sélectionnez le type de fichier de clés PKCS12, et le nom et l'emplacement du fichier .p12. A l'invite du système, entrez le mot de passe.
    5. Sauvegardez le fichier de clés et quittez l'utilitaire de gestion de clés.
    6. Copiez les fichiers .kdb et .sth dans KT5Keystore sur la machine Response Time Monitoring.
    7. Placez les fichiers de base de données IBM Key Management (.kdb) et de stockage (.sth) dans un répertoire sûr, et assurez-vous que seul l'administrateur ou le superutilisateur (ou l'ID utilisateur qui a servi à installer l'agent Response Time Monitoring) peut les lire.