Nota: Los comandos de este artículo están destinados SOLO para su uso con un clúster Isilon. No está diseñado para su uso con un servidor Linux externo.
Nota: Isilon no renueva automáticamente el certificado. Se debe renovar manualmente siguiendo los pasos que se indican en este artículo en un clúster Isilon.
Introducción
En este artículo, se explica cómo reemplazar o renovar el certificado de capa de sockets seguros (SSL) para la interfaz de administración web de Isilon. Los siguientes procedimientos incluyen opciones para completar un reemplazo o una renovación de certificado autofirmado, o bien para solicitar un reemplazo o una renovación SSL de una autoridad de certificación (CA).
Herramientas o habilidades requeridas
Para completar esta tarea, debe tener la URL para acceder a la interfaz de administración web de Isilon. (En los ejemplos de este artículo, se usa
https://isilon.example.com:8080/
.) También debe sentirse cómodo ejecutando comandos desde la línea de comandos.
Requisitos
Información de referencia
Las siguientes listas incluyen las ubicaciones predeterminadas para el
server.crt
y
server.key
en OneFS 7.0.x y OneFS 8.0.0.
x. En los procedimientos que se indican a continuación, actualice los pasos para que coincidan con esta información para la versión de OneFS instalada.
OneFS 7.0.x y versiones posteriores
/usr/local/apache24/conf/ssl.crt/server.crt
- Clave de certificado SSL:
/usr/local/apache24/conf/ssl.key/server.key
OneFS 8.0.1.x y versiones posteriores
- Ejecute el siguiente comando para obtener la lista de certificados:
isi certificate server list
- Guarde un respaldo del certificado y la clave originales (solo para OneFS 7.0.x a 8.0.0.x).
- Abra una conexión SSH en cualquier nodo en el clúster e inicie sesión con la cuenta “raíz”.
- Ejecute los siguientes comandos para crear una ubicación de respaldo y guardar la clave y el certificado originales:
mkdir -p /ifs/data/Isilon_Support/original_ssl_backup
cp /usr/local/apache24/conf/ssl.crt/server.crt /ifs/data/Isilon_Support/original_ssl_backup
cp /usr/local/apache24/conf/ssl.key/server.key /ifs/data/Isilon_Support/original_ssl_backup
Procedimiento
Cree un directorio de trabajo local.
mkdir /ifs/local
cd /ifs/local
Verifique si desea renovar un certificado existente o si desea crear un certificado desde cero.
- Renovar un certificado autofirmado existente.
Esto crea un certificado de renovación que se basa en el existente (existencias) ssl.key
. Ejecute el siguiente comando para crear un certificado de dos años. Aumente o disminuya el valor -days para generar un certificado con una fecha de vencimiento diferente:
cp /usr/local/apache2/conf/ssl.key/server.key ./ ; openssl req -new -days 730 -nodes -x509 -key server.key -out server.crt
Responda las peticiones del sistema para completar el proceso a fin de generar un certificado SSL autofirmado e ingrese la información correspondiente para su empresa.
Por ejemplo:
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:Washington
Locality Name (eg, city) []:Seattle
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Isilon
Organizational Unit Name (eg, section) []:Support
Common Name (e.g. server FQDN or YOUR name) []:isilon.example.com
Email Address []:support@example.com
Cuando haya terminado de ingresar la información, el server.csr
y server.key
Los archivos aparecen en el archivo /ifs/local directory
.
- (Opcional) Verifique la integridad y los atributos del certificado:
openssl x509 -text -noout -in server.crt
Vaya a la sección Agregar el certificado al clúster de este artículo después de este paso.
- Crear un certificado y una clave.
En este procedimiento, se muestra cómo crear una clave privada y un certificado SSL nuevos. Ejecute el siguiente comando para crear un RSA 2048-bit
Clave privada:
openssl genrsa -out server.key 2048
Cree una solicitud de firma de certificado:
openssl req -new -nodes -key server.key -out server.csr
Ingrese la información adecuada para su organización.
Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
- (Opcional) Genere una CSR para una autoridad de certificación que incluya nombres alternativos de sujeto. Si se necesita un DNS adicional, se puede agregar mediante una coma (,). Por ejemplo: DNS:example.com,DNS:www.example.com)
openssl req -new -nodes -key server.key -out server.csr -reqexts SAN -config <(cat /etc/ssl/openssl.cnf <(printf "[SAN]\nsubjectAltName=DNS:example.com"))
Cuando se le solicite, escriba la información que se incorporará en la solicitud de certificado. Cuando haya terminado de ingresar la información, el server.csr
y server.key
Los archivos aparecen en el archivo /ifs/local directory
.
Verifique si desea firmar automáticamente el certificado o hacer que lo firme una autoridad de certificación (CA).
- Autofirmar el certificado SSL.
Para autofirmar el certificado con la clave, ejecute el siguiente comando que crea un nuevo certificado autofirmado válido por 2 años:
openssl x509 -req -days 730 -in server.csr -signkey server.key -out server.crt
Verifique que la clave coincida con el certificado. Ambos comandos deben devolver el mismo valor md5:
openssl x509 -noout -modulus -in server.crt | openssl md5
openssl rsa -noout -modulus -in server.key | openssl md5
Vaya a la sección Agregar el certificado al clúster de este artículo después de este paso.
- Obtener una CA para firmar el certificado.
Si una CA firma el certificado, asegúrese de que el nuevo certificado SSL tenga el formato x509 e incluya toda la cadena de confianza del certificado.
Es común que la CA devuelva el nuevo certificado SSL, el certificado intermedio y el certificado raíz en archivos separados.
Si la CA ha hecho esto, DEBE crear manualmente el certificado con formato PEM.
El orden es importante al crear el certificado con formato PEM. El certificado debe estar en la parte superior del archivo, seguido de los certificados intermedios, y el certificado raíz debe estar en la parte inferior.
A continuación, se muestra un ejemplo de cómo se ve el archivo con formato PEM:
-----BEGIN CERTIFICATE-----
<The contents of your new TLS certificate>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<The contents of the intermediate certificate>
<Repeat as necessary for every intermediate certificate provided by your CA>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<The contents of the root certificate file>
-----END CERTIFICATE-----
Una manera sencilla de crear el archivo con formato PEM desde la CLI es catar los archivos (recuerde, el orden de los archivos importa):
cat CA_signed.crt intermediate.crt root.crt > onefs_pem_formatted.crt
Copie el archivo onefs_pem_formatted.crt
Enviar un archivo a /ifs/local directory
y cámbiele el nombre a server.crt
.
Nota: Si se recibe un archivo .cer, cámbiele el nombre a una extensión .crt.
- (Opcional) Verifique la integridad y los atributos del certificado:
openssl x509 -text -noout -in server.crt
Agregue el certificado al clúster:
De OneFS 7.0.x a 8.0.1.x:
- Instale el certificado y la clave nuevos en cada nodo:
isi services -a isi_webui disable
chmod 640 server.key
chmod 640 server.crt
isi_for_array -s 'cp /ifs/local/server.key /usr/local/apache2/conf/ssl.key/server.key'
isi_for_array -s 'cp /ifs/local/server.crt /usr/local/apache2/conf/ssl.crt/server.crt'
isi services -a isi_webui enable
- Si hay un certificado obsoleto o no utilizado, elimínelo una vez que se complete la actualización a 8.0. Siga las instrucciones del paso 5 en OneFS 8.0.1.x y versiones posteriores.
Para OneFS 8.0.1.x y versiones posteriores:
- Importe el certificado y la clave nuevos al sistema:
isi certificate server import /ifs/local/server.crt /ifs/local/server.key
- Verifique que el certificado se haya importado correctamente:
isi certificate server list -v
- Configure el certificado importado como predeterminado:
- Para OneFS 8.0 y 8.1, el comando es:
isi certificate server modify --id=<id_of_cert_to_set_as_default> --default
- Para OneFS 8.2 y versiones posteriores, el comando es:
isi certificate settings modify --default-https-certificate=<id_of_cert_to_set_as_default>
- Use el siguiente comando para confirmar que el certificado importado se está utilizando como predeterminado mediante la verificación del estado del “Certificado HTTPS predeterminado”:
isi certificate settings view
- Si hay un certificado no utilizado u obsoleto, elimínelo con el comando:
isi certificate server delete --id=<id_of_cert_to_delete>
- Vea el nuevo certificado importado con el comando:
isi certificate server view --id=<id_of_cert>
Nota: Los puertos 8081 y 8083 aún utilizan el certificado del directorio local para SSL. Siga los pasos que se indican a continuación si desea utilizar los nuevos certificados para los puertos 8081 y 8083.
isi services -a isi_webui disable
chmod 640 server.key
chmod 640 server.crt
isi_for_array -s 'cp /ifs/local/server.key /usr/local/apache2/conf/ssl.key/server.key'
isi_for_array -s 'cp /ifs/local/server.crt /usr/local/apache2/conf/ssl.crt/server.crt'
isi services -a isi_webui enable
Verificación
Existen dos métodos para verificar el certificado SSL actualizado.
- Navegue a
https://<common name>:8080
, donde <el nombre> común es el nombre de host que se utiliza para acceder a la interfaz de administración web de Isilon. Por ejemplo: isilon.example.com
- Vea los detalles de seguridad de la página web. Los pasos para hacer esto varían según el navegador. En algunos navegadores, haga clic en el icono de candado en la barra de direcciones para ver los detalles de seguridad de la página web.
- En los detalles de seguridad de la página web, verifique que la línea de asunto y otros detalles sean correctos. Se muestra una salida similar a la siguiente, donde <suestado>, <tuciudad> y <su empresa> son el estado, la ciudad y el nombre de su organización:
Subject: C=US, ST=<yourstate>, L=<yourcity>, O=<yourcompany>, CN=isilon.example.com/emailAddress=support@example.com
- En una línea de comandos:
- Abra una conexión SSH en cualquier nodo en el clúster e inicie sesión con la cuenta “raíz”.
- Ejecute el siguiente comando:
echo QUIT | openssl s_client -connect localhost:8080
- Se muestra una salida similar a la siguiente, donde <suestado>, <tuciudad> y <su empresa> son el estado, la ciudad y el nombre de su organización:
Subject: C=US, ST=<yourstate>, L=<yourcity>, O=<yourcompany>, CN=isilon.example.com/emailAddress=support@example.com