Cuando arranca el servidor de Apstra por primera vez, se genera automáticamente un certificado autofirmado único que 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 de Apstra y la API de REST. No es para ninguna conectividad interna dispositivo-servidor. Dado que el certificado HTTPS no se conserva al realizar una copia de seguridad del sistema, debe realizar manualmente una copia de seguridad de la etc/aos
carpeta. Se recomienda 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.
- Realice una 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 openssl integrado.
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)
CAUTELA:
No modifique ni nginx.key
los nginx.crt
nombres de archivo. Se hace referencia 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 puede reemplazarse durante la actualización del servidor de Apstra y cualquier cambio que realice se descartará.
- Cree una solicitud de firma de certificado. Si desea crear un certificado SSL firmado con un nombre alternativo subjetivo (SAN) para el servicio HTTPS del servidor de Apstra, debe crear manualmente una plantilla de OpenSSL. Para obtener más información, consulte el artículo KB37299 de la Base de conocimientos de soporte de Juniper.
CAUTELA:
Si ha creado archivos de configuración OpenSSL personalizados para solicitudes de certificado avanzadas, no los deje en la carpeta de configuración de Nginx. En el inicio, Nginx intentará cargarlos (* .conf), causando una falla del 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. Cualquier certificado SSL válido funcionará. El siguiente ejemplo es para autofirmar el 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#
- Compruebe que los certificados SSL coinciden: 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 está en su navegador web y que el nuevo nombre común del certificado coincide con "aos-server.apstra.com".