Nota: I comandi di questo articolo sono destinati ESCLUSIVAMENTE all'utilizzo con un Isilon Cluster. Non è destinato all'utilizzo con un server Linux esterno.
Nota: Isilon non rinnova automaticamente il certificato. Deve essere rinnovato manualmente seguendo la procedura descritta in questo articolo in un Isilon Cluster.
Introduzione
Questo articolo spiega come sostituire o rinnovare il certificato SSL (Secure Sockets Layer) per l'interfaccia di amministrazione web di Isilon. Le seguenti procedure includono opzioni per completare la sostituzione o il rinnovo di un certificato autofirmato o per richiedere una sostituzione o un rinnovo di un certificato SSL a una CA.
Strumenti o competenze richiesti
Per completare questa attività, è necessario disporre dell'URL per l'accesso all'interfaccia di amministrazione web di Isilon. (Negli esempi di questo articolo vengono utilizzati
https://isilon.example.com:8080/
). È inoltre opportuno essere in grado di eseguire i comandi dalla riga di comando.
Prerequisiti
Informazioni di
riferimentoGli elenchi seguenti includono le posizioni predefinite per
server.crt
e
server.key
file in OneFS 7.0.x e OneFS 8.0.0.
x. Nelle procedure che seguono, aggiornare i passaggi in modo che corrispondano a queste informazioni per la versione di OneFS installata.
OneFS 7.0.x e versioni successive
/usr/local/apache24/conf/ssl.crt/server.crt
- Chiave del certificato SSL:
/usr/local/apache24/conf/ssl.key/server.key
OneFS 8.0.1.x e versioni successive
- Ottenere l'elenco dei certificati eseguendo il comando riportato di seguito:
isi certificate server list
- Salvare un backup del certificato e della chiave originali (solo per OneFS da 7.0.x a 8.0.0.x).
- Aprire una connessione SSH a qualsiasi nodo nel cluster e accedere utilizzando l'account "root".
- Eseguire i seguenti comandi per creare un percorso di backup e salvare la chiave e il certificato originali:
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
Procedura
Creare una directory di lavoro locale.
mkdir /ifs/local
cd /ifs/local
Verificare se si desidera rinnovare un certificato esistente o se si desidera creare un certificato da zero.
- Rinnovare un certificato autofirmato esistente.
In questo modo viene creato un certificato di rinnovo basato sul certificato esistente (stock) ssl.key
. Eseguire il seguente comando per creare un certificato di due anni: Aumentare o diminuire il valore di -days per generare un certificato con una data di scadenza diversa:
cp /usr/local/apache2/conf/ssl.key/server.key ./ ; openssl req -new -days 730 -nodes -x509 -key server.key -out server.crt
Rispondere ai prompt di sistema per completare il processo di generazione di un certificato SSL autofirmato, inserendo le informazioni appropriate per l'organizzazione.
Ad esempio:
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
Al termine dell'inserimento delle informazioni, il server.csr
e server.key
I file vengono visualizzati nella cartella /ifs/local directory
.
- (Opzionale) Verificare l'integrità e gli attributi del certificato:
openssl x509 -text -noout -in server.crt
Dopo questo passaggio, passare alla sezione Aggiunta del certificato al cluster di questo articolo.
- Creare un certificato e una chiave.
Questa procedura mostra come creare una nuova chiave privata e un nuovo certificato SSL. Eseguire il seguente comando per creare un RSA 2048-bit
Chiave privata:
openssl genrsa -out server.key 2048
Creare una richiesta di firma del certificato:
openssl req -new -nodes -key server.key -out server.csr
Immettere le informazioni appropriate per l'organizzazione.
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 []:
- (Opzionale) Generare una CSR per una CA che includa nomi di oggetto alternativi. Se è necessario un DNS aggiuntivo, è possibile aggiungerlo utilizzando una virgola (,) Ad esempio: 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"))
Quando richiesto, digitare le informazioni da incorporare nella richiesta del certificato. Al termine dell'inserimento delle informazioni, il server.csr
e server.key
I file vengono visualizzati nella cartella /ifs/local directory
.
Verificare se si desidera autofirmare il certificato o farlo firmare da un autorità di certificazione (CA).
- Firmare autonomamente il certificato SSL.
Per firmare autonomamente il certificato con la chiave, eseguire il comando riportato di seguito che crea un nuovo certificato autofirmato valido per 2 anni:
openssl x509 -req -days 730 -in server.csr -signkey server.key -out server.crt
Verificare che la chiave corrisponda al certificato; entrambi i comandi devono restituire lo stesso valore md5:
openssl x509 -noout -modulus -in server.crt | openssl md5
openssl rsa -noout -modulus -in server.key | openssl md5
Dopo questo passaggio, passare alla sezione Aggiunta del certificato al cluster di questo articolo.
- Far firmare il certificato tramite una CA.
Se una CA firma il certificato, assicurarsi che il nuovo certificato SSL sia in formato x509 e includa l'intera catena di attendibilità del certificato.
È comune che la CA restituisca il nuovo certificato SSL, il certificato intermedio e il certificato root in file separati.
Se la CA ha eseguito questa operazione, è NECESSARIO creare manualmente il certificato in formato PEM.
L'ordine è importante quando si crea il certificato in formato PEM. Il certificato deve essere all'inizio del file, seguito dai certificati intermedi e il certificato radice deve essere alla fine.
Di seguito è riportato un esempio dell'aspetto del file formattato 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 modo semplice per creare il file formattato PEM dalla CLI consiste nel cat i file (tenere presente che l'ordine dei file è importante):
cat CA_signed.crt intermediate.crt root.crt > onefs_pem_formatted.crt
Copiare il file onefs_pem_formatted.crt
in /ifs/local directory
e rinominarlo in server.crt
.
Nota: Se viene ricevuto un file di .cer, rinominarlo con un'estensione .crt.
- (Opzionale) Verificare l'integrità e gli attributi del certificato:
openssl x509 -text -noout -in server.crt
Aggiungere il certificato al cluster:
Da OneFS 7.0.x a 8.0.1.x:
- Installare il nuovo certificato e la nuova chiave su ciascun 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
- Se è presente un certificato obsoleto o inutilizzato, eliminarlo una volta completato l'aggiornamento alla versione 8.0. Utilizzare le indicazioni riportate nel passaggio 5 in OneFS 8.0.1.x e versioni successive.
Per OneFS 8.0.1.x e versioni successive:
- Importare il nuovo certificato e la nuova chiave nel sistema:
isi certificate server import /ifs/local/server.crt /ifs/local/server.key
- Verificare che il certificato sia stato importato correttamente:
isi certificate server list -v
- Impostare il certificato importato come predefinito:
- Per OneFS 8.0 e 8.1, il comando è:
isi certificate server modify --id=<id_of_cert_to_set_as_default> --default
- Per OneFS 8.2 e versioni successive, il comando è:
isi certificate settings modify --default-https-certificate=<id_of_cert_to_set_as_default>
- Utilizzare il comando riportato di seguito per verificare che il certificato importato venga utilizzato come predefinito verificando lo stato di "Default HTTPS Certificate":
isi certificate settings view
- Se è presente un certificato inutilizzato o obsoleto, eliminarlo con il comando:
isi certificate server delete --id=<id_of_cert_to_delete>
- Visualizzare il nuovo certificato importato con il comando:
isi certificate server view --id=<id_of_cert>
Nota: le porte 8081 e 8083 utilizzano il certificato della directory locale per SSL. Seguire la procedura riportata di seguito se si desidera utilizzare i nuovi certificati per le porte 8081 e 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
Verifica
Esistono due metodi per verificare il certificato SSL aggiornato.
- Accedere a
https://<common name>:8080
, dove <nome> comune è il nome host utilizzato per accedere all'interfaccia di amministrazione web di Isilon. Esempio: isilon.example.com
- Visualizzare i dettagli di sicurezza per la pagina web. La procedura per eseguire questa operazione varia in base al browser. In alcuni browser, cliccare sull'icona del lucchetto nella barra degli indirizzi per visualizzare i dettagli di sicurezza per la pagina web.
- Nei dettagli di sicurezza della pagina web, verificare che la riga dell'oggetto e altri dettagli siano corretti. Viene visualizzato un output simile al seguente in cui <yourstate>, <yourcity> e <your company> sono lo stato, la città e il nome dell'organizzazione:
Subject: C=US, ST=<yourstate>, L=<yourcity>, O=<yourcompany>, CN=isilon.example.com/emailAddress=support@example.com
- Aprire una connessione SSH a qualsiasi nodo nel cluster e accedere utilizzando l'account "root".
- Eseguire il seguente comando:
echo QUIT | openssl s_client -connect localhost:8080
- Viene visualizzato un output simile al seguente, dove <yourstate>, <yourcity> e <your company> sono lo stato, la città e il nome dell'organizzazione:
Subject: C=US, ST=<yourstate>, L=<yourcity>, O=<yourcompany>, CN=isilon.example.com/emailAddress=support@example.com