IBM Cloud Docs
TLS-Sicherheit für MQ-Kanäle in MQ on Cloud aktivieren

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:

  1. Benutzername und Kennwort des Administratorbenutzers.
  2. Benutzername und Kennwort eines Anwendungsbenutzers.
  3. Die Zertifikatskette, die mit dem Warteschlangenmanager-Zertifikat endet, beginnend mit dem Zertifikat der Stammzertifizierungsstelle (CA).
  4. 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

  1. Öffnen Sie die MQ on Cloud-Servicekonsole und suchen Sie den Warteschlangenmanager.

  2. 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).

  3. 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.

  4. 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

  1. Navigieren Sie zur Registerkarte Verwaltung für Ihren Warteschlangenmanager. Abbildung der Registerkarte 'Verwaltung'

  2. Stellen Sie sicher, dass 'MQ-Konsole' ausgewählt ist, und klicken Sie anschließend auf MQ-Konsole starten.

  3. Klicken Sie im seitlichen Menü auf 'Verwalten', um Ihre MQ-Objekte anzuzeigen Abbildung der Registerkarte 'Verwalten' der Webkonsole

  4. Klicken Sie auf 'Kommunikation' und dann auf 'App-Kanäle'. Abbildung der Kanäle der Webkonsole

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

  6. Wählen Sie die Schaltfläche Bearbeiten aus Abbildung zur Auswahl der Kanalkonfiguration

  7. Wählen Sie ' SSL' aus und überprüfen Sie im Feld SSL-CipherSpec, ob der Wert ANY_TLS12_OR_HIGHER lautet. 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. Abbildung zur Eingabe der Verschlüsselungsspezifikation

  8. Klicken Sie auf Speichern.

  9. Wiederholen Sie die obigen Schritte für den Kanal CLOUD.APP.SVRCONN.

  10. Aktualisieren Sie jetzt die SSL-Sicherheit des Warteschlangenmanagers, wenn Sie einen der obigen Kanäle geändert haben:

    1. Wählen Sie auf der Seite des Warteschlangenmanagers Konfiguration aus. Abbildung der Eingabe der Verschlüsselungsspezifikation
    2. Wählen Sie die Registerkarte Sicherheit aus. Abbildung der Eingabe der Verschlüsselungsspezifikation
    3. Wählen Sie die drei Punkte und anschließend SSL aktualisieren aus. Abbildung zur Eingabe der Verschlüsselungsspezifikation
    4. Bestätigen Sie den Vorgang durch Klicken auf Aktualisieren.

Die Verschlüsselungsspezifikation ist jetzt konfiguriert.

Verwenden von MQ Explorer zum Ändern der Kanäle

  1. 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.

  2. In der Anzeige 'MQ Explorer - Navigator':

    1. Navigieren Sie zu Warteschlangenmanager, erweitern Sie Ihren Warteschlangenmanager und klicken Sie auf Kanäle.
    2. Führen Sie in der Anzeige Kanäle einen Doppelklick auf CLOUD.ADMIN.SVRCONN.
    3. Wählen Sie im Eigenschaftsfeld von CLOUD.ADMIN.SVRCONN SSL aus.
    4. Stellen Sie im Feld SSL-Cipher Spec: sicher, dass eine Verschlüsselungsspezifikation ausgewählt ist (ANY_TLS12_OR_HIGHER).
    5. Klicken Sie auf Anwenden und dann auf OK.
  3. Wiederholen Sie die obigen Schritte für den Kanal CLOUD.APP.SVRCONN.

    Abbildung der SSL-Spezifikation in MQ Explorer

  4. 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.

  5. 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

  1. 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.

  2. 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
    
  3. 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.

  1. 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).

    Abbildung zum Herunterladen des nicht hierarchischen Zertifikats

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.

  1. 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
    
  2. 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
    
  3. Ü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.

  1. 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
    
  2. 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>
    
  3. Ü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.

  1. Erstellen Sie einen Client-Keystore und importieren Sie das Zertifikat.

    keytool -importcert -file qmgrcert_yyyymm.pem  -alias qmgrcert  -keystore key.jks -storepass <your password>
    
  2. Ü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.