Activation de la sécurité TLS pour les canaux MQ dans MQ on Cloud
Les gestionnaires de files d'attente MQ on Cloud antérieurs à la version 9.2.1 révision 2 ont été configurés par défaut sans sécurité TLS. Les versions ultérieures bénéficient de la sécurité TLS sur les canaux d'administration et d'application. Ce guide explique la sécurité TLS et vous permet de mettre à niveau des gestionnaires de files d'attente plus anciens, pour qu'ils aient le même niveau de sécurité que les gestionnaires des versions plus récentes. Les sections suivantes montrent comment télécharger les certificats requis pour les applications à connecter à votre gestionnaire de files d'attente.
Le logiciel d'application ou d'administration doit faire confiance à un certificat public pour le certificat du gestionnaire de files d'attente MQ on Cloud . Il peut s'agir du certificat émetteur ou du certificat du gestionnaire de files d'attente individuel. Les deux sont disponibles pour téléchargement à partir de la console de service MQ on Cloud.
Vous devrez recueillir certaines données à partir de votre instance de file d'attente MQ on Cloud :
- Nom d'utilisateur et mot de passe de l'utilisateur d'administration.
- Nom d'utilisateur et mot de passe de l'utilisateur de l'application.
- La chaîne de certificats se terminant dans le certificat du gestionnaire de files d'attente, à partir du certificat de l'autorité de certification racine.
- Description du gestionnaire de files d'attente au format JSON (appelé données CCDT).
Les paragraphes suivants vous guideront dans la collecte des données à partir de la console MQ on Cloud et vous guideront également dans le processus de configuration d'un fichier de clés pour gérer des certificats publics sécurisés sur votre ordinateur, à un niveau local. Les pages suivantes accessibles à la fin de ce document vous montreront comment administrer à distance à l'aide de TLS et comment connecter les exemples MQ C et JMS au gestionnaire de files d'attente.
La description suivante modifiera le canal CLOUD.ADMIN.SVRCONN, ce qui permettra à l'administrateur de se connecter en toute sécurité. De même, nous modifierons le canal CLOUD.APP.SVRCONN, qui sera utilisé par des applications telles que les exemples C et JMS.
Vous aurez besoin d'accéder aux outils MQ pour votre système d'exploitation (par exemple runmqakm). Ils font partie d'une installation MQ sous Linux et Windows et ont été récemment mis à disposition dans le toolkit MacOS pour les développeurs. Ils peuvent également être téléchargés en tant que client MQ distinct à partir de la page Téléchargements MQ.
Documentation de référence
Les liens suivants fournissent une référence pratique pour des informations sur la façon d'administrer un gestionnaire de files d'attente MQ on Cloud à l'aide des outils d'administration standard. Vous pouvez choisir votre outil préféré et suivre les instructions du présent document.
- Configuration des droits d'accès administrateur pour un gestionnaire de files d'attente
- Administration d'un gestionnaire de files d'attente à l'aide de la console Web IBM MQ
- Administration d'un gestionnaire de files d'attente à l'aide d'IBM MQ Explorer
- Administration d'un gestionnaire de files d'attente en exécutant une commande runmqsc à partir d'un client IBM MQ
Tâches sur le gestionnaire de files d'attente MQ on Cloud
Comme mentionné précédemment, la sécurisation d'un canal MQ nécessite la configuration d'une spécification de chiffrement et l'échange de certificats publics entre le gestionnaire de files d'attente et le client (et pour le TLS mutuel, également entre le client et le gestionnaire de files d'attente). La configuration de la spécification de chiffrement peut être effectuée à l'aide de l'un des trois outils d'administration MQ standard. La méthode pour chacun est décrite ci-dessous, choisissez votre outil préféré et suivez les instructions. Pour accéder aux données d'identification et au certificat de l'utilisateur, la console de service MQ on Cloud est requise.
Utilisation de la console de service MQ on Cloud pour collecter les données d'identification et les certificats
-
Ouvrez la console de service MQ on Cloud et localisez votre gestionnaire de files d'attente.
-
Regroupez les données d'identification de l'administrateur. Lorsque vous sélectionnez d'abord l'onglet Administration de votre gestionnaire de files d'attente, votre utilisateur se verra affecter les droits d'administrateur. Vous devez noter le nom d'utilisateur, et suivre les étapes pour télécharger la clé d'API (qui est le mot de passe que vous utiliserez pour vous connecter plus tard).
-
Créez un utilisateur d'application pour les applications JMS et C. Sélectionnez l'onglet Données d'identification d'application pour votre gestionnaire de files d'attente et suivez le processus pour ajouter de nouvelles données d'identification d'application. Sauvegardez la clé d'API générée, qui est le mot de passe pour les applications avec lesquelles se connecter.
-
Téléchargez la description CCDT JSON de votre gestionnaire de files d'attente. Cliquez sur le bouton Informations de connexion et suivez les instructions pour télécharger le formulaire CCDT des informations de connexion. Vous pouvez également télécharger la version texte, qui est plus facile à lire, et une source d'information utile contenant le nom et l'URL du gestionnaire de files d'attente.
Le fichier CCDT téléchargé doit se présenter comme suit :
{ "channel": [ { "name": "CLOUD.ADMIN.SVRCONN", "clientConnection": { "connection": [ { "host": "myhost.cloud.ibm.com", "port": 31605 } ], "queueManager": "MQ_ONE" }, "transmissionSecurity": { "cipherSpecification": "ANY_TLS12_OR_HIGHER" }, "type": "clientConnection" }, { "name": "CLOUD.APP.SVRCONN", "clientConnection": { "connection": [ { "host": "myhost.cloud.ibm.com", "port": 31605 } ], "queueManager": "MQ_ONE" }, "transmissionSecurity": { "cipherSpecification": "ANY_TLS12_OR_HIGHER" }, "type": "clientConnection" } ] }
Les sections suivantes décrivent comment vérifier que TLS ait bien déjà été configuré sur les canaux, et sinon, comment effectuer la configuration pour qu'ils bénéficient de la sécurité TLS.
Utilisation de MQ Console pour modifier les canaux
-
Accédez à l'onglet Administration correspondant à votre gestionnaire de files d'attente.
-
Vérifiez que 'MQ Console' est sélectionné, puis cliquez sur Lancer MQ Console
-
Cliquez sur Gérer dans le menu latéral pour afficher vos objets MQ
-
Cliquez sur "Communication" puis sur "Canaux d'application"
-
Dans la table, cliquez sur les 3 points pour CLOUD.ADMIN.SVRCONN et sélectionnez "Configuration"
-
Cliquez sur le bouton Editer
-
Sélectionnez 'SSL' et dans le champ CipherSpec SSL , vérifiez que la valeur est
ANY_TLS12_OR_HIGHER
. Il ne s'agit pas d'une liste, donc si vous souhaitez choisir une autre spécification de chiffrement, reportez-vous à la documentation IBM MQ concernant l'Activation de CipherSpecs -
Cliquez sur Sauvegarder.
-
Répétez les étapes ci-dessus pour le canal CLOUD.APP.SVRCONN.
-
Actualisez maintenant la sécurité SSL du gestionnaire de files d'attente si vous avez modifié un des canaux ci-dessus :
- Sur la page du gestionnaire de files d'attente, sélectionnez Configuration.
- Sélectionnez l'onglet Sécurité.
- Sélectionnez les trois points, puis Actualiser SSL
- Confirmez en cliquant sur Actualiser
- Sur la page du gestionnaire de files d'attente, sélectionnez Configuration.
La spécification de chiffrement est maintenant configurée.
Utilisation de MQ Explorer pour modifier les canaux
-
Reportez-vous à la section Connexion à votre gestionnaire de files d'attente à l'aide de MQ Explorer et suivez la procédure de connexion d'un explorateur MQ à votre gestionnaire de files d'attente MQ on Cloud.
-
Dans la vue MQ Explorer - Navigateur :
- Accédez au Gestionnaires de files, agrandissez votre gestionnaire de files d'attente et cliquez sur Canaux.
- Dans le panneau Canaux , cliquez deux fois sur CLOUD.ADMIN.SVRCONN.
- Dans la panel des propriétés CLOUD.ADMIN.SVRCONN , sélectionnez SSL.
- Dans le champ Spécification de chiffrement SSL , vérifiez qu'une spécification de chiffrement est sélectionnée (
ANY_TLS12_OR_HIGHER
). - Cliquez sur Appliquer , puis sur OK.
-
Répétez les étapes ci-dessus pour le canal CLOUD.APP.SVRCONN
-
Si vous avez modifié la spécification de chiffrement pour n'importe quel canal, actualisez la sécurité. Sous Gestionnaires de files d'attente, cliquez avec le bouton droit de la souris sur le gestionnaire de files d'attente et sélectionnez Sécurité -> Régénération SSL.
-
Cette opération termine l'activation du chiffrement TLS sur les canaux MQ. Si vous n'avez plus besoin de l'Explorateur MQ, vous pouvez à présent fermer la connexion au gestionnaire de files d'attente en cliquant avec le bouton droit sur le gestionnaire de files d'attente et en sélectionnant Déconnecter.
Utilisation de runmqsc pour modifier les canaux
-
Reportez-vous à la section Connexion à votre gestionnaire de files d'attente à l'aide de runmqsc et effectuez les étapes pour vous connecter à votre gestionnaire de files d'attente MQ on Cloud. Ne fermez pas le shell de commandes runmqsc car vous allez l'utiliser dans les étapes ci-dessous.
-
Si votre gestionnaire de files d'attente est de version 9.2.1 r1 ou inférieure, exécutez les commandes suivantes pour configurer les canaux:
ALTER CHANNEL(CLOUD.ADMIN.SVRCONN) CHLTYPE(SVRCONN) SSLCAUTH(OPTIONAL) SSLCIPH(ANY_TLS12_OR_HIGHER) ALTER CHANNEL(CLOUD.APP.SVRCONN) CHLTYPE(SVRCONN) SSLCAUTH(OPTIONAL) SSLCIPH(ANY_TLS12_OR_HIGHER) REFRESH SECURITY TYPE(SSL) end
-
Cette opération termine l'activation du chiffrement TLS sur les canaux MQ. Si vous n'avez plus besoin de l'interface cli runmqsc, vous pouvez fermer maintenant.
Création d'un fichier de magasin de clés
Pour permettre au processus client de faire confiance au gestionnaire de files d'attente, nous devons télécharger le certificat public qui sera présenté par le gestionnaire de files d'attente.
Télécharger le certificat public
Les étapes suivantes peuvent être utilisées pour télécharger le certificat public et créer ce fichier de clés.
-
Cliquez sur l'onglet Magasin de clés et identifiez le certificat qui est marqué comme "En cours d'utilisation : Gestionnaire de files d'attente" (par défaut, il s'agit de qmgrcert_yyyymm).
Créez d'un fichier de clés au format PKCS12
Créez un magasin de clés client et copiez-y la partie publique de la chaîne de certificats de gestionnaire de files d'attente.
-
Créez un magasin de clés client à l'aide de l'outil 'runmqakm'.
runmqakm -keydb -create -db key.kdb -pw <your password> -type pkcs12 -expire 0 -stash
# In some operating systems you may have to update the file permissions to make the keystore readable chmod +rw key.kdb
-
Importez le certificat du gestionnaire de files d'attente dans le magasin de clés (il s'agit du Qmgrcert que vous avez téléchargé à partir de l'interface utilisateur MQ on Cloud précedemment).
runmqakm -cert -add -db key.kdb -file qmgrcert_yyyymm.pem -label qmgrcert -stashed -type pkcs12 -format ascii
-
Vérifiez que vos certificats ont bien été ajoutés.
runmqakm -cert -list -db key.kdb
Le paramètre de type ci-dessus est pkcs12. Certains exemples suggèrent l'utilisation de kdb, mais le fichier key.kdb qui en résulte n'est pas lisible par l'outil keytool. Par conséquent, pour cet exercice, pkcs12 est préférable.
Créez un fichier de clés dans le format JKS sous Windows et Linux
Créez un fichier de clés jks et copiez-y la partie publique de la chaine de certificats du gestionnaire de files d'attente.
-
Créez un magasin de clés client à l'aide de l'outil 'ikeycmd'.
ikeycmd -keydb -create -db key.jks -pw <your password> -type jks -expire 0 -stash
# In some operating systems you may have to update the file permissions to make the keystore readable chmod +rw key.jks
-
Importez le certificat du gestionnaire de files d'attente dans le magasin de clés (il s'agit du Qmgrcert que vous avez téléchargé à partir de l'interface utilisateur MQ on Cloud précedemment).
ikeycmd -cert -add -db key.jks -file qmgrcert_yyyymm.pem -label qmgrcert -pw <your password>
-
Vérifiez que vos certificats ont bien été ajoutés.
ikeycmd -cert -list -db key.jks
Création d'un fichier de clés dans le format JKS sous Mac OSX
Créez un fichier de clés jks et copiez-y la partie publique de la chaine de certificats du gestionnaire de files d'attente.
-
Créez un fichier de clés client et importez le certificat.
keytool -importcert -file qmgrcert_yyyymm.pem -alias qmgrcert -keystore key.jks -storepass <your password>
-
Vérifiez que vos certificats ont bien été ajoutés.
keytool -list -keystore key.jks -storepass <your password>
Etapes suivantes
Sécurisation de l'administration
L'étape suivante consiste à configurer l'extrémité client de la communication afin qu'elle fasse confiance au certificat du gestionnaire de files d'attente. Choisissez l'outil d'administration que vous souhaitez utiliser et suivez les instructions ci-dessous.
Sécurisation des connexions d'application
L'étape suivante consiste à configurer votre connexion d'application de sorte qu'elle utilise le chiffrement TLS lors de la connexion au gestionnaire de files d'attente.