Wie erstellen wir TLS -Zertifikate neu und konfigurieren sie in der Prisma Cloud Compute Console?
Objective
Wir haben häufig Probleme festgestellt, bei denen TLS -Compute-Zertifikate aufgrund von Fehlern beim Generieren/Signieren von TLS -Zertifikaten nicht konfiguriert werden konnten. Daher soll dieser Artikel helfen und Erläuterungen zu den Schritten zum Generieren von Zertifikaten und zu ihrer konfigurieren in der Compute-Benutzeroberfläche liefern. Bitte beachten Sie, dass es sich bei diesen Zertifikaten um selbstsignierte Zertifizierungsstellen handelt, was bedeutet, dass sie nicht von einer anerkannten Zertifizierungsstelle signiert wurden. Daher werden sie Standard(-) nicht in Browsern installiert, weshalb möglicherweise die Warnung „Zertifikat nicht vertrauenswürdig“ angezeigt wird.
Environment
-
Prisma Cloud selbst gehostet
Procedure
- Firstly, in order to do all of these things, we need to have
opensslinstalled in our host.
Nachzubildende Zertifikate:
-
konsole-cert.pem
- Konsolenschlüssel.pem
Zielverzeichnis: /var/lib/twistlock/custom-certificates
Im Rahmen dieser Anleitung werden alle Dateien vor der Übertragung in die Zielverzeichnisse erstellt und in einem separaten Ordner abgelegt.
mkdir /var/lib/twistlock/certs-new cd /var/lib/twistlock/certs-new
- Voraussetzungen:
Um die Zertifikate zu signieren, müssen die von der Zertifizierungsstelle verwendeten Dateien erstellt werden:
- req_ca
- san.cnf
- extFile.ext
Den Dateiinhalt finden Sie in den folgenden Abschnitten:
- req_ca (CA Anforderungen)
echo "[ req ] default_bits = 4096 default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = req_ext prompt = no [ req_distinguished_name ] C=US ST=CA O=MyOrg, Inc. CN=rootCA [ req_ext ] basicConstraints = critical, CA:true" >req_ca
- Subject Alternative Name (san.cnf)
echo "[req] default_bits = 2048 distinguished_name = req_distinguished_name req_extensions = req_ext x509_extensions = x509_ext prompt = no [ x509_ext ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid,issuer [ req_distinguished_name ] C = US ST = CA O = MyOrg, Inc. CN = 10.180.29.195 [ req_ext ] basicConstraints = CA:FALSE keyUsage = digitalSignature, keyEncipherment subjectAltName = @alt_names [alt_names] IP.1 = 10.180.29.195 IP.2 = 127.0.0.1" >san.cnf
- extFile.ext
echo "[req] basicConstraints = CA:FALSE keyUsage = digitalSignature, keyEncipherment subjectAltName = @alt_names [alt_names] IP.1 = 10.180.29.195 IP.2 = 127.0.0.1"> extFile.ext
- Erstellen einer Zertifizierungsstelle
- Erstellen einer selbstsignierten CA:
Privaten Schlüssel für CA Zertifikat generieren
openssl genrsa -out MyCA-key.pem
Erstellen Sie ein selbstsigniertes CA Zertifikat mit dem obigen Schlüssel
openssl req -x509 -new -nodes -key MyCA-key.pem -sha256 -days 1825 -out MyCA-cert.pem -config req_ca
Jetzt haben wir unser eigenes CA Zertifikat , mit dem wir andere Zertifikat signieren
Erinnern
MyCA-key.pem Ist nur der private CA Schlüssel
MyCA-cert.pem ist das selbstsignierte CA Zertifikat mit MyCA-key.pem als privatem Schlüssel
- Verschlüsselung des Zertifikat
Privater Schlüssel zur Benutzer
openssl genrsa -out user-key.pem 2048
Erstellen einer Zertifikat
openssl req -new -config san.cnf -key user-key.pem -out user-request.pem
Jetzt haben wir unsere eigene Zertifikat , die mit unserem eigenen privaten Schlüssel für die Zertifikat Benutzer ist
- Signieren des Benutzer durch die CA Zertifikat
- Signieren Sie die Benutzer mit der erstellten CA (MyCA-cert.pem) und verwenden Sie dazu den erstellten privaten Schlüssel (MyCA-key.pem).
- Privater Schlüssel zur Benutzer
openssl x509 -req -in user-request.pem -CA MyCA-cert.pem -CAkey MyCA-key.pem -CAcreateserial -days 1825 -sha256 -extfile extFile.ext -extensions req -outform PEM -out user-cert.pem
- Erstellung aller benötigten Zertifikate für benutzerdefinierte Zertifikate
- HTTP Konsolenzertifikate:
- Privaten HTTPS Schlüssel erstellen (MyCA-key-https.pem)
openssl genrsa -out MyCA-key-https.pem
- Erstellen Sie ein HTTPS selbstsigniertes CA Zertifikat (MyCA-cert-https.pem) mit dem obigen Schlüssel
openssl req -x509 -new -nodes -key MyCA-key-https.pem -sha256 -days 1 -out MyCA-cert-https.pem -config req_ca
- Erstellen Sie einen privaten Konsolenschlüssel (console-key.pem).
openssl genrsa -out console-key.pem 2048
- Erstellen Sie ein Zertifikat (console-cert.pem) mit dem oben genannten privaten Schlüssel
openssl req -new -config san.cnf -key console-key.pem -out Benutzeranforderung.pem
openssl x509 -req -in user-request.pem - CA MyCA-cert-https.pem -CAkey MyCA-key-https.pem -CAcreateserial -days
1 -sha256 -extfile extFile.ext -extensions req -outform PEM -out console-cert.pem
chmod 777 Konsolenschlüssel.pem
- Twistlock-Konsolenkonfiguration für benutzerdefinierte Zertifikate
- Erstellen Sie einen Ordner mit benutzerdefinierten Zertifikaten:
mkdir /var/lib/twistlock/custom-certificates
- Kopieren oder verschieben Sie die erstellten Zertifikate in das Verzeichnis „custom-certificates“:
pwd ls -la cp * /var/lib/twistlock/custom-certificates/ ls -la /var/lib/twistlock/custom-certificates/
- Starten Sie die Docker-Konsole neu:
docker ps docker restart twistlock_console docker ps
- Überprüfen Sie die Zertifikate der Docker-Konsole
- Greifen Sie auf die Docker-Konsole zu und überprüfen Sie, ob tatsächlich ein Ordner mit benutzerdefinierten Zertifikaten vorhanden ist:
docker ps docker exec -ti <docker_console_container_id> bash ls -la /var/lib/twistlock/ ls -la /var/lib/twistlock/custom-certificates
- Benutzerdefiniertes Zertifikat in der Konsole prüfen
Gehen Sie zu Verwalten > Protokolle > Konsole, suchen Sie nach benutzerdefinierten Zertifikaten und suchen Sie nach Zertifikaten
Additional Information
Referenzdokumentation: