自己署名証明書の置き換え
外部アクセス用の自己署名証明書をPKCS証明書で置き換える
ブラウザからマネージャーへの外部アクセスやコントローラーへのREST API用に使用されるビルトインの自己署名証明書は、サポートされているPKCS証明書に置き換えることができます。これらは、マネージャーとコントローラーの両方のデプロイメントで置き換える必要があります。注意:コントローラー、エンフォーサー、スキャナー間の内部通信用に含まれている証明書を置き換えるには、このセクションを参照してください。
SUSE® Securityウェブコンソールは、PKCS8(プライベートキー情報構文標準)とPKCS1(RSA暗号標準)の2種類の自己署名証明書タイプをサポートしています。 自己署名証明書は、これらのPKCSタイプのいずれかに置き換えることができます。
以下に、PKCSメソッドのいずれかを使用して生成されたキーと証明書からSUSE® Securityのウェブコンソールで使用されるシークレットを生成する手順を示します。 ここでの重要な注意点は、キーと証明書の作成中に代替サブジェクト名パラメータの一部としてDNSのワイルドカードを使用することで、選択した名前を管理コンソールのIPアドレスにマッピングできるようになり、特定のCNに制限されないことです。
自己署名証明書PKCS8またはPKCS1を生成して使用する
-
キーと証明書を作成する
-
PKCS8
-
PKCS1
openssl req -x509 -nodes -days 730 -newkey rsa:2048 -keyout tls.key -out tls.pem -config ca.cfg -extensions 'v3_req' Sample ca.cfg [req] distinguished_name = req_distinguished_name x509_extensions = v3_req prompt = no [req_distinguished_name] C = US ST = California L = San Jose O = {product-name} Inc. OU = Neuvector CN = Neuvector [v3_req] keyUsage = keyEncipherment, dataEncipherment extendedKeyUsage = serverAuth subjectAltName = @alt_names [alt_names] DNS.1 = *openssl genrsa -out tls.key 2048 openssl req -x509 -nodes -days 730 -config openssl.cnf -new -key tls.key -out tls.pem Sample openssl.cnf [req] distinguished_name = req_distinguished_name x509_extensions = v3_req prompt = no [req_distinguished_name] C = US ST = California L = San Jose O = {product-name} Inc. OU = Neuvector CN = Neuvector(PKCS#1) [v3_req] keyUsage = keyEncipherment, dataEncipherment extendedKeyUsage = serverAuth subjectAltName = @alt_names [alt_names] DNS.1 = * -
-
上記の生成されたキーと証明書ファイルからシークレットを作成する
kubectl create secret generic https-cert -n neuvector --from-file=tls.key --from-file=tls.pem -
マネージャーとコントローラーのデプロイメントのためにyamlを直接編集してマウントを追加する
spec: template: spec: containers: volumeMounts: - mountPath: /etc/neuvector/certs/ssl-cert.key name: cert readOnly: true subPath: tls.key - mountPath: /etc/neuvector/certs/ssl-cert.pem name: cert readOnly: true subPath: tls.pem volumes: - name: cert secret: defaultMode: 420 secretName: https-certまたは、同様のvalues.yamlでhelmチャートを更新する
manager: certificate: secret: https-cert keyFile: tls.key pemFile: tls.pem ingress: enabled: true host: %CHANGE_HOST_NAME% ingressClassName: "" path: "/" # or this could be "/api", but might need "rewrite-target" annotation annotations: ingress.kubernetes.io/protocol: https tls: true secretName: https-cert controller: certificate: secret: https-cert keyFile: tls.key pemFile: tls.pem次に、`helm upgrade -i neuvector …`で更新します。参考までに、すべての値は https://github.com/neuvector/neuvector-helm/tree/master/charts/core.に記載されています。