TLS-Sicherheit für MQ-Kanäle in MQ on Cloud aktivieren
MQ on Cloud-Warteschlangenmanager vor Version 9.2.1 Revision 2 wurden standardmäßig ohne TLS-Sicherheit konfiguriert. Spätere Versionen verfügen über TLS-Sicherheit auf Verwaltungs- und Anwendungskanälen. In diesem Handbuch wird die TLS-Sicherheit erläutert und es wird Ihnen ermöglicht, frühere Warteschlangenmanager auf dieselbe Sicherheitsstufe wie die neueren zu aktualisieren. In den nachfolgenden Abschnitten wird gezeigt, wie die erforderlichen Zertifikate heruntergeladen werden, damit Anwendungen eine Verbindung zu Ihrem Warteschlangenmanager herstellen können.
Die Anwendungs- oder Verwaltungssoftware muss einem öffentlichen Zertifikat für das MQ on Cloud-Warteschlangenmanagerzertifikat vertrauen. Dies kann das Ausstellerzertifikat oder das jeweilige Warteschlangenmanager-Zertifikat sein. Beide stehen in der MQ on Cloud-Servicekonsole für den Download zur Verfügung.
Sie müssen einige Daten aus Ihrer MQ on Cloud-Warteschlangeninstanz zusammenstellen:
- Benutzername und Kennwort des Administratorbenutzers.
- Benutzername und Kennwort eines Anwendungsbenutzers.
- Die Zertifikatskette, die mit dem Warteschlangenmanager-Zertifikat endet, beginnend mit dem Zertifikat der Stammzertifizierungsstelle (CA).
- Die Beschreibung des Warteschlangenmanagers im JSON-Format (als CCDT-Daten bezeichnet).
Die folgenden Abschnitte führen Sie durch die Erfassung der Daten aus der MQ on Cloud-Konsole und führen Sie durch den Prozess der Einrichtung eines Schlüsselspeichers für die Verwaltung vertrauenswürdiger öffentlicher Zertifikate auf Ihrer lokalen Maschine. Auf nachfolgenden Seiten, deren Links Sie am Ende dieses Dokuments finden, wird gezeigt, wie Sie die Verwaltung mit TLS über Remotezugriff durchführen können und auch, wie die C- und JMS-MQ-Beispiele mit dem Warteschlangenmanager verbunden werden können.
In der folgenden Beschreibung wird der Kanal CLOUD.ADMIN.SVRCONN geändert. Dies ermöglicht es dem Administrator, eine sichere Verbindung herzustellen. In ähnlicher Weise werden wir den Kanal CLOUD.APP.SVRCONN ändern, der von Anwendungen wie z. B. den C- oder JMS-Beispielen verwendet wird.
Sie benötigen Zugriff auf die MQ-Tools für Ihr Betriebssystem (z. B. runmqakm). Diese sind Teil einer MQ-Installation unter Linux und Windows und wurden vor kurzer Zeit mit dem MacOS-Entwickler-Toolkit zur Verfügung gestellt. Sie können auch als separater MQ-Client von der Seite MQ-Downloads heruntergeladen werden.
Referenzdokumentation
Die folgenden Links bieten eine praktische Referenz zur Verwaltung eines MQ on Cloud-Warteschlangenmanagers unter Verwendung der Standard-Verwaltungstools. Sie können Ihr bevorzugtes Tool auswählen und die Anweisungen in diesem Dokument befolgen.
Tasks im Warteschlangenmanager von MQ on Cloud
Wie bereits erwähnt, erfordert die Aktivierung der Sicherheit für einen MQ-Kanal die Konfiguration einer Verschlüsselungsspezifikation und den Austausch von öffentlichen Zertifikaten zwischen dem Warteschlangenmanager und dem Client (und für Mutual TLS auch zwischen dem Client und dem Warteschlangenmanager). Die Konfiguration der Verschlüsselungsspezifikation kann mit einem der drei standardmäßigen MQ-Verwaltungstools durchgeführt werden. Das Verfahren für jedes der Tools wird im Folgenden beschrieben. Wählen Sie also Ihr bevorzugtes Tool aus und folgen Sie den Anweisungen. Für den Zugriff auf die Benutzerberechtigungsnachweise und das Zertifikat ist die MQ on Cloud-Servicekonsole erforderlich.
Verwenden der MQ on Cloud-Servicekonsole zum Zusammenstellen von Berechtigungsnachweisen und Zertifikaten
-
Öffnen Sie die MQ on Cloud-Servicekonsole und suchen Sie den Warteschlangenmanager.
-
Stellen Sie die Berechtigungsnachweise des Administratorbenutzers zusammen. Beim ersten Auswählen der Registerkarte Verwaltung für Ihren Warteschlangenmanager erhält Ihr Benutzer die Berechtigung als Administrator. Vermerken Sie den Benutzernamen und befolgen Sie die Schritte zum Herunterladen des API-Schlüssels (das Kennwort, das Sie später für die Verbindung verwenden werden).
-
Erstellen Sie den Anwendungsbenutzer für die JMS- und C-Anwendungen. Wählen Sie die Registerkarte Anwendungsberechtigungsnachweise für Ihren Warteschlangenmanager und folgen Sie dem Prozess zum Hinzufügen eines neuen Anwendungsberechtigungsnachweises. Speichern Sie den generierten API-Schlüssel, der das Kennwort für Anwendungen ist, zu denen eine Verbindung hergestellt werden soll.
-
Laden Sie die JSON-CCDT-Beschreibung Ihres Warteschlangenmanagers herunter Klicken Sie auf die Schaltfläche Verbindungsinformationen und befolgen Sie die Anweisungen zum Herunterladen des CCDT-Formulars mit den Verbindungsinformationen. Sie können auch die Textversion herunterladen, die leichter zu lesen und eine nützliche Quelle für den Namen und die URL des Warteschlangenmanagers ist.
Die heruntergeladene CCDT-Datei sollte wie folgt aussehen:
{ "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" } ] }
In den folgenden Abschnitten wird beschrieben, wie Sie überprüfen können, ob für die Kanäle bereits TLS konfiguriert ist, und wenn dies nicht der Fall ist, wie Sie sie für die Anwendung der TLS-Sicherheit konfigurieren.
Verwenden der MQ-Konsole zum Ändern der Kanäle
-
Navigieren Sie zur Registerkarte Verwaltung für Ihren Warteschlangenmanager.

-
Stellen Sie sicher, dass 'MQ-Konsole' ausgewählt ist, und klicken Sie anschließend auf MQ-Konsole starten.
-
Klicken Sie im seitlichen Menü auf 'Verwalten', um Ihre MQ-Objekte anzuzeigen

-
Klicken Sie auf 'Kommunikation' und dann auf 'App-Kanäle'.

-
Klicken Sie in der Tabelle auf das Dreipunkte-Menü für CLOUD.ADMIN.SVRCONN und wählen Sie 'Konfiguration' aus.

-
Wählen Sie die Schaltfläche Bearbeiten aus

-
Wählen Sie ' SSL' aus und überprüfen Sie im Feld SSL-CipherSpec, ob der Wert
ANY_TLS12_OR_HIGHERlautet. Dies ist keine Liste. Wenn Sie also eine andere Verschlüsselungsspezifikation auswählen wollen, ziehen Sie die IBM MQ-Dokumentation für CipherSpecs aktivieren zu Rate.
-
Klicken Sie auf Speichern.
-
Wiederholen Sie die obigen Schritte für den Kanal CLOUD.APP.SVRCONN.
-
Aktualisieren Sie jetzt die SSL-Sicherheit des Warteschlangenmanagers, wenn Sie einen der obigen Kanäle geändert haben:
- Wählen Sie auf der Seite des Warteschlangenmanagers Konfiguration aus.

- Wählen Sie die Registerkarte Sicherheit aus.

- Wählen Sie die drei Punkte und anschließend SSL aktualisieren aus.

- Bestätigen Sie den Vorgang durch Klicken auf Aktualisieren.
- Wählen Sie auf der Seite des Warteschlangenmanagers Konfiguration aus.
Die Verschlüsselungsspezifikation ist jetzt konfiguriert.
Verwenden von MQ Explorer zum Ändern der Kanäle
-
Lesen Sie den Abschnitt Verwenden von MQ-Explorer zum Herstellen einer Verbindung zum Warteschlangenmanager und führen Sie die Schritte zum Herstellen einer Verbindung von einem MQ Explorer zu Ihrem MQ on Cloud-Warteschlangenmanager aus.
-
In der Anzeige 'MQ Explorer - Navigator':
- Navigieren Sie zu Warteschlangenmanager, erweitern Sie Ihren Warteschlangenmanager und klicken Sie auf Kanäle.
- Führen Sie in der Anzeige Kanäle einen Doppelklick auf CLOUD.ADMIN.SVRCONN.
- Wählen Sie im Eigenschaftsfeld von CLOUD.ADMIN.SVRCONN SSL aus.
- Stellen Sie im Feld SSL-Cipher Spec: sicher, dass eine Verschlüsselungsspezifikation ausgewählt ist (
ANY_TLS12_OR_HIGHER). - Klicken Sie auf Anwenden und dann auf OK.
-
Wiederholen Sie die obigen Schritte für den Kanal CLOUD.APP.SVRCONN.

-
Wenn Sie die Verschlüsselungsspezifikation für einen Kanal geändert haben, aktualisieren Sie die Sicherheit. Klicken Sie unter Warteschlangenmanager mit der rechten Maustaste auf den Warteschlangenmanager und wählen Sie Sicherheit -> SSL aktualisieren aus.
-
Die Prozedur zum Aktivieren der TLS-Verschlüsselung für die MQ-Kanäle ist nun abgeschlossen. Wenn Sie MQ Explorer nicht mehr benötigen, können Sie jetzt die Verbindung zum Warteschlangenmanager trennen, indem Sie mit der rechten Maustaste auf den Warteschlangenmanager klicken und die Option Verbindung trennen auswählen.
Kanäle mit 'runmqsc' ändern
-
Lesen Sie den Abschnitt Verwenden von 'runmqsc' zum Herstellen einer Verbindung zum Warteschlangenmanager und führen Sie die Schritte zum Herstellen einer Verbindung zu Ihrem MQ on Cloud-Warteschlangenmanager aus. Beenden Sie die runmqsc-Befehlsshell nicht, da diese Shell auch für die nachfolgenden Schritte benötigt wird.
-
Wenn Ihr Warteschlangenmanager die Version 9.2.1 r1 oder niedriger hat, führen Sie die folgenden Befehle aus, um die Kanäle zu konfigurieren:
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 -
Die Prozedur zum Aktivieren der TLS-Verschlüsselung für die MQ-Kanäle ist nun abgeschlossen. Wenn Sie die Befehlszeilenschnittstelle 'runmqsc' nicht mehr benötigen, können Sie sie jetzt beenden.
Keystore-Datei erstellen
Damit der Clientprozess dem Warteschlangenmanager vertrauen kann, muss das öffentliche Zertifikat heruntergeladen werden, das vom Warteschlangenmanager bereitgestellt wird.
Das öffentliche Zertifikat herunterladen
Mit den folgenden Schritten können Sie das öffentliche Zertifikat herunterladen und diesen Keystore erstellen.
-
Klicken Sie auf die Registerkarte Keystore und geben Sie das Zertifikat an, das mit "In use: Queue manager" ("In Verwendung: Warteschlangenmanager") gekennzeichnet ist (standardmäßig ist dies qmgrcert_yyyymm).

Eine Schlüsselspeicherdatei im Format PKCS12 erstellen
Erstellen Sie einen Client-Keystore und kopieren Sie den öffentlichen Teil der Zertifikatskette des Warteschlangenmanagers in den Keystore.
-
Erstellen Sie mit dem Tool 'runmqakm' einen Client-Keystore.
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 -
Importieren Sie das Warteschlangenmanagerzertifikat in den Schlüsselspeicher (dies ist das qmgrcert, das Sie zuvor von der MQ on Cloud-Benutzeroberfläche heruntergeladen haben).
runmqakm -cert -add -db key.kdb -file qmgrcert_yyyymm.pem -label qmgrcert -stashed -type pkcs12 -format ascii -
Überprüfen Sie, ob Ihre Zertifikate hinzugefügt wurden.
runmqakm -cert -list -db key.kdb
Der obige Typparameter ist pkcs12. In einigen Beispielen wird die Verwendung von kdb vorgeschlagen, aber das daraus resultierende key.kdb ist für 'keytool' nicht lesbar. Daher wird für diese Übung pkcs12 bevorzugt.
Eine Schlüsselspeicherdatei im JKS-Format unter Windows und Linux erstellen
Erstellen Sie einen JKS-Keystore und kopieren Sie den öffentlichen Teil der Zertifikatskette des Warteschlangenmanagers in diesen Keystore.
-
Erstellen Sie einen Client-Keystore mit dem Tool '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 -
Importieren Sie das Warteschlangenmanagerzertifikat in den Schlüsselspeicher (dies ist das qmgrcert, das Sie zuvor von der MQ on Cloud-Benutzeroberfläche heruntergeladen haben).
ikeycmd -cert -add -db key.jks -file qmgrcert_yyyymm.pem -label qmgrcert -pw <your password> -
Überprüfen Sie, ob Ihre Zertifikate hinzugefügt wurden.
ikeycmd -cert -list -db key.jks
Eine Keystore-Datei im JKS-Format unter Mac OSX erstellen
Erstellen Sie einen JKS-Keystore und kopieren Sie den öffentlichen Teil der Zertifikatskette des Warteschlangenmanagers in diesen Keystore.
-
Erstellen Sie einen Client-Keystore und importieren Sie das Zertifikat.
keytool -importcert -file qmgrcert_yyyymm.pem -alias qmgrcert -keystore key.jks -storepass <your password> -
Überprüfen Sie, ob Ihre Zertifikate hinzugefügt wurden.
keytool -list -keystore key.jks -storepass <your password>
Nächste Schritte
Verwaltung sichern
Der nächste Schritt besteht darin, die Clientseite der Kommunikation so zu konfigurieren, dass sie dem Warteschlangenmanager-Zertifikat vertraut. Wählen Sie das Verwaltungstool, das Sie verwenden möchten, und folgen Sie den entsprechenden Anweisungen weiter unten.
Anwendungsverbindungen sichern
Der nächste Schritt besteht darin, Ihre Anwendungsverbindung so zu konfigurieren, dass sie beim Herstellen einer Verbindung zum Warteschlangenmanager die TLS-Verschlüsselung verwendet.