Remarque : Les commandes de cet article sont destinées UNIQUEMENT à être utilisées avec un cluster Isilon. Il n’est pas destiné à être utilisé avec un serveur Linux externe.
Remarque : Isilon ne renouvelle pas automatiquement le certificat. Il doit être renouvelé manuellement en suivant les étapes décrites dans cet article dans un cluster Isilon.
Introduction
Cet article explique comment remplacer ou renouveler le certificat SSL (Secure Sockets Layer) pour l’interface d’administration Web Isilon. Les procédures suivantes incluent des options permettant d’effectuer un remplacement ou un renouvellement de certificat auto-signé, ou de demander un remplacement ou un renouvellement SSL auprès d’une autorité de certification (CA).
Outils ou compétences requis
Pour effectuer cette tâche, vous devez disposer de l’URL permettant d’accéder à l’interface d’administration Web Isilon. (Les exemples donnés dans cet article utilisent
https://isilon.example.com:8080/
.) Vous devez également être à l’aise avec l’exécution de commandes depuis l’interface de ligne de commande.
Prérequis
Informations de
référenceLes listes suivantes incluent les emplacements par défaut du
server.crt
et
server.key
fichiers dans OneFS 7.0.x et OneFS 8.0.0.
x. Dans les procédures qui suivent, mettez à jour les étapes pour faire correspondre ces informations à la version de OneFS installée.
OneFS 7.0.x et versions ultérieures
/usr/local/apache24/conf/ssl.crt/server.crt
/usr/local/apache24/conf/ssl.key/server.key
OneFS 8.0.1.x et versions supérieures
- Obtenez la liste des certificats en exécutant la commande ci-dessous :
isi certificate server list
- Enregistrez une sauvegarde du certificat et de la clé d’origine (uniquement pour OneFS 7.0.x à 8.0.0.x).
- Ouvrez une connexion SSH sur n’importe quel nœud du cluster et connectez-vous à l’aide du compte « root ».
- Exécutez les commandes suivantes pour créer un emplacement de sauvegarde et enregistrer la clé et le certificat d’origine :
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
Procédure
Créez un répertoire de travail local.
mkdir /ifs/local
cd /ifs/local
Vérifiez si vous souhaitez renouveler un certificat existant ou si vous souhaitez créer un certificat à partir de zéro.
- Renouveler un certificat auto-signé existant.
Cela crée un certificat de renouvellement basé sur l’existant (stock) ssl.key
. Exécutez la commande suivante pour créer un certificat de deux ans : Augmentez ou diminuez la valeur de -days afin de générer un certificat avec une date d’expiration différente :
cp /usr/local/apache2/conf/ssl.key/server.key ./ ; openssl req -new -days 730 -nodes -x509 -key server.key -out server.crt
Répondez aux invites du système de façon à terminer le processus de génération d’un certificat SSL auto-signé, en saisissant les informations adéquates selon votre organisation.
Par exemple :
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
Une fois la saisie des informations terminée, le server.csr
et server.key
fichiers apparaissent dans le répertoire /ifs/local directory
.
- (Facultatif) Vérifiez l’intégrité et les attributs du certificat :
openssl x509 -text -noout -in server.crt
Reportez-vous à la section Ajouter le certificat au cluster de cet article après cette étape.
- Créer un certificat et une clé.
Cette procédure montre comment créer une nouvelle clé privée et un nouveau certificat SSL. Exécutez la commande suivante pour créer un RSA 2048-bit
Clé privée :
openssl genrsa -out server.key 2048
Créez une demande de signature de certificat :
openssl req -new -nodes -key server.key -out server.csr
Saisissez les informations appropriées pour votre organisation.
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 []:
- (Facultatif) Générez une CSR à destination d’une autorité de certification incluant des noms alternatifs d’objet. Si un DNS supplémentaire est nécessaire, il peut être ajouté en utilisant une virgule (,) Par exemple : 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"))
À l’invite, saisissez les informations à intégrer dans la demande de certificat. Une fois la saisie des informations terminée, le server.csr
et server.key
fichiers apparaissent dans le répertoire /ifs/local directory
.
Vérifiez si vous souhaitez auto-signer le certificat ou le faire signer par une autorité de certification (AC).
- Auto-signer le certificat SSL.
Pour auto-signer le certificat avec la clé, exécutez la commande ci-dessous, qui a pour effet de créer un nouveau certificat auto-signé valide pendant une durée de 2 ans :
openssl x509 -req -days 730 -in server.csr -signkey server.key -out server.crt
Vérifiez que la clé correspond au certificat. Les deux commandes doivent renvoyer la même valeur md5 :
openssl x509 -noout -modulus -in server.crt | openssl md5
openssl rsa -noout -modulus -in server.key | openssl md5
Reportez-vous à la section Ajouter le certificat au cluster de cet article après cette étape.
- Demander à une autorité de certification de signer le certificat.
Si une autorité de certification signe le certificat, assurez-vous que le nouveau certificat SSL est au format x509 et inclut l’ensemble de la chaîne d’approbation du certificat.
Il est courant que l’autorité de certification renvoie le nouveau certificat SSL, le certificat intermédiaire et le certificat racine dans des fichiers distincts.
Si l’autorité de certification l’a fait, vous DEVEZ créer manuellement le certificat au format PEM.
L’ordre est important lors de la création du certificat au format PEM. Votre certificat doit se trouver en haut du fichier, suivi des certificats intermédiaires, et le certificat racine doit se trouver en bas.
Voici un exemple de ce à quoi ressemble le fichier au format 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-----
Un moyen simple de créer le fichier au format PEM à partir de l’interface de ligne de commande consiste à catégoriser les fichiers (n’oubliez pas que l’ordre des fichiers est important) :
cat CA_signed.crt intermediate.crt root.crt > onefs_pem_formatted.crt
Copiez le fichier onefs_pem_formatted.crt
fichier à /ifs/local directory
et renommez-le en server.crt
.
Remarque : Si vous recevez un fichier .cer, renommez-le avec une extension .crt.
- (Facultatif) Vérifiez l’intégrité et les attributs du certificat :
openssl x509 -text -noout -in server.crt
Ajoutez le certificat au cluster :
Pour OneFS 7.0.x à 8.0.1.x :
- Installez le nouveau certificat et la nouvelle clé sur chaque nœud :
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
- S’il existe un certificat obsolète ou inutilisé, supprimez-le une fois la mise à niveau vers 8.0 terminée. Suivez les instructions de l’étape 5 sous OneFS 8.0.1.x et versions ultérieures.
Pour OneFS 8.0.1.x et versions ultérieures :
- Importez le nouveau certificat et la nouvelle clé dans le système :
isi certificate server import /ifs/local/server.crt /ifs/local/server.key
- Vérifiez que le certificat a bien été importé :
isi certificate server list -v
- Définissez le certificat importé comme certificat par défaut :
- Pour OneFS 8.0 et 8.1, la commande est la suivante :
isi certificate server modify --id=<id_of_cert_to_set_as_default> --default
- Pour OneFS 8.2 et versions ultérieures, la commande est la suivante :
isi certificate settings modify --default-https-certificate=<id_of_cert_to_set_as_default>
- Utilisez la commande ci-dessous pour confirmer que le certificat importé est utilisé comme certificat par défaut en vérifiant que l’état indique « Default HTTPS Certificate » :
isi certificate settings view
- S’il existe un certificat inutilisé ou obsolète, supprimez-le à l’aide de la commande :
isi certificate server delete --id=<id_of_cert_to_delete>
- Affichez le nouveau certificat importé à l’aide de la commande suivante :
isi certificate server view --id=<id_of_cert>
Remarque : les ports 8081 et 8083 utilisent encore le certificat du répertoire local pour le SSL. Suivez les étapes ci-dessous si vous souhaitez utiliser les nouveaux certificats pour les ports 8081 et 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
Vérification
Il existe deux méthodes permettant de vérifier le certificat SSL mis à jour.
- À partir d’un navigateur Web :
- Accédez à
https://<common name>:8080
, où <le nom> commun est le nom d’hôte utilisé pour accéder à l’interface d’administration Web Isilon. Par exemple : isilon.example.com
- Affichez les détails de sécurité de la page Web. Les étapes à suivre varient selon le navigateur. Dans certains navigateurs, cliquez sur l’icône de cadenas dans la barre d’adresse pour afficher les détails de sécurité de la page Web.
- Dans les détails de sécurité de la page Web, vérifiez que la ligne d’objet et les autres détails sont corrects. Un résultat similaire à ce qui suit s’affiche où <votreétat>, <votreville> et <votre entreprise> sont l’état, la ville et le nom de votre organisation :
Subject: C=US, ST=<yourstate>, L=<yourcity>, O=<yourcompany>, CN=isilon.example.com/emailAddress=support@example.com
- À partir d’une ligne de commande :
- Ouvrez une connexion SSH sur n’importe quel nœud du cluster et connectez-vous à l’aide du compte « root ».
- Exécutez la commande suivante :
echo QUIT | openssl s_client -connect localhost:8080
- Un résultat similaire à ce qui suit s’affiche, où <votre état>, <votre ville> et <votre entreprise> sont l’état, la ville et le nom de votre organisation :
Subject: C=US, ST=<yourstate>, L=<yourcity>, O=<yourcompany>, CN=isilon.example.com/emailAddress=support@example.com