・Proxmoxのサーバ証明書をプライベート証明書に変更する手順を知りたい。
・具体的な手順を分かりやすく教えてほしい。
こういった疑問に答えます。
本記事の内容
- Proxmoxのサーバ証明書を社内のプライベートCAで署名したプライベート証明書に変更する手順
この記事を書いている私は、某SIerに勤務しながら、
WEB系エンジニア・インフラエンジニアに憧れて、プログラミングおよびインフラ技術の勉強をしています。
こういった私が、解説していきます。
私が実機で試したコマンドや画像を載せて書いています。
記事の信頼性担保に繋がると思います。
Proxmoxのサーバ証明書を社内のプライベートCAで署名したプライベート証明書に変更する手順
Proxmox7.4をインストールしてそのまま利用していると、
サーバ証明書の警告がブラウザに表示されてしまい、
気持ちが悪いので、社内プライベートCAで署名したプライベート証明書に変更することにしました。
手順①Proxmoxサーバで秘密鍵ファイルを作成
opensslは既にインストール済
root@sv-sirius:~# apt install openssl パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています... 完了 状態情報を読み取っています... 完了 openssl はすでに最新バージョン (1.1.1n-0+deb11u4) です。 アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
cd /etc/ssl/private
openssl genrsa -aes128 -out sv-sirius.key 2048
秘密鍵ファイルの作成
root@sv-sirius:/etc/ssl# cd /etc/ssl/private root@sv-sirius:/etc/ssl/private# openssl genrsa -aes128 -out sv-sirius.key 2048 Generating RSA private key, 2048 bit long modulus (2 primes) .................................+++++ ..............................................................+++++ e is 65537 (0x010001) Enter pass phrase for sv-sirius.key: ★★★パスフレーズ★★★ Verifying - Enter pass phrase for sv-sirius.key: ★★★パスフレーズ★★★
秘密鍵ファイルからパスフレーズを除去
root@sv-sirius:/etc/ssl/private# openssl rsa -in sv-sirius.key -out sv-sirius.key Enter pass phrase for sv-sirius.key: ★★★パスフレーズ★★★ writing RSA key
手順②署名要求ファイルを作成
openssl req -new -days 3650 -key sv-sirius.key -out sv-sirius.csr -addext 'subjectAltName = DNS:sv-sirius.planet.space.com,DNS:*.sv-sirius.planet.space.com'
root@sv-sirius:/etc/ssl/private# openssl req -new -days 3650 -key sv-sirius.key -out sv-sirius.csr -addext 'subjectAltName = DNS:sv-sirius.planet.space.com,DNS:*.sv-sirius.planet.space.com' Ignoring -days; not generating a certificate You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:JP ★国名★ State or Province Name (full name) [Some-State]:Tokyo ★都市名★ Locality Name (eg, city) []:Shinagawa-ku ★市町村名★ Organization Name (eg, company) [Internet Widgits Pty Ltd]:SIRIUS Inc. ★会社名★ Organizational Unit Name (eg, section) []:SIRIUS SYSTEM 2023 ★部門名★ Common Name (e.g. server FQDN or YOUR name) []:sv-sirius.planet.space.com ★サーバ名★ Email Address []:admin@sv-sirius.planet.space.com ★架空のメールアドレス★ Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: ★空のままEnter★ An optional company name []: ★空のままEnter★
出来上がった署名要求ファイルの中身を表示
openssl req -text < sv-sirius.csr
root@sv-sirius:/etc/ssl/private# openssl req -text < sv-sirius.csr Certificate Request: Data: Version: 1 (0x0) Subject: C = JP, ST = Tokyo, L = Shinagawa-ku, O = SIRIUS Inc., OU = SIRIUS SYSTEM 2023, CN = sv-sirius.planet.space.com, emailAddress = admin@sv-sirius.planet.space.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public-Key: (2048 bit) Modulus: 00:c9:38:bb:c6:7c:e6:04:10:df:70:a5:79:74:69: 中略 6b:b0:a7:4b:a7:17:cc:e4:dc:bb:99:aa:cd:e6:16: b8:e0:94:81:e7:a9:e0:4a:0c:7c:b6:46:61:66:5c: f2:d3 Exponent: 65537 (0x10001) Attributes: Requested Extensions: X509v3 Subject Alternative Name: DNS:sv-sirius.planet.space.com, DNS:*.sv-sirius.planet.space.com Signature Algorithm: sha256WithRSAEncryption 47:fb:4b:1f:f5:fe:01:db:29:0b:98:c5:dd:fc:b3:5f:e4:b9: 中略 cc:98:12:1d:6f:2c:2f:92:18:3b:59:b1:59:fb:52:94:cc:13: 90:2f:31:de -----BEGIN CERTIFICATE REQUEST----- MIIDWTCCAkECAQAwgb0xCzAJBgNVBAYTAkpQMQ4wDAYDVQQIDAVUb2t5bzEVMBMG 中略 F0gkaH92aT49JXCncTx2HbQlM0cF7hPMmBIdbywvkhg7WbFZ+1KUzBOQLzHe -----END CERTIFICATE REQUEST-----
手順③秘密鍵ファイルと署名要求ファイルをダウンロード
手順④プライベート中間CAサーバ側に秘密鍵ファイルと署名要求ファイルをアップロード
mkdir /etc/pki/interCA/sv-sirius
[root@SV-IXION ~]# mkdir /etc/pki/interCA/sv-sirius
cp /etc/pki/tls/openssl.cnf /etc/pki/tls/openssl-sv-sirius.cnf
[root@SV-IXION interCA]# cp /etc/pki/tls/openssl.cnf /etc/pki/tls/openssl-sv-sirius.cnf
手順⑤プライベート中間CAにて署名しサーバ証明書を発行
openssl ca -in /etc/pki/interCA/sv-sirius/sv-sirius.csr \
-out /etc/pki/interCA/sv-sirius/sv-sirius.crt \
-keyfile /etc/pki/interCA/private/interCA_key.pem \
-cert /etc/pki/interCA/interCA_cert.pem \
-config /etc/pki/tls/openssl-sv-sirius.cnf \
-policy policy_anything
[root@SV-IXION tls]# openssl ca -in /etc/pki/interCA/sv-sirius/sv-sirius.csr \ > -out /etc/pki/interCA/sv-sirius/sv-sirius.crt \ > -keyfile /etc/pki/interCA/private/interCA_key.pem \ > -cert /etc/pki/interCA/interCA_cert.pem \ > -config /etc/pki/tls/openssl-sv-sirius.cnf \ > -policy policy_anything Using configuration from /etc/pki/tls/openssl-sv-sirius.cnf Check that the request matches the signature Signature ok Certificate Details: Serial Number: 13 (0xd) Validity Not Before: Jun 9 09:43:08 2023 GMT Not After : Jun 8 09:43:08 2024 GMT Subject: countryName = JP stateOrProvinceName = Tokyo localityName = Shinagawa-ku organizationName = SIRIUS Inc. organizationalUnitName = SIRIUS SYSTEM 2023 commonName = sv-sirius.planet.space.com emailAddress = admin@sv-sirius.planet.space.com X509v3 extensions: X509v3 Basic Constraints: critical CA:FALSE Netscape Cert Type: SSL Server X509v3 Key Usage: critical Digital Signature X509v3 Extended Key Usage: TLS Web Server Authentication, TLS Web Client Authentication Netscape Comment: OpenSSL Generated Certificate X509v3 Subject Key Identifier: 72:D1:05:30:A3:BB:71:D9:9F:4D:89:11:93:9F:12:B7:F5:EB:4E:01 X509v3 Authority Key Identifier: keyid:18:35:2E:96:D7:6A:E6:3E:AB:84:4D:0E:58:42:9D:92:65:19:3D:05 X509v3 Subject Alternative Name: DNS:*.sv-sirius.planet.space.com, DNS:sv-sirius.planet.space.com Certificate is to be certified until Jun 8 09:43:08 2024 GMT (365 days) Sign the certificate? [y/n]:y ★yで応答★ 1 out of 1 certificate requests certified, commit? [y/n]y ★yで応答★ Write out database with 1 new entries Data Base Updated
出来上がったサーバ証明書をダウンロード
手順⑥Proxmoxのコンソール画面からカスタム証明書をアップロード
手順⑦ブラウザを再起動して確認
やったぜ!