PowerStore: Så här ersätter du det självsignerade certifikatet för klusterhantering med ett certifikat som utfärdats av en extern certifikatutfärdare
Summary: Den här artikeln ger stegvisa instruktioner om hur du byter ut PowerStores självsignerade certifikat som används för hantering med ett certifikat som utfärdats av en extern certifikatutfärdare (CA). ...
Instructions
Obs! I allmänhet har PowerStore inte stöd för tredjepartscertifikatutfärdare som signerar GUI-certifikatet. Webbläsarforumet förbjuder certifikatutfärdare att signera certifikat med begränsade IP-adresser i certifikatet, eftersom privata IP-adresser ingår i den begränsade listan och även krävs i certifikatet av PowerStore kommer certifikatutfärdaren att avvisa begäran. Den enda möjligheten att få ett certifikat signerat av en tredjepartscertifikatutfärdare skulle vara att använda offentliga IP-adresser som tillhandahålls av en ISP eller IANA för hanteringsnätverket.
Den här artikeln refererar till ett certifikat som signerats av en privat företagscertifikatutfärdare (till exempel med OpenSSL, Microsoft CA eller något liknande)
Den här artikeln handlar om PowerStoreOS 2.1. För nyare versioner av PowerStore OS , se PowerStore: Skapa och importera ett signerat HTTPS-hanteringscertifikat
Det initiala stödet för att ersätta självsignerade PowerStore-hanteringscertifikat med externa CA-utfärdade certifikat finns i en begränsad form i PowerStoreOS version 2.1.
Förutom att skydda åtkomsten till användargränssnittet (UI) med HTTPS har klusterhanteringscertifikatet andra användningsområden, till exempel olika interna kommunikationer och så vidare.
Följande begränsningar gäller under den första introduktionen av funktionen som levererades med PowerStoreOS version 2.1.
Dessa restriktioner och begränsningar gäller för PowerStoreOS version 2.1.x för import av ett signerat servercertifikat från en privat certifikatutfärdare. Dessa restriktioner gäller inte för PowerStoreOS version 3.0 eller senare.
- Import av certifikat från tredje part stöds inte på
- Ett kluster med flera enheter
- Ett kluster som är i replikeringsrelation med ett annat kluster
- Kluster som har konfigurerat SDNAS
- Ett enhetligt system (fil + block)
- Det går inte att återställa till det ursprungliga PowerStore CA-signerade certifikatet när tredjepartscertifikat har importerats för ett kluster.
- Det genereras inga aviseringar om förfallodatum för certifikatet.
- Intyget som ska importeras ska vara giltigt i minst 30 dagar eller mer.
- Import av certifikat från tredje part stöds inte med PowerStore Manager-gränssnittet.
- Import av certifikat från tredje part stöds endast för hanteringstrafik (Management_HTTP) och inte för andra tjänster (till exempel VASA, replikering och så vidare).
Viktigt! Granska och förstå dessa begränsningar fullständigt om du kör PowerStoreOS 2.1. Fortsätt INTE om systemet tillhör någon av kategorierna ovan.
Importera ett certifikat som utfärdats av en extern certifikatutfärdare via PowerStore Manager-användargränssnittet
Den manuella cli-proceduren bör endast krävas för system som kör PowerStoreOS version 2.1.
För system som kör PowerStoreOS v3 och senare använder du PowerStore Manager-användargränssnittet för att importera certifikatet.
Mer information finns i manualen för PowerStore Security Configuration.
Certifikatfönster för signerat PowerStore Manager-webbgränssnitt:
Så här importerar du ett certifikat som utfärdats av en extern certifikatutfärdare med hjälp av CLI
Steg 1 – Hämta kluster-IPv4/IPv6-adress
Det första steget är att hämta klustrets IPv4/IPv6-adress (hantering). IP-adressen är inbäddad i det aktuella självsignerade hanteringscertifikatet. Det här är också samma IP-adress som du skriver in i webbläsaren för att ansluta till PowerStore Manager-användargränssnittet.
Steg 1a
Hämta listan över alla certifikat.
$ pstcli -u admin -p <password> -d <cluster_ip> x509_certificate show
# | id | type | service | is_current | is_valid
----+--------------------------------------+--------+------------------+------------+----------
1 | 00907634-b4eb-446a-a381-aae685bae066 | Server | Management_HTTP | yes | yes
2 | 9d0ec275-3688-4ae2-922b-639e1cfb0b88 | Server | VASA_HTTP | yes | yes
3 | c5f03cf7-fe1d-40bd-b6fb-7abba0c6026a | Client | Replication_HTTP | yes | yes
<trimmed for brevity>
Anteckna id-fältet för certifikatet med tjänstens Management_HTTP och typen Server.
Steg 1b
Få fullständig information om det aktuella självsignerade hanteringscertifikatet.
Kör kommandot nedan och ersätt id med det värde som du hämtade i steg 1a.
$ pstcli -u admin -p <password> -d <cluster_ip> x509_certificate -id 00907634-b4eb-446a-a381-aae685bae066 show
id = 00907634-b4eb-446a-a381-aae685bae066
type = Server
type_l10n = Server
service = Management_HTTP
service_l10n = Management_HTTP
is_current = yes
is_valid = yes
members:
subject = CN=Dell EMC PowerStore CA E79NFK8T,O=Dell EMC,ST=MA,C=US
serial_number = 14daac34e1db4711
signature_algorithm = SHA384withRSA
issuer = CN=Dell EMC PowerStore CA E79NFK8T,O=Dell EMC,ST=MA,C=US
valid_from = 11/16/21 23:16:33
valid_to = 10/30/89 23:16:33
public_key_algorithm = RSA
key_length = 4096
thumbprint_algorithm = SHA-256
thumbprint_algorithm_l10n = SHA-256
thumbprint = 279ea39ad7b8d2e0f3695a850a7d302e8318e080e1092fccb314c8f4f19e50a4
certificate = MIIFdDCCA1ygAwIBAgIIFNqsNOHbRxEwDQYJKoZIhvcNAQEMBQAwVzELMAkGA1UEBhMCVVMxCzAJBg
<trimmed for brevity>
Ar4eTY0aBe7R8fnSbg97EFqF+1gGhKlxrOU9AICgZJDh0PDQJRcYLFJBi36Ktt++mtRgpSig8VvypZ
depth = 2
subject_alternative_names =
subject = C=US+O=Dell+L=Hopkinton+OU=PowerStore+ST=Massachusetts+CN=ManagementHTTP.xxxxxxxxxxxx
serial_number = xxxxxxxxxxxxx
signature_algorithm = SHA256withRSA
issuer = CN=Dell EMC PowerStore CA E79NFK8T,O=Dell EMC,ST=MA,C=US
valid_from = 11/16/21 23:56:23
valid_to = 11/15/26 23:56:23
public_key_algorithm = RSA
key_length = 4096
thumbprint_algorithm = SHA-256
thumbprint_algorithm_l10n = SHA-256
thumbprint = eedf2f9c1d0f70f018857110e87cd122f4fa31140e694c30b5ea10398629dbf1
certificate = MIIFejCCA2KgAwIBAgIJANlUDR+8+78qMA0GCSqGSIb3DQEBCwUAMFcxCzAJBgNVBAYTAlVTMQswCQ
<trimmed for brevity>
ZTShTW0BFh3IeAgt23Tlhz+npsJNqbvxXB+8hXqvNWcpzeSluiUalqB3qU9MwCzwHpEkXqagzk8EZM
depth = 1
subject_alternative_names = aaa.bbb.ccc.ddd, 1111:2222:3333:4444:5555:6666:7777:8888
Du får två certifikat i utdata: den interna PowerStore-certifikatutfärdaren och hanteringscertifikatet som signerats av den interna certifikatutfärdaren.
Hanteringscertifikatet har fältet djup = 1 och fältet subject_alternative_names fylls i med IP-adresserna IPv4 och IPv6.
Om du använder IPv4 för att hantera klustret bör du se IP-adressen för IPv4-klusterhantering som den första i fältet subject_alternative_names (som i exemplet ovan – aaa.bbb.ccc.ddd). Om du använder IPv6 för att hantera klustret skriver du ned den första IPv6-adressen.
Steg 2 – Generera begäran om certifikatsignering (CSR)
Hur man genererar en CSR som senare tas till en certifikatutfärdare för signering.
Steg 2a
Kör följande kommando för att skapa hjälpen för att generera CSR och bekanta dig med dess syntax:
$ pstcli -u admin -p <password> -d <cluster_ip> help x509_certificate csr
x509_certificate csr -type { Server | Client | CA_Client_Validation | CA_Server_Validation } -service { Management_HTTP | Replication_HTTP | VASA_HTTP | Import_HTTP | LDAP_HTTP | Encrypt_HTTP | Syslog_HTTP } -dns_name <value>,...
-ip_addresses <value>,... -key_length <2048..4096> [ -scope <value> ] [ -common_name <value> ] [ -organizational_unit <value> ] [ -organization <value> ] [ -locality <value> ] [ -state <value> ] [ -country <value> ] [ { -passphrase
<value> | -passphraseSecure } ] [ -async ]
<trimmed for brevity>
De fetstilta alternativen ovan är obligatoriska, alla andra är valfria. Rådgör med certifikatutfärdaren eller PKI-administratören om företagets certifikatprincip kräver att något av dessa valfria fält används.
Steg 2b
Generera en CSR med hjälp av riktlinjerna ovan.
$ pstcli -u admin -p <password> -d <cluster_ip> x509_certificate csr -type Server -service Management_HTTP -dns_name "powerstoreXY.mycompany.com" -ip_addresses aaa.bbb.ccc.ddd -key_length 2048 -scope "External" -common_name "powerstoreXY.mycompany.com"
Kommandots utdata returnerar ett id och CSR i BASE64-kodning. Till exempel:
1 | 81ea4b51-4b80-4a88-87f1-f0a0ddd1c1fd | Server | Management_HTTP | Management_HTTP | no | no | -----BEGIN CERTIFICATE REQUEST----- MIIDJTCCAg0CAQAwezF5MAkGA1UEBhMCVVMwCwYDVQQKEwREZWxsMBAGA1UEBxMJ <trimmed for brevity> h4t6QVXny+nF25XASq49kuZ8aWA0aTwU8VN5lC0qbSA2Zy6uX8jPmf/ecGNSQzIc 6iDIm76HbL7UKlDecSmr7WiR5hZ9bP/zKxmkNlTN1viqtInGl+zZa6U= -----END CERTIFICATE REQUEST-----
Kopiera det id som du fick i utdata (fetstil ovan) eftersom det behövs för senare steg.
Du måste också formatera CSR (med VIM eller valfri textredigerare, till exempel Anteckningar). Den första raden måste vara -----BEGIN CERTIFICATE REQUEST----- medan den sista raden måste sluta med -----END CERTIFICATE REQUEST-----. Det får inte finnas några inledande eller avslutande mellanslag någonstans.
Ett exempel på en formaterad CSR:
-----BEGIN CERTIFICATE REQUEST----- MIIDJTCCAg0CAQAwezF5MAkGA1UEBhMCVVMwCwYDVQQKEwREZWxsMBAGA1UEBxMJ SG9wa2ludG9uMBEGA1UECxMKUG93ZXJTdG9yZTAUBgNVBAgTDU1hc3NhY2h1c2V0 <trimmed for brevity> h4t6QVXny+nF25XASq49kuZ8aWA0aTwU8VN5lC0qbSA2Zy6uX8jPmf/ecGNSQzIc 6iDIm76HbL7UKlDecSmr7WiR5hZ9bP/zKxmkNlTN1viqtInGl+zZa6U= -----END CERTIFICATE REQUEST-----
Spara din CSR i en fil med ett beskrivande namn. Till exempel: powerstoreXY.csr
Steg 2c (valfritt)
Om du är säker på att din CSR är korrekt formaterad kan du hoppa över det här steget.
Om du vill verifiera giltigheten av den kan du använda OpenSSL-verktygssviten för att bekräfta att den kan läsas och att data inom fälten i CSR ser korrekta ut. Om du till exempel använder de värden som anges i steg 2b bör fälten i fetstil i CSR återspegla att:
$ openssl req -in powerstoreXY.csr -noout -text
Certificate Request:
Data:
Version: 0 (0x0)
Subject: C=US, O=Dell, L=Hopkinton, OU=PowerStore, ST=Massachusetts, CN=powerstoreXY.mycompany.com
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
00:af:cd:73:7a:d7:71:03:67:d6:f9:46:9f:aa:68:
<trimmed for brevity>
90:c4:68:44:71:bd:d7:64:65:81:36:90:2e:c2:15:
b8:f5
Exponent: 65537 (0x10001)
Attributes:
Requested Extensions:
X509v3 Subject Alternative Name:
DNS:powerstoreXY.mycompany.com, IP Address:aaa.bbb.ccc.ddd, IP Address:1111:2222:3333:4444:5555:6666:7777:8888
Signature Algorithm: sha256WithRSAEncryption
15:f6:08:8e:ab:f6:07:91:82:ed:45:f0:d9:4d:8c:f5:c6:e3:
<trimmed for brevity
16:7d:6c:ff:f3:2b:19:a4:36:54:cd:d6:f8:aa:b4:89:c6:97:
ec:d9:6b:a5
Om allt ser rätt ut går du vidare till nästa steg.
Steg 3 – Skicka CSR till en privat certifikatutfärdare för signering
Detta steg varierar från leverantör till leverantör. Målet här är att skicka in din CSR till den utfärdande certifikatutfärdaren med hjälp av leverantörens rekommenderade procedurer för att få ett signerat certifikat kodat som BASE64.
Steg 3a
Kontrollera att det nyligen utfärdade certifikatet är BASE64-kodat. Kontrollera att filen börjar med -----BEGIN CERTIFICATE----- och slutar med -----END CERTIFICATE----- och innehåller kodade data däremellan.
$ cat powerstoreXY.cer -----BEGIN CERTIFICATE----- MIIGFjCCA/6gAwIBAgITdAAAAA4SiEpOgIXLggABAAAADjANBgkqhkiG9w0BAQsF <trimmed for brevity> 7NcBrSr0Ach8rC443vrqLSChaTZFt1TtYiSJJT+ZEL2F0/TG9BTXBbHKFTVFXgf9 l9dWpDkH6mq/fhgaMNT/vuMCUtD40fj81DE= -----END CERTIFICATE-----
Steg 3b
Bekräfta att certifikatet som du fick innehåller värdena för de attribut som du har begärt när du genererade CSR, särskilt DNS och IP-adresser i det alternativa ämnesnamnet. Beroende på de förfaranden som ingår i att producera och underteckna certifikatet av certifikatutfärdaren, kan certifikatet innehålla dem eller inte.
$ openssl x509 -in powerstoreXY.cer -noout -text
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
74:00:00:00:0e:12:88:4a:4e:80:85:cb:82:00:01:00:00:00:0e
Signature Algorithm: sha256WithRSAEncryption
Issuer: DC=com, DC=mycompany, CN=Issuing CA
Validity
Not Before: Nov 26 16:51:16 2021 GMT
Not After : Nov 26 16:51:16 2023 GMT
Subject: C=US, ST=Massachusetts, L=Hopkinton, O=Dell, OU=PowerStore, CN=powerstoreXY.mycompany.com
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
00:af:cd:73:7a:d7:71:03:67:d6:f9:46:9f:aa:68:
<trimmed for brevity>
90:c4:68:44:71:bd:d7:64:65:81:36:90:2e:c2:15:
b8:f5
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Alternative Name:
DNS:powerstoreXY.mycompany.com, IP Address:aaa.bbb.ccc.ddd, IP Address:1111:2222:3333:4444:5555:6666:7777:8888
X509v3 Subject Key Identifier:
1C:19:5D:DF:B4:F0:9F:B7:7B:2B:4A:0E:09:B3:C6:43:3E:CF:4D:4C
X509v3 Authority Key Identifier:
keyid:25:D0:D5:01:27:75:BD:08:FF:E7:FF:02:6C:CE:17:46:86:50:DD:71
X509v3 CRL Distribution Points:
Full Name:
URI:http://pki.mycompany.com/pki/Issuing%20CA.crl
Authority Information Access:
CA Issuers - URI:http://pki.mycompany.com/pki/ca-iss.mycompany.com_Issuing%20CA.crt
1.3.6.1.4.1.311.20.2:
...W.e.b.S.e.r.v.e.r
X509v3 Key Usage: critical
Digital Signature, Key Encipherment
X509v3 Extended Key Usage:
TLS Web Server Authentication
Signature Algorithm: sha256WithRSAEncryption
99:d9:99:a7:7a:b9:4a:e8:e3:66:ed:56:1f:6f:bc:71:b8:07:
<trimmed for brevity>
97:d7:56:a4:39:07:ea:6a:bf:7e:18:1a:30:d4:ff:be:e3:02:
52:d0:f8:d1:f8:fc:d4:31
Om du inte ser DNS- och IP-attribut som du har begärt i CSR i certifikatets X509v3 Subject Alternative Name (exempel i fetstil ovan) kontaktar du CA-administratören för att åtgärda detta.
Fortsätt INTE vidare förrän du har bekräftat att de obligatoriska attributen finns i certifikatet.
Steg 3c
I det här steget ingår att bygga en fullständig certifikatkedja i en enda BASE64-kodad fil, som måste innehålla ditt PowerStore-certifikat plus certifikat för varje certifikatutfärdare i den hierarki som ingår i signeringen av certifikatet.
Med hjälp av en hypotetisk PKI (Public Key Infrastructure) som består av följande enheter:
Rotcertifikatutfärdare > som utfärdar CA-löv >
Var
- Rotcertifikatutfärdare – är överst i hierarkin och signerar och utfärdar endast certifikat för de utfärdande certifikatutfärdarna. Det är vanligtvis aldrig inblandat i signering av certifikat för slutpunkterna.
- Utfärdande certifikatutfärdare – det här är vad som vanligtvis utfärdar certifikat till olika slutpunkter.
- Löv – slutpunkterna, till exempel arbetsstationer, servrar och så vidare. Ditt PowerStore-system tillhör den här kategorin.
Beroende på hur ditt PowerStore-certifikat utfärdades kan det hända att filen som du fick tillbaka bara innehåller ett enda certifikat för PowerStore-slutpunkten (leaf) eller så kan den innehålla hela kedjan (leaf + issuingCA + rootCA). Du kan inte importera en fil som bara innehåller ett lövcertifikat till PowerStore i nästa steg. Du måste skapa en fullständig kedja (leaf + issuingCA + rootCA) som en enda BASE64-kodad PEM-fil som innehåller alla tre certifikaten (eller fler, om du har fler certifikatutfärdare
i kedjan).Om du inte redan har det måste du skaffa BASE64-kodade certifikat för din utfärdande certifikatutfärdare och rotcertifikatutfärdare och kombinera dem med PowerStores lövcertifikat till en enda PEM-fil:
$ cat powerstoreXY.cer issuingca.cer rootca.cer > combined.pem
Öppna filen combined.pem med en textredigerare och ta bort alla avslutande eller inledande blanksteg och tomma rader. Dessutom måste brödtexten i certifikaten (data mellan taggarna BEGIN/END CERTIFICATE) vara en enda radsträng.
Den resulterande combined.pem-filen bör se ut ungefär som i exemplet nedan:
$ cat combined.pem -----BEGIN CERTIFICATE----- MIIGFjCCA/6gAwIBAgITdAAAAkiG9w0BAQs<trimmed for brevity><PowerStore leaf cert>7NcBrSr0Ach8rC443vrqLSChaTZF0fj81DE= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIGXjCCBEagAwIBDANBgkqhkiG9w0BAQ0F<trimmed for brevity><Issuing CA cert>HU+TePFvwmGruno8fGI4iLyh5kWjnWW2SZVI4wWQ= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIFCzCCAvOgAwIyoqhkiG9w0BAQ0FAuDAX<trimmed for brevity><Root CA cert>wRh/EXhVd32yvTxupm288LcH3UU3iGHx0tHieAGEkT0= -----END CERTIFICATE-----
Steg 4 – Importera signerad certifikatkedja
I det här sista steget ersätter du det självsignerade PowerStore-certifikatet genom att importera hela kedjan, som består av ditt nya signerade certifikat och alla certifikatutfärdare. Du behöver certifikat-ID:t som du skapade i steg 2b.
Om du inte har skrivit ned det kör du följande kommando för att hämta ID:t igen:
$ pstcli -u admin -p <password> -d <cluster_ip> x509_certificate show # | id | type | service | is_current | is_valid ----+--------------------------------------+--------+------------------+------------+---------- 1 | 81ea4b51-4b80-4a88-87f1-f0a0ddd1c1fd | Server | Management_HTTP | no | no 2 | 00907634-b4eb-446a-a381-aae685bae066 | Server | Management_HTTP | yes | yes 3 | c5f03cf7-fe1d-40bd-b6fb-7abba0c6026a | Client | Replication_HTTP | yes | yes 4 | 9d0ec275-3688-4ae2-922b-639e1cfb0b88 | Server | VASA_HTTP | yes | yes
Observera att servicecertifikatet Management_HTTP som INTE är giltigt och INTE är aktuellt. I exemplet ovan är id 81ea4b51-4b80-4a88-87f1-f0a0ddd1c1fd den du behöver.
Kör följande kommando för att importera kedjan:
$ pstcli -u admin -p <password> -d <cluster_id> x509_certificate -id <cert_id> set -is_current true -certificate '<contents_of_the_combined.pem_file>'
Till exempel:
pstcli -u admin -d self x509_certificate -id 81ea4b51-4b80-4a88-87f1-f0a0ddd1c1fd set -is_current true -certificate $'-----BEGIN CERTIFICATE-----\n[...Single line PowerStore certificate content...]\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\n[...Single line CA Certificate certificate content...] \n-----END CERTIFICATE-----'
När du använder en Linux-station med PSTCLI (t.ex. SSH i PowerStore) kan du också instruera BASH-tolken att använda allt mellan $' ' exakt som det är, inklusive formateringen. I det här fallet behöver du inte lägga till den "nya raden \n":
pstcli -u admin -d self x509_certificate -id 81ea4b51-4b80-4a88-87f1-f0a0ddd1c1fd set -is_current true -certificate $'-----BEGIN CERTIFICATE-----
MIIGFjCCA/6gAwIBAgITdAAAAA4SiEpOgIXLggABAAAADjANBgkqhkiG9w0BAQsF<trimmed for brevity><PowerStore leaf cert>7NcBrSr0Ach8rC443vrqLSChaTZFt1TtYiSJJT+ZEL2F0/TG9BTXBbHKFTVFXgf9l9dWpDkH6mq/fhgaMNT/vuMCUtD40fj81DE=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIGXjCCBEagAwIBAgITQgAAAARkLTTf7tqFAQAAAAAABDANBgkqhkiG9w0BAQ0F<trimmed for brevity><Issuing CA cert>HU+TePFvwmGruno8o65kK+qWvvYG10PbMbIYxxm/zyofGI4iLyh5kWjnWW2SZVI4wWQ=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFCzCCAvOgAwIBAgIQad6TNg7Pqa5HsuYzLFAK5jANBgkqhkiG9w0BAQ0FADAX<trimmed for brevity><Root CA cert>wRh/EXhVd32yvTxOdBGBBENLQnD6U6HkA4FO/jVbXR2B793giBmi9w85+B7obgWPSTypIgA+LKG3nE0jf5AW5LnOV+gQDCOsSJlGpm288LcH3UU3iGHx0tHieAGEkT0=
-----END CERTIFICATE-----'
Nu bör du ha det nya certifikatet installerat och i drift. Du måste stänga och starta om webbläsaren för att se det nya certifikatet. När du återansluter med PSTCLI får du också en varning om att certifikatets tumavtryck har ändrats, vilket är en indikator på att det nya certifikatet har installerats.