Cuando se inicia el servidor de Apstra por primera vez, se genera automáticamente un certificado único autofirmado y se almacena en el servidor de Apstra en /etc/aos/nginx.conf.d
(nginx.crt
es la clave pública del servidor web y nginx.key
es la clave privada.) El certificado se utiliza para cifrar el servidor Apstra y la API de REST. No es para ninguna conectividad interna dispositivo-servidor. Dado que el certificado HTTPS no se conserva al hacer una copia de seguridad del sistema, debe hacer una copia de seguridad manualmente de la etc/aos
carpeta. Recomendamos reemplazar el certificado SSL predeterminado. La administración de certificados del servidor web es responsabilidad del usuario final. El soporte de Juniper es solo el mejor esfuerzo.
- Copia de seguridad de las claves OpenSSL existentes.
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
- Cree una nueva clave privada OpenSSL con el comando integrado 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)
PRECAUCIÓN:
No modifiques nginx.crt
ni nginx.key
nombres de archivo. Se refieren a ellos en nginx.conf
. Como parte de las actualizaciones de servicio posteriores, estos archivos podrían reemplazarse, por lo que los nombres de archivo deben ser predecibles.
Además, no cambie la configuración en nginx.conf
, ya que este archivo se puede reemplazar durante la actualización del servidor de Apstra y cualquier cambio que realice se descartaría.
- Cree una solicitud de firma de certificado. Si desea crear un certificado SSL firmado con un nombre alternativo subjetivo (SAN) para su servicio HTTPS del servidor Apstra, debe crear manualmente una plantilla OpenSSL. Para obtener más información, consulte el artículo KB37299 de la Base de conocimientos de soporte de Juniper.
PRECAUCIÓN:
Si creó archivos de configuración OpenSSL personalizados para solicitudes avanzadas de certificados, no los deje en la carpeta de configuración Nginx. Al inicio, Nginx intentará cargarlos (*.conf), provocando un error de servicio.
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 []:
- Envíe su solicitud de firma de certificado (nginx.csr) a su autoridad de certificación. Los pasos requeridos están fuera del alcance de este documento; Las instrucciones de CA difieren según la implementación. Funcionará cualquier certificado SSL válido. El siguiente ejemplo es para la firma autónoma del certificado.
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#
- Verifique que los certificados SSL coincidan: clave privada, clave pública y 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
- Para cargar el nuevo certificado, reinicie el contenedor 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
- Confirme que el nuevo certificado se encuentra en su navegador web y que el nombre común del nuevo certificado coincide con "aos-server.apstra.com".