Comment recréer des certificats TLS et les configurer dans Prisma Cloud Compute Console ?
Objective
Nous avons souvent rencontré des problèmes où les certificats de calcul TLS ne peuvent pas être configurés en raison d'échecs dans le processus de génération/signature des certificats TLS . Par conséquent, cet article est destiné à aider et à clarifier les étapes impliquées dans la génération de certificats et la façon de les configurer dans l'interface utilisateur de calcul. Veuillez noter que ces certificats sont des autorités de certification auto-signées, ce qui signifie qu'ils ne sont pas signés par une autorité reconnue. Par conséquent, ils ne sont pas installés dans les navigateurs par par défaut, c'est pourquoi vous pouvez rencontrer un avertissement «certificat non approuvé ».
Environment
-
Prisma Cloud auto-hébergé
Procedure
- Firstly, in order to do all of these things, we need to have
opensslinstalled in our host.
Certificats à recréer :
-
console-cert.pem
- clé de console.pem
Répertoire cible : /var/lib/twistlock/custom-certificates
Pour les besoins de cette instruction, avant d’être transférés vers les répertoires cibles, tous les fichiers seront créés et stockés dans un dossier différent.
mkdir /var/lib/twistlock/certs-new cd /var/lib/twistlock/certs-new
- Prérequis :
Afin de signer les certificats, il est nécessaire de créer les fichiers utilisés par l'Autorité de Certification :
- req_ca
- san.cnf
- extFile.ext
Veuillez trouver le contenu du fichier dans les sections suivantes :
- req_ca (exigences CA )
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 (autre nom de l'objet - SAN) (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
- Création d'une autorité de certification
- Création d'une CA auto-signée :
Générer une clé privée pour le certificat CA
openssl genrsa -out MyCA-key.pem
Créez un certificat CA auto-signé à l'aide de la clé ci-dessus
openssl req -x509 -new -nodes -key MyCA-key.pem -sha256 -days 1825 -out MyCA-cert.pem -config req_ca
Nous avons maintenant notre propre certificat CA avec lequel nous signerons d’autres demandes de certificat
Souviens-toi
MyCA-key.pem est simplement la clé privée CA
MyCA-cert.pem est le certificat CA auto-signé utilisant MyCA-key.pem comme clé privée
- Cryptage du certificat utilisateur
Clé privée pour le cryptage du certificat utilisateur
openssl genrsa -out user-key.pem 2048
Créer une requête de certificat
openssl req -new -config san.cnf -key user-key.pem -out user-request.pem
Nous avons maintenant notre propre requête de certificat signée par notre propre clé privée pour le cryptage du certificat utilisateur
- Signature du certificat utilisateur par l'autorité CA
- Signez la requête de certificat utilisateur avec l' CA créée (MyCA-cert.pem) à l'aide de sa clé privée créée (MyCA-key.pem)
- Clé privée pour le cryptage du certificat utilisateur
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
- Création de tous les certificats nécessaires pour les certificats personnalisés
- Certificats de la console HTTP :
- Créer une clé privée HTTPS (MyCA-key-https.pem)
openssl genrsa -out MyCA-key-https.pem
- Créez un certificat CA auto-signé HTTPS (MyCA-cert-https.pem) à l'aide de la clé ci-dessus
openssl req -x509 -new -nodes -key MyCA-key-https.pem -sha256 -days 1 -out MyCA-cert-https.pem -config req_ca
- Créer une clé privée de console (console-key.pem)
openssl genrsa -out console-key.pem 2048
- Créez un certificat de console (console-cert.pem) en utilisant la clé privée ci-dessus
openssl req -new -config san.cnf -key console-key.pem -out user-request.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 touche-console.pem
- Configuration de la console Twistlock pour les certificats personnalisés
- Créer un dossier custom-certificates :
mkdir /var/lib/twistlock/custom-certificates
- Copiez ou déplacez les certificats créés dans le répertoire « custom-certificates » :
pwd ls -la cp * /var/lib/twistlock/custom-certificates/ ls -la /var/lib/twistlock/custom-certificates/
- Redémarrez la console Docker :
docker ps docker restart twistlock_console docker ps
- Vérifier les certificats de la console Docker
- Accédez à la console Docker et vérifiez qu’il existe bien un dossier avec des certificats personnalisés :
docker ps docker exec -ti <docker_console_container_id> bash ls -la /var/lib/twistlock/ ls -la /var/lib/twistlock/custom-certificates
- Vérification du certificat personnalisé dans la console
Accédez à Gérer > Journaux > Console, recherchez des certificats personnalisés et recherchez des certificats
Additional Information
Documentation de référence :