Generieren von Zertifikaten für das Setup des monitorlosen Browsers für Linux

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 2 Minuten Lesedauer
  • Generieren von TLS/SSL-Zertifikaten, um die Docker-REST-API zu sichern und HTTP-Anforderungen zu authentifizieren.

    Vorbereitungen

    Führen Sie die im Thema Setup des monitorlosen Browsers für Linux aufgeführten Voraussetzungen durch.

    Erforderliche Rolle: admin in Ihrer Instanz ServiceNow und lokaler Administrator auf dem Hostcomputer.

    Warum und wann dieser Vorgang ausgeführt wird

    Warnung:
    Rufen Sie Zertifizierungsstellenschlüssel von einer vertrauenswürdigen Zertifizierungsstelle ab.

    Wenn die Docker-API verfügbar gemacht wird, werden Anforderungen standardmäßig nicht authentifiziert, wodurch Ihr Hostcomputer angreifbar für Angriffe werden kann. Die Docker-API unterstützt jedoch die TLS-Authentifizierung, bei der Anforderungen anhand öffentlicher privater Schlüssel überprüft werden, die in der HTTPS-Verschlüsselung bereitgestellt werden. In diesem Schritt erstellen Sie die Schlüssel für den Server und den Client.

    Tipp:
    Damit Sie sich diese leichter merken können, geben Sie die folgenden Befehle in Ihr Linux-Terminal ein. Hinweis: Fügen Sie diese Umgebungsvariablen Ihrem Terminal-Profil nicht hinzu. Aus Sicherheitsgründen sollten sie nur für die Dauer der aktuellen Sitzung vorhanden sein.
    • PASSWORD=" exportieren<password to generate the certificates with> “
    • SERVERIP = exportieren<this server's IP address> “
    • HOSTNAME = exportieren<hostname of this server> “
    Weitere Informationen finden Sie unter TLS (HTTPS) zum Schutz des Docker-Daemon-Sockets verwenden.

    Prozedur

    1. Öffnen Sie eine Befehlszeile.
    2. Generieren Sie einen selbstsignierten Zertifizierungsstellenschlüssel, oder rufen Sie ein Schlüsselpaar von einer vertrauenswürdigen Zertifizierungsstelle ab.
      Die folgenden Befehle sind Beispiele. Beachten Sie, dass Ihre Konfiguration variieren kann.
      • openedssl genrsa -aes256 -passout pass:$PASSWORD -out ca-key.pem 4096
      • openedssl req -passin pass:$PASSWORD -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem
      • chmod 0400 ca-key.pem
      • chmod 0444 ca.pem
    3. Generieren Sie das Serverschlüsselpaar mit dem Schlüssel der Zertifizierungsstelle.
      Die folgenden Befehle sind Beispiele. Beachten Sie, dass Ihre Konfiguration variieren kann.
      • openedssl genrsa -out server-key.pem 4096
      • openedssl req -subj "/CN=$HOSTNAME" -new -key server-key.pem -out server.csr
      • echo "subjectAltName = DNS:$HOSTNAME,IP:$SERVERIP,IP:127.0.0.1" > extfile.cnf
      • openedssl x509 -passin pass:$PASSWORD -req -days 365 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem -extfile extfile.cnf
    4. Erstellen Sie das Client-Schlüsselpaar mit dem Schlüssel der Zertifizierungsstelle.
      Die folgenden Befehle sind Beispiele. Beachten Sie, dass Ihre Konfiguration variieren kann.
      • openedssl genrsa -out client-key.pem 4096
      • openedssl req -subj "/CN=$HOSTNAME" -new -key client-key.pem -out client.csr
      • echo "extendedKeyUsage = clientAuth" > extfile.cnf
      • openedssl x509 -passin pass:$PASSWORD -req -days 365 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out client-cert.pem -extfile extfile.cnf

      Jetzt haben Sie alle Ihre Verschlüsselungsschlüssel erstellt.

    5. Importieren Sie den öffentlichen Schlüssel der Zertifizierungsstelle und das Client-Schlüsselpaar in einen Java-Schlüsselspeicher.
      Die folgenden Befehle sind Beispiele. Beachten Sie, dass Ihre Konfiguration variieren kann.

      Erstellen Sie die Schlüsselspeicherdatei, und erstellen Sie ein Passwort dafür (und speichern Sie es zur späteren Verwendung): keytool -genkey -keyalg RSA -alias dse -keystore my.keystore

      Löschen Sie einen Standardeintrag aus der Schlüsselspeicherdatei: keytool -delete -alias dse -keystore my.keystore

      Importieren Sie den öffentlichen Schlüssel der Zertifizierungsstelle in den Schlüsselspeicher: keytool -import -keystore my.keystore -trustcacerts -alias ca -file ca.pem

      Importieren Sie das Client-Schlüsselpaar.
      Hinweis:
      Sie erstellen eine neue pkcs12-Schlüsselspeicherdatei und importieren das Schlüsselpaar in diese Datei. Kopieren Sie dann den Inhalt in Ihre ursprüngliche Schlüsselspeicherdatei.
      • openedssl pkcs12 -export -name clientkeypair -in client-cert.pem -inkey client-key.pem -out clientkeypair.p12
      • keytool -importkeystore -destkeystore my.keystore -srckeystore clientkeypair.p12 -srcstoretype pkcs12 -alias clientkeypair

      Nachdem Sie der Schlüsselspeicherdatei nun alle Zertifikate hinzugefügt haben, speichern Sie die Datei my.keystore für später, da sie in die Instanz ServiceNow hochgeladen wird. Denken Sie außerdem daran, sich das Passwort zu merken, das Sie bei der Aufforderung zum Erstellen der Schlüsselspeicherdatei eingegeben haben. müssen Sie dies in ein Formular in der Instanz ServiceNow eingeben.