TLS -Unterstützung in Federation Server für DRDA-Wrapper konfigurieren

Das Db2® Datenbanksystem unterstützt Transport Layer Security (TLS), was bedeutet, dass eine Db2 Client-Anwendung, die ebenfalls Transport Layer Security (TLS) unterstützt, über einen Transport Layer Security (TLS) -Socket eine Verbindung zu einer Db2 Datenbank herstellen kann.

Vorbereitende Schritte

  • Stellen Sie sicher, dass die Registrierdatenbankvariable DB2COMM aktualisiert wird.
    db2set -i db2inst1 DB2COMM=SSL
  • Stellen Sie sicher, dass sowohl TCP/IP-als auch TLS -Übertragungsprotokolle aktiviert werden.
    db2set -i db2inst1 DB2COMM=SSL,TCPIP
    Anmerkung: Geben Sie unterschiedliche Service-Ports für TLS und TCPIP an.
  • Stellen Sie sicher, dass die TLS -Verbindung auf der Datenquellenseite aktiviert ist. Weitere Informationen finden Sie unter TLS-Konfiguration von Db2. Nachstehend finden Sie einige wichtige Konfigurationsparameter:
    • SSL_SVR_KEYDB
    • SSL_SVR_STASH
    • SSL_SVR_LABEL
    • SSL_SVCENAME

Prozedur

So konfigurieren Sie die TLS -Unterstützung in einem Föderationsserver:

  1. Verschaffen Sie sich das Unterzeichnerzertifikat des digitalen Serverzertifikats auf dem Client. Bei demServerzertifikat kann es sich um ein selbst signiertesZertifikat oder ein von einer Zertifizierungsstelle (CA) unterzeichnetes Zertifikat handeln.
    • Wenn Ihr Serverzertifikat ein selbst signiertes Zertifikat ist, müssen Sie das zugehörige Unterzeichnerzertifikat in eine Datei auf dem Servercomputer extrahieren und dann an Computer verteilen, auf denen Clients ausgeführt werden, die TLS -Verbindungen zu diesem Server herstellen. Siehe TLS-Konfiguration von Db2 für Informationen über das Extrahieren des Zertifikats in eine Datei.
    • Wenn das Serverzertifikat von einer anerkannten Zertifizierungsstelleunterzeichnet ist, ist das CA-Zertifikat, mit dem das Serverzertifikat unterzeichnetwurde, möglicherweisebereits in derSchlüsseldatenbank des Clients vorhanden. Ist dies nicht der Fall, müssenSie das CA-Zertifikat abrufen. Wenden Sie sich an die Website der Zertifizierungsstelle.
  2. Verwenden Sie auf dem Db2 -Clientsystem das Tool GSKCapiCmd , um eine Schlüsseldatenbank des Typs CMS zu erstellen.
    Das Tool GSKCapiCmd ist ein nicht auf Java basierendes Befehlszeilentool (Java™ muss nicht auf Ihrem System installiert sein, um dieses Tool verwenden zu können.

    Sie rufen GSKCapiCmd mit dem Befehl gskcapicmd auf, wie im GSKCapiCmd beschrieben. Der Pfad für den Befehl lautet sqllib/gskit/bin unter Linux® -und UNIX-Betriebssystemen und C:\Program Files\IBM\GSK8\bin unter 32 -Bit-und 64-Bit-Windows-Betriebssystemen. (Unter 64-Bit-Betriebssystemen sind auch die ausführbaren Dateien und Bibliotheken von IBM Global Security Kit (GSKit) (32 Bit) vorhanden. In diesem Fall lautet der Pfad für den Befehl C:\Program Files (x86)\IBM\GSK8\bin.)

    Mit dem folgenden Befehl werden beispielsweise eine Schlüsseldatenbank mit dem Namen mydbclient.kdb und eine Stashdatei mit dem Namen mydbclient.sth erstellt:
    gsk8capicmd_64 -keydb -create -db "mydbclient.kdb" -pw "myClientPassw0rdpw0" 
          -stash

    Die Option -stash erstellt eine Stashdatei im gleichen Pfad wie die Schlüsseldatenbank mit der Dateierweiterung .sth. Beim Herstellen der VerbindungverwendetGSKit die Stashdatei zum Abrufen des Kennworts für die Schlüsseldatenbank.

  3. Fügen Sie das Unterzeichnerzertifikat zur Client-Schlüsseldatenbank hinzu.
    .
    Der folgende gsk8capicmd-Befehl importiert beispielsweise das Zertifikat aus der Datei mydbserver.arm in die Schlüsseldatenbank mit dem Namen mydbclient.kdb:
    gsk8capicmd_64 -cert -add -db "mydbclient.kdb" -pw "myClientPassw0rdpw0" 
          -label "dbselfsigned" -file "mydbserver.arm" -format ascii -fips
  4. Gehen Sie wie folgt vor, um mithilfe von mydbclient.kdb und mydbclient.stheine Verbindung zur Datenquelle herzustellen:
    1. Konfigurieren Sie den Federation Server und starten Sie ihn.
    2. Führen Sie den Befehl CREATE SERVER aus.
      create server SERVERNAME type TYPE version Version_Number wrapper drda authorization "uid" password "password" options(host remote_host, port port, dbname 'database', ssl_keystore '/path_to_keystore/mydbclient.kdb', ssl_keystash '/path_to_keystash/mydbclient.sth', password 'Y', pushdown 'Y'
    3. Führen Sie den Befehl CREATE USER MAPPING aus.
      create user mapping for user server SERVERNAME options(remote_authid 'remote_userid',remote_password 'remote_password')
      If everything goes fine, now you are connect to data source using TLS. You can check it on server side by issue command
      netstat -anp | grep server_ssl_listen_port
      Die Verbindung zur Datenquelle wird mit TLShergestellt. Führen Sie den folgenden Befehl aus, um die Verbindung auf der Serverseite zu prüfen.
      netstat -anp | grep server_ssl_listen_port
      Wenn der Status des TLS -Empfangsports des Servers 'ESTABLISHED' lautet, ist die Verbindung hergestellt.
  5. Führen Sie den folgenden Befehl aus, um die Verbindung zu der Datenquelle ausschließlich mithilfe des Unterzeichnerzertifikats des Servers herzustellen:
    create server SERVERNAME type TYPE version Version_Number wrapper drda authorization "uid" password "password" options(host remote_host, port port, dbname 'database', ssl_servercertificate '/path_to_keystore/mydbserver.arm', password 'Y', pushdown 'Y'