我们如何重新创建TLS证书并在 Prisma Cloud Compute Console 中配置它们?

我们如何重新创建TLS证书并在 Prisma Cloud Compute Console 中配置它们?

5913
Created On 09/19/23 08:57 AM - Last Modified 01/03/25 05:14 AM


Objective


我们经常遇到由于生成/签署TLS证书过程中出现故障而无法配置TLS计算证书的问题。因此,本文旨在协助并阐明生成证书所涉及的步骤以及如何在 Compute UI 中配置它们。请注意,这些证书是自签名 CA,这意味着它们不是由公认的机构签名的。因此,默认下它们不会安装在浏览器中,这就是您可能会遇到“证书不受信任”警告的原因。

Environment


  • Prisma Cloud 自托管



Procedure


  1. Firstly, in order to do all of these things, we need to have openssl installed in our host.

    image.png

要重新创建的证书:

  • 控制台证书.pem

  • 控制台密钥.pem

目标目录: /var/lib/tistlock/custom-certificates

为了实现本指令的目的,在传输到目标目录之前,所有文件都将被创建并存储在不同的文件夹中。

mkdir /var/lib/twistlock/certs-new
cd /var/lib/twistlock/certs-new
  1. 先决条件:

为了签署证书,必须创建证书颁发机构使用的文件:

  • 请求者
  • SAN配置文件
  • 扩展文件.ext

请在以下部分查找文件内容:

  • req_ca(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(使用者备用名称-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

  • 扩展文件.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

  1. 创建证书颁发机构
  • 创建自签名CA:

生成CA证书的私钥

openssl genrsa -out MyCA-key.pem

使用上面的密钥创建自签名CA证书

openssl req -x509 -new -nodes -key MyCA-key.pem -sha256 -days 1825 -out MyCA-cert.pem -config req_ca

现在我们有了自己的CA证书,我们可以用它来签署其他证书请求

记住

MyCA-key.pem 只是CA私钥
MyCA-cert.pem 是使用 MyCA-key.pem 作为私钥的自签名CA证书

  1. 用户证书加密

用户证书加密的私钥

openssl genrsa -out user-key.pem 2048

创建证书请求

openssl req -new -config san.cnf -key user-key.pem -out user-request.pem

现在我们有了自己的证书请求,用自己的私钥签名,用于用户证书加密

  1. 由CA机构签署用户证书
  • 使用创建的CA (MyCA-cert.pem)及其创建的私钥(MyCA-key.pem)签署用户证书请求
  • 用户证书加密的私钥
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
  1. 创建自定义证书所需的所有证书
  • HTTP控制台证书:
  • 创建HTTPS私钥(MyCA-key-https.pem)
openssl genrsa -out MyCA-key-https.pem

  • 使用上面的密钥创建HTTPS自签名CA证书(MyCA-cert-https.pem)
openssl req -x509 -new -nodes -key MyCA-key-https.pem -sha256 -days 1 -out MyCA-cert-https.pem -config req_ca

  • 创建控制台私钥(console-key.pem)
openssl genrsa -out console-key.pem 2048
  • 使用上面的私钥创建控制台证书(console-cert.pem)

openssl req -new -config san.cnf -key console-key.pem -out 用户请求.pem
openssl x509 -req -in 用户请求.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 控制台密钥.pem

  1. 自定义证书的 Twistlock 控制台配置
  • 创建文件夹 custom-certificates:
mkdir /var/lib/twistlock/custom-certificates
  • 将创建的证书复制或移动到“custom-certificates”目录:
pwd
ls -la
cp * /var/lib/twistlock/custom-certificates/
ls -la /var/lib/twistlock/custom-certificates/
  • 重新启动docker控制台:
docker ps
docker restart twistlock_console
docker ps
  1. 检查 docker 控制台证书
  • 访问docker控制台并检查确实有一个包含自定义证书的文件夹:
docker ps
docker exec -ti <docker_console_container_id> bash
ls -la /var/lib/twistlock/
ls -la /var/lib/twistlock/custom-certificates
  1. 在控制台中检查自定义证书

转到管理 > 日志 > 控制台,搜索自定义证书,然后搜索证书

image.png



Additional Information


参考文档:

Actions
  • Print
  • Copy Link

    https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA14u000000XgYECA0&lang=zh_CN&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail

Choose Language