SSL-Zertifikat für eine sichere Datenbankverbindung erstellen und aktivieren

Informationen zu dieser Task

SSL/TLS schützt den Transport von Informationen zwischen einem Client (in diesem Fall Ihr Webserver) und einem Server (in diesem Fall Ihr Datenbankserver) vor Manipulationen und Abhören durch jeden, der sich in dem dazwischen liegenden Netzwerk befindet (einschließlich der Möglichkeit, auf diese beiden Rechner zu gelangen). Um zu beurteilen, ob SSL nützlich ist, müssen Sie davon ausgehen, dass der Angreifer in der Lage ist, den Angriff auszuführen, gegen den SSL Sie schützen soll. Das heißt, der Angreifer müsste in der Lage sein, Pakete im Netz oder auf beiden Maschinen auszuspionieren.

Wichtig: Wenn Sie Ihre eigenen Zertifikate verwenden, stellen Sie sicher, dass der Parameter für den privaten Schlüssel kein Passwort enthält. Passwort-aktivierte private Schlüssel werden nicht unterstützt.

Vorgehensweise

  1. Erstellen Sie eine CA-Autorität.
    1. openssl genrsa -out CAKey.pem 2048
    2. openssl req -new -x509 -days 365 -key CAKey.pem -sha512 -out cacert.pem
  2. Erstellen Sie ein Serverzertifikat.
    Führen Sie die Befehle aus und befolgen Sie die Laufzeitanweisungen:
    1. openssl genrsa -aes256 -out svr-key.pem 2048
    2. openssl req -new -key svr-key.pem -out server.csr 
    3. openssl x509 -req -days 365 -in server.csr -CA cacert.pem -CAkey CAKey.pem -set_serial 00001 -sha512 -out server-cert.pem
  3. Entfernen Sie das Passwort aus " server-private key.
    openssl rsa -in svr-key.pem -out server-key.pem
    Hinweis: Wenn Sie Ihre eigenen Zertifikate verwenden, müssen Sie das Passwort für " server-private key entfernen.
  4. Überprüfen Sie die Änderungen.
    1. openssl x509 -in cacert.pem -text -noout
    2. openssl x509 -in server-cert.pem -text -noout
  5. Ändern Sie Verzeichnisse.
    cd /nz/kit/share/security
  6. Kopieren Sie die Dateien " server-cert.pem und " server-key.pem nach " /nz/kit/share/security und führen Sie die folgenden Befehle aus.
    • Für 11.0.7.1 und höher:
      1. mv server-cert-sp800-131a.pem.sample server-cert-sp800-131a.pem.sample.BKP
      2. mv server-key-sp800-131a.pem.sample server-key-sp800-131a.pem.sample.BKP
      3. mv server-cert.pem server-cert-sp800-131a.pem.sample
      4. mv server-key.pem server-key-sp800-131a.pem.sample
    • Für 11.0.7.0 oder niedriger ohne ' enable_tls_v12:
      1. mv server-key.pem.sample server-key.pem.sample.BKP
      2. mv server-cert.pem.sample server-cert.pem.sample.BKP
      3. mv server-key.pem server-key.pem.sample
      4. mv server-cert.pem server-cert.pem.sample
    • Für 11.0.7.0 oder niedriger mit ' enable_crypto_std_v1 =1:
      1. mv server-cert-sp800-131a.pem.sample server-cert-sp800-131a.pem.sample.BKP
      2. mv server-key-sp800-131a.pem.sample server-key-sp800-131a.pem.sample.BKP
      3. mv server-cert.pem server-cert-sp800-131a.pem.sample
      4. mv server-key.pem server-key-sp800-131a.pem.sample
  7. Das System erneut starten.
    1. nzstop
    2. nzstart
  8. Überprüfen Sie die Änderungen.
    1. Ändern Sie die Verzeichnisse in " /nz/data/security.
      cd /nz/data/security
    2. openssl x509 -in server-cert.pem -text -noout
    3. Führen Sie den Befehl ' nzsql aus:
      nzsql -u admin -pw password -securityLevel onlySecured
      Beispiel:
      nz@netezza01 ?]$ nzsql -u admin -p password -securityLevel onlySecured
      Welcome to nzsql, the IBM Netezza SQL interactive terminal. 
      
      Type: \h for help with SQL commands 
      \? for help on internal slash commands 
      \g or terminate with semicolon to execute query 
      \q to quit 
      
      SSL enabled connection. Cipher: AES256-SHA, bits: 256 
      SSL enabled connection. Cipher:AES256-SHA, bits: 256gibt an, dass Sie die richtige SSL-Kommunikation verwenden.
    4. Suchen Sie den folgenden Eintrag in " postgres/pg.log.
      DEBUG: Attempting SSL_accept() 
      DEBUG: SSL_accept succeeded
    5. Richten Sie unter Windows die Verbindung mit der Option "SSL Mode" = "Require" ein.