Obs! Kommandona i den här artikeln är ENDAST avsedda för användning med ett Isilon Cluster. Den är inte avsedd att användas med en extern Linux-server.
Obs! Isilon förnyar inte certifikatet automatiskt. Det måste förnyas manuellt genom att följa stegen i den här artikeln i ett Isilon Cluster.
Introduktion
I den här artikeln beskrivs hur du byter ut eller förnyar SSL-certifikatet (Secure Sockets Layer) för Isilon-webbadministrationsgränssnittet. Följande procedurer omfattar alternativ för att slutföra en självsignerad certifikatersättning eller förnyelse, eller för att begära en SSL-ersättning eller -förnyelse från en certifikatutfärdare (CA).
Nödvändiga verktyg eller färdigheter
För att kunna utföra den här uppgiften måste du ha URL-adressen för åtkomst till Isilon-webbadministrationsgränssnittet. (I exemplen i den här artikeln används
https://isilon.example.com:8080/
.) Du bör också vara bekväm med att köra kommandon från kommandoraden.
Förutsättningar
Referensinformation
Följande listor innehåller standardplatserna för
server.crt
och
server.key
filer i OneFS 7.0.x och OneFS 8.0.0.
x. I procedurerna som följer uppdaterar du stegen så att de matchar den här informationen för den version av OneFS som är installerad.
OneFS 7.0.x och senare
/usr/local/apache24/conf/ssl.crt/server.crt
/usr/local/apache24/conf/ssl.key/server.key
OneFS 8.0.1.x och senare
- Hämta listan över certifikat genom att köra kommandot nedan:
isi certificate server list
- Spara en säkerhetskopia av det ursprungliga certifikatet och nyckeln (endast för OneFS 7.0.x till 8.0.0.x).
- Öppna en SSH-anslutning på en nod i klustret och logga in med ”rot”-kontot.
- Kör följande kommandon för att skapa en plats för säkerhetskopiering och spara den ursprungliga nyckeln och certifikatet:
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
Procedur
Skapa en lokal arbetskatalog.
mkdir /ifs/local
cd /ifs/local
Kontrollera om du vill förnya ett befintligt certifikat eller om du vill skapa ett certifikat från grunden.
- Förnya ett befintligt självsignerat certifikat.
Detta skapar ett förnyelsecertifikat som baseras på det befintliga (lager) ssl.key
. Kör följande kommando för att skapa ett tvåårigt certifikat. Öka eller minska värdet för -days för att generera ett certifikat med ett annat förfallodatum:
cp /usr/local/apache2/conf/ssl.key/server.key ./ ; openssl req -new -days 730 -nodes -x509 -key server.key -out server.crt
Svara på systemuppmaningarna för att slutföra processen för att generera ett självsignerat SSL-certifikat och ange lämplig information för din organisation.
Till exempel:
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
När du är klar med att ange informationen server.csr
och server.key
filer visas i /ifs/local directory
.
- (Valfritt) Kontrollera certifikatets integritet och attribut:
openssl x509 -text -noout -in server.crt
Gå till avsnittet Lägg till certifikatet i klustret i den här artikeln efter det här steget.
- Skapa ett certifikat och en nyckel.
Den här proceduren visar hur du skapar en ny privat nyckel och ett nytt SSL-certifikat. Kör följande kommando för att skapa en RSA 2048-bit
Privat nyckel:
openssl genrsa -out server.key 2048
Skapa en begäran om certifikatsignering:
openssl req -new -nodes -key server.key -out server.csr
Ange lämplig information för din 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 []:
- (Valfritt) Generera en CSR för en certifikatutfärdare som innehåller Subject-Alternative-Names. Om ytterligare DNS behövs kan den läggas till med hjälp av ett kommatecken (,) Till exempel: 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"))
När du uppmanas till det anger du den information som ska ingå i certifikatbegäran. När du är klar med att ange informationen server.csr
och server.key
filer visas i /ifs/local directory
.
Kontrollera om du vill signera certifikatet själv eller få det signerat av en certifikatutfärdare (CA).
- Signera SSL-certifikatet själv.
Om du vill signera certifikatet själv med nyckeln kör du kommandot nedan som skapar ett nytt självsignerat certifikat som är giltigt i två år:
openssl x509 -req -days 730 -in server.csr -signkey server.key -out server.crt
Kontrollera att nyckeln matchar certifikatet, båda kommandona ska returnera samma md5-värde:
openssl x509 -noout -modulus -in server.crt | openssl md5
openssl rsa -noout -modulus -in server.key | openssl md5
Gå till avsnittet Lägg till certifikatet i klustret i den här artikeln efter det här steget.
- Skaffa en certifikatutfärdare för att signera certifikatet.
Om en certifikatutfärdare signerar certifikatet kontrollerar du att det nya SSL-certifikatet är i x509-format och innehåller hela certifikatets förtroendekedja.
Det är vanligt att certifikatutfärdaren returnerar det nya SSL-certifikatet, det mellanliggande certifikatet och rotcertifikatet i separata filer.
Om certifikatutfärdaren har gjort detta MÅSTE du skapa det PEM-formaterade certifikatet manuellt.
Ordningen är viktig när du skapar det PEM-formaterade certifikatet. Certifikatet måste vara överst i filen, följt av de mellanliggande certifikaten, och rotcertifikatet måste vara längst ned.
Här är ett exempel på hur den PEM-formaterade filen ser ut:
-----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-----
Ett enkelt sätt att skapa den PEM-formaterade filen från CLI är att cat filerna (kom ihåg att ordningen på filerna spelar roll):
cat CA_signed.crt intermediate.crt root.crt > onefs_pem_formatted.crt
Kopiera onefs_pem_formatted.crt
fil till /ifs/local directory
och byt namn på den till server.crt
.
Obs! Om en .cer fil tas emot byter du namn på den till filtillägget .crt.
- (Valfritt) Kontrollera certifikatets integritet och attribut:
openssl x509 -text -noout -in server.crt
Lägg till certifikatet i klustret:
För OneFS 7.0.x till 8.0.1.x:
- Installera det nya certifikatet och nyckeln på varje nod:
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
- Om det finns ett föråldrat eller oanvänt certifikat tar du bort det när uppgraderingen till 8.0 är klar. Använd anvisningarna i steg 5 under OneFS 8.0.1.x och senare.
För OneFS 8.0.1.x och senare:
- Importera det nya certifikatet och nyckeln till systemet:
isi certificate server import /ifs/local/server.crt /ifs/local/server.key
- Kontrollera att certifikatet har importerats:
isi certificate server list -v
- Ange det importerade certifikatet som standard:
- För OneFS 8.0 och 8.1 är kommandot:
isi certificate server modify --id=<id_of_cert_to_set_as_default> --default
- För OneFS 8.2 och senare är kommandot:
isi certificate settings modify --default-https-certificate=<id_of_cert_to_set_as_default>
- Använd kommandot nedan för att bekräfta att det importerade certifikatet används som standard genom att verifiera statusen för "Default HTTPS Certificate":
isi certificate settings view
- Om det finns ett oanvänt eller inaktuellt certifikat tar du bort detta med kommandot:
isi certificate server delete --id=<id_of_cert_to_delete>
- Visa det nya importerade certifikatet med kommandot:
isi certificate server view --id=<id_of_cert>
Obs! Portarna 8081 och 8083 använder fortfarande certifikatet från den lokala katalogen för SSL. Följ stegen nedan om du vill använda de nya certifikaten för port 8081 och 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
Verifiering
Det finns två metoder för att verifiera det uppdaterade SSL-certifikatet.
- Bläddra till
https://<common name>:8080
, där <eget namn> är det värdnamn som används för åtkomst till Isilon-webbadministrationsgränssnittet. Till exempel isilon.example.com
- Visa säkerhetsinformationen för webbsidan. Stegen för att göra detta varierar beroende på webbläsare. I vissa webbläsare klickar du på hänglåsikonen i adressfältet för att visa säkerhetsinformation för webbsidan.
- Kontrollera att ämnesraden och annan information är korrekta i säkerhetsinformationen för webbsidan. Utdata som liknar följande visas där <yourstate>, <yourcity> och <ditt företag> är delstat, stad och namn på din organisation:
Subject: C=US, ST=<yourstate>, L=<yourcity>, O=<yourcompany>, CN=isilon.example.com/emailAddress=support@example.com
- Öppna en SSH-anslutning på en nod i klustret och logga in med ”rot”-kontot.
- Kör följande kommando:
echo QUIT | openssl s_client -connect localhost:8080
- Utdata som liknar följande visas, där <yourstate>, <yourcity> och <ditt företag> är delstat, stad och namn på din organisation:
Subject: C=US, ST=<yourstate>, L=<yourcity>, O=<yourcompany>, CN=isilon.example.com/emailAddress=support@example.com