¿Cómo recreamos certificados TLS y los configurar en Prisma Cloud Compute Console?
Objective
Con frecuencia nos hemos encontrado con problemas en los que no se pueden configurar los certificados de cómputo TLS debido a fallas en el proceso de generación/firma de certificados TLS . Por lo tanto, este artículo tiene como objetivo ayudar y brindar aclaraciones sobre los pasos involucrados en la generación de certificados y cómo configurar en la IU de cómputo. Tenga en cuenta que estos certificados son CA autofirmadas, lo que significa que no están firmados por una autoridad reconocida. En consecuencia, no se instalan en los navegadores de forma valor predeterminado, por lo que puede aparecer una advertencia de "certificado no confiable".
Environment
-
Prisma Cloud alojado por cuenta propia
Procedure
- Firstly, in order to do all of these things, we need to have
opensslinstalled in our host.
Certificados para recrear:
-
consola-cert.pem
- tecla de consola.pem
Directorio de destino: /var/lib/twistlock/custom-certificates
Para los fines de esta instrucción, antes de ser transferidos a los directorios de destino, todos los archivos serán creados y almacenados en una carpeta diferente.
mkdir /var/lib/twistlock/certs-new cd /var/lib/twistlock/certs-new
- Prerrequisitos:
Para poder firmar los certificados es necesario crear los archivos que utiliza la Autoridad Certificadora:
- requisito_ca
- san.cnf
- ArchivoExt.ext
Encuentre el contenido del archivo en las siguientes secciones:
- req_ca (Requisitos de 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 (Nombre alternativo del asunto - 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
- ArchivoExt.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
- Creación de una autoridad de certificación
- Creación de una CA autofirmada:
Generar clave privada para certificado CA
openssl genrsa -out MyCA-key.pem
Cree un certificado CA autofirmado utilizando la clave anterior
openssl req -x509 -new -nodes -key MyCA-key.pem -sha256 -days 1825 -out MyCA-cert.pem -config req_ca
Ahora tenemos nuestro propio certificado CA con el que firmaremos otras solicitudes de certificado .
Recordar
MyCA-key.pem es solo la clave privada de CA
MyCA-cert.pem es el certificado CA autofirmado que utiliza MyCA-key.pem como clave privada
- Cifrado de certificado de usuario
Clave privada para el cifrado del certificado de usuario
openssl genrsa -out user-key.pem 2048
Crear una solicitud de certificado
openssl req -new -config san.cnf -key user-key.pem -out user-request.pem
Ahora tenemos nuestra propia solicitud de certificado firmada con nuestra propia clave privada para el cifrado del certificado de usuario .
- Firma del certificado de usuario por parte de la autoridad CA
- Firmar la solicitud de certificado de usuario con la CA creada (MyCA-cert.pem) utilizando su clave privada creada (MyCA-key.pem)
- Clave privada para el cifrado del certificado de usuario
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
- Creación de todos los certificados necesarios para Certificados Personalizados
- Certificados de consola HTTP :
- Crear una clave privada HTTPS (MyCA-key-https.pem)
openssl genrsa -out MyCA-key-https.pem
- Cree un certificado CA autofirmado HTTPS (MyCA-cert-https.pem) utilizando la clave anterior
openssl req -x509 -new -nodes -key MyCA-key-https.pem -sha256 -days 1 -out MyCA-cert-https.pem -config req_ca
- Crear una clave privada de consola (console-key.pem)
openssl genrsa -out console-key.pem 2048
- Cree un certificado de consola (console-cert.pem) utilizando la clave privada anterior
openssl req -new -config san.cnf -key clave-consola.pem -out solicitud-usuario.pem
openssl x509 -req -in solicitud-usuario.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 tecla de consola.pem
- Configuración de la consola Twistlock para certificados personalizados
- Crear una carpeta de certificados personalizados:
mkdir /var/lib/twistlock/custom-certificates
- Copie o mueva los certificados creados al directorio "custom-certificates":
pwd ls -la cp * /var/lib/twistlock/custom-certificates/ ls -la /var/lib/twistlock/custom-certificates/
- Reiniciar la consola Docker:
docker ps docker restart twistlock_console docker ps
- Comprobar los certificados de la consola Docker
- Accede a la consola de Docker y comprueba que efectivamente existe una carpeta con certificados personalizados:
docker ps docker exec -ti <docker_console_container_id> bash ls -la /var/lib/twistlock/ ls -la /var/lib/twistlock/custom-certificates
- Comprobación de un certificado personalizado en la consola
Vaya a Administrar > Registros > Consola, busque Certificados personalizados y busque certificados.
Additional Information
Documentación de referencia: