Apstraサーバーを初めて起動すると、一意の自己署名証明書が自動的に生成され、Apstraサーバーの次の場所 /etc/aos/nginx.conf.d
に保存されます(nginx.crt
はWebサーバーの公開鍵で、 nginx.key
は秘密鍵です)。この認定書は、ApstraサーバーとREST APIの暗号化に使用されます。内部デバイスとサーバー間の接続用ではありません。システムのバックアップ時に HTTPS 証明書は保持されないため、フォルダーを手動で etc/aos
バックアップする必要があります。既定の SSL 証明書を置き換えることをお勧めします。Web サーバー証明書の管理は、エンド ユーザーの責任です。ジュニパーのサポートはベストエフォート型です。
- 既存の OpenSSL キーをバックアップします。
admin@aos-server:/$ sudo -s
[sudo] password for admin:
root@aos-server:/# cd /etc/aos/nginx.conf.d
root@aos-server:/etc/aos/nginx.conf.d# cp nginx.crt nginx.crt.old
root@aos-server:/etc/aos/nginx.conf.d# cp nginx.key nginx.key.old
- 組み込みの openssl コマンドを使用して、新しい OpenSSL 秘密キーを作成します。
root@aos-server:/etc/aos/nginx.conf.d# openssl genrsa -out nginx.key 2048
Generating RSA private key, 2048 bit long modulus
.............+++
......+++
e is 65537 (0x10001)
注意:
ファイル名はnginx.key
変更nginx.crt
しないでください。これらは でnginx.conf
参照されます。その後のサービスアップグレードの一環として、これらのファイルは置き換えられる可能性があるため、ファイル名は予測可能である必要があります。
また、 の構成 nginx.conf
は変更しないでください。このファイルはApstraサーバーのアップグレード時に置き換えられる可能性があり、加えた変更は破棄されるからです。
- 証明書署名要求を作成します。ApstraサーバーのHTTPSサービス用に、主観的な代替名(SAN)を使用して署名付きSSL証明書を作成する場合は、OpenSSLテンプレートを手動で作成する必要があります。詳細については、ジュニパーサポートナレッジベース記事KB37299を参照してください。
注意:
高度な証明書要求用にカスタム OpenSSL 構成ファイルを作成した場合は、Nginx 構成フォルダーに残さないでください。起動時に、Nginxはそれら(*.conf)をロードしようとし、サービス障害を引き起こします。
root@aos-server:/etc/aos/nginx.conf.d# openssl req -new -sha256 -key nginx.key -out nginx.csr
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]:US
State or Province Name (full name) [Some-State]:California
Locality Name (eg, city) []:Menlo Park
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Apstra, Inc
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:aos-server.apstra.com
Email Address []:support@apstra.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
- 証明書署名要求 (nginx.csr) を証明機関に送信します。必要な手順は、このドキュメントの範囲外です。CA の命令は実装ごとに異なります。有効なSSL証明書はすべて機能します。次の例は、証明書の自己署名用です。
root@aos-server:/etc/aos/nginx.conf.d# openssl req -x509 -sha256 -days 3650 -key nginx.key -in nginx.csr -out nginx.crt
root@aos-server:/etc/aos/nginx.conf.d#
- SSL 証明書 (秘密キー、公開キー、および CSR) が一致していることを確認します。
root@aos-server:/etc/aos/nginx.conf.d# openssl rsa -noout -modulus -in nginx.key | openssl md5
(stdin)= 60ac4532a708c98d70fee0dbcaab1e75
root@aos-server:/etc/aos/nginx.conf.d# openssl req -noout -modulus -in nginx.csr | openssl md5
(stdin)= 60ac4532a708c98d70fee0dbcaab1e75
root@aos-server:/etc/aos/nginx.conf.d# openssl x509 -noout -modulus -in nginx.crt | openssl md5
(stdin)= 60ac4532a708c98d70fee0dbcaab1e75
- 新しい証明書をロードするには、nginx コンテナを再起動します。
root@aos-server:/etc/aos/nginx.conf.d# docker restart aos_nginx_1
aos_nginx_1
root@aos-server:/etc/aos/nginx.conf.d
- 新しい証明書が Web ブラウザーにあり、新しい証明書の共通名が 'aos-server.apstra.com' と一致することを確認します。