Lorsque vous démarrez le serveur Apstra pour la première fois, un certificat unique auto-signé est automatiquement généré et stocké sur le serveur Apstra à l’adresse /user/root/etc/aos/nginx.conf.d. nginx.crt ( est la clé publique du serveur web et nginx.key est la clé privée.) Le certificat est utilisé pour chiffrer le serveur Apstra et l’API REST. Il ne s’agit pas d’une connectivité appareil-serveur interne. Étant donné que le certificat HTTPS n’est pas conservé lorsque vous sauvegardez le système, vous devez sauvegarder manuellement le /user/root/etc/aos dossier. Nous vous recommandons de remplacer le certificat SSL par défaut. La gestion des certificats des serveurs Web incombe à l’utilisateur final. L’assistance Juniper est un effort optimal.
- Sauvegardez les clés OpenSSL existantes.
admin@aos-server:/$ sudo -s
[sudo] password for admin:
root@aos-server:/# cd /user/root/etc/aos/nginx.conf.d
root@aos-server:/user/root/etc/aos/nginx.conf.d# cp nginx.crt nginx.crt.old
root@aos-server:/user/root/etc/aos/nginx.conf.d# cp nginx.key nginx.key.old
- Créez une nouvelle clé privée OpenSSL avec la commande openssl intégrée.
root@aos-server:/user/root/etc/aos/nginx.conf.d# openssl genrsa -out nginx.key 2048
Generating RSA private key, 2048 bit long modulus
.............+++
......+++
e is 65537 (0x10001)
MISE EN GARDE :
Ne modifiez nginx.crt pas les noms de nginx.key fichiers. Ils sont mentionnés dans nginx.conf. Dans le cadre de mises à niveau ultérieures du service, ces fichiers peuvent être remplacés, de sorte que les noms de fichiers doivent être prévisibles.
Ne modifiez pas non plus la configuration dans nginx.conf, car ce fichier peut être remplacé lors de la mise à niveau du serveur Apstra et toutes les modifications que vous apportez seront ignorées.
- Créez une demande de signature de certificat. Si vous souhaitez créer un certificat SSL signé avec un autre nom subjectif (SAN) pour votre service HTTPS de serveur Apstra, vous devez créer manuellement un modèle OpenSSL. Pour plus de détails, voir Juniper’article KB37299 de la base de connaissances du support.
MISE EN GARDE :
Si vous avez créé des fichiers de configuration OpenSSL personnalisés pour les demandes de certificats avancées, ne les laissez pas dans le dossier de configuration Nginx. Au démarrage, Nginx tentera de les charger (*.conf), provoquant un échec du service.
root@aos-server:/user/root/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 []:
- Envoyez votre demande de signature de certificat (nginx.csr) à votre autorité de certification. Les étapes requises dépassent le champ d’application du présent document ; Les instructions de l’AC diffèrent selon l’implémentation. Tout certificat SSL valide fonctionnera. L’exemple ci-dessous permet de signer automatiquement le certificat.
root@aos-server:/user/root/etc/aos/nginx.conf.d# openssl req -x509 -sha256 -days 3650 -key nginx.key -in nginx.csr -out nginx.crt
- Vérifiez que les certificats SSL correspondent à : clé privée, clé publique et CSR.
root@aos-server:/user/root/etc/aos/nginx.conf.d#
root@aos-server:/user/root/etc/aos/nginx.conf.d# openssl rsa -noout -modulus -in nginx.key | openssl md5
MD5(stdin)= 9fcf1058a5cba9a734d155d71a4ba9f5
root@aos-server:/user/root/etc/aos/nginx.conf.d# openssl req -noout -modulus -in nginx.csr | openssl md5
MD5(stdin)= 9fcf1058a5cba9a734d155d71a4ba9f5
root@aos-server:/user/root/etc/aos/nginx.conf.d# openssl x509 -noout -modulus -in nginx.crt | openssl md5
MD5(stdin)= 9fcf1058a5cba9a734d155d71a4ba9f5
- Pour charger le nouveau certificat, redémarrez le conteneur 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
- Vérifiez que le nouveau certificat se trouve dans votre navigateur Web et que le nom commun du nouveau certificat correspond à « aos-server.apstra.com ».