Az Azure Stack Hub PKI-tanúsítványok ellenőrzése
Az ebben a cikkben ismertetett Azure Stack Hub-készültség-ellenőrző eszköz a PowerShell-galéria érhető el. Az eszközzel ellenőrizheti, hogy a létrehozott nyilvános kulcsú infrastruktúra -tanúsítványok (PKI) alkalmasak-e az üzembe helyezés előtti használatra. Ellenőrizze a tanúsítványokat úgy, hogy elegendő időt hagy a tanúsítványok tesztelésére és újbóli kiadására, ha szükséges.
A Készültség-ellenőrző eszköz a következő tanúsítványérvényesítéseket hajtja végre:
-
PFX elemzése
Ellenőrzi az érvényes PFX-fájlt, a helyes jelszót, valamint azt, hogy a nyilvános információkat a jelszó védi-e. -
Lejárati
Ellenőrzi a hét nap minimális érvényességét. -
Aláírási algoritmus
Ellenőrzi, hogy az aláírási algoritmus nem SHA1-e. -
Titkos kulcs
Ellenőrzi, hogy a titkos kulcs jelen van-e, és a helyi gép attribútummal van-e exportálva. -
Tanúsítványlánc
Ellenőrzi, hogy a tanúsítványlánc sértetlen-e, beleértve az önaláírt tanúsítványok ellenőrzését is. -
DNS-nevek
Ellenőrzi, hogy a SAN tartalmazza-e az egyes végpontok megfelelő DNS-nevét, vagy hogy van-e helyettesítő helyettesítő karakter. -
Kulcshasználat
Ellenőrzi, hogy a kulcshasználat tartalmaz-e digitális aláírást és kulcs-titkosítást, és ellenőrzi, hogy a bővített kulcshasználat tartalmaz-e kiszolgálóhitelesítést és ügyfél-hitelesítést. -
Kulcsméret
Ellenőrzi, hogy a kulcs mérete 2048 vagy nagyobb-e. -
Láncrend
Ellenőrzi a többi tanúsítvány sorrendjét, amelyek ellenőrzik, hogy a rendelés helyes-e. -
Egyéb tanúsítványok
Győződjön meg arról, hogy a megfelelő levéltanúsítványon és annak láncán kívül más tanúsítványt sem csomagoltak PFX-be.
Fontos
A PKI-tanúsítvány EGY PFX-fájl, és a jelszót bizalmas információként kell kezelni.
Előfeltételek
A rendszernek meg kell felelnie a következő előfeltételeknek az Azure Stack Hub üzembe helyezéséhez szükséges PKI-tanúsítványok érvényesítése előtt:
- A Microsoft Azure Stack Hub készültségi ellenőrzője.
- Az előkészítési utasítások alapján exportált SSL-tanúsítvány(ok).
- DeploymentData.json.
- Windows 10 vagy Windows Server 2016.
Az alapvető szolgáltatások tanúsítványainak ellenőrzése
Az alábbi lépésekkel ellenőrizheti az Azure Stack Hub PKI-tanúsítványait az üzembe helyezéshez és a titkos kulcsok rotálásához:
Telepítse az AzsReadinessCheckert egy PowerShell-parancssorból (5.1 vagy újabb verzió) az alábbi parancsmag futtatásával:
Install-Module Microsoft.AzureStack.ReadinessChecker -Force -AllowPrerelease
Hozza létre a tanúsítványkönyvtár struktúráját. Az alábbi példában egy tetszőleges új könyvtárútvonalra válthat
<C:\Certificates\Deployment>
.New-Item C:\Certificates\Deployment -ItemType Directory $directories = 'ACSBlob', 'ACSQueue', 'ACSTable', 'Admin Extension Host', 'Admin Portal', 'ARM Admin', 'ARM Public', 'KeyVault', 'KeyVaultInternal', 'Public Extension Host', 'Public Portal' $destination = 'C:\Certificates\Deployment' $directories | % { New-Item -Path (Join-Path $destination $PSITEM) -ItemType Directory -Force}
Megjegyzés
Az AD FS-re és a Graphra akkor van szükség, ha az AD FS-t használja identitásrendszerként. Például:
$directories = 'ACSBlob', 'ACSQueue', 'ACSTable', 'ADFS', 'Admin Extension Host', 'Admin Portal', 'ARM Admin', 'ARM Public', 'Graph', 'KeyVault', 'KeyVaultInternal', 'Public Extension Host', 'Public Portal'
- Helyezze el a tanúsítványokat az előző lépésben létrehozott megfelelő címtárakban. Például:
C:\Certificates\Deployment\ACSBlob\CustomerCertificate.pfx
C:\Certificates\Deployment\Admin Portal\CustomerCertificate.pfx
C:\Certificates\Deployment\ARM Admin\CustomerCertificate.pfx
- Helyezze el a tanúsítványokat az előző lépésben létrehozott megfelelő címtárakban. Például:
A PowerShell-ablakban módosítsa a ,
FQDN
ésIdentitySystem
az azure Stack Hub-környezetnek megfelelő értékeketRegionName
, és futtassa a következő parancsmagot:$pfxPassword = Read-Host -Prompt "Enter PFX Password" -AsSecureString Invoke-AzsHubDeploymentCertificateValidation -CertificatePath C:\Certificates\Deployment -pfxPassword $pfxPassword -RegionName east -FQDN azurestack.contoso.com -IdentitySystem AAD
Ellenőrizze a kimenetet, és győződjön meg arról, hogy minden tanúsítvány megfelel az összes tesztnek. Például:
Invoke-AzsHubDeploymentCertificateValidation v1.2005.1286.272 started. Testing: KeyVaultInternal\KeyVaultInternal.pfx Thumbprint: E86699****************************4617D6 PFX Encryption: OK Expiry Date: OK Signature Algorithm: OK DNS Names: OK Key Usage: OK Key Length: OK Parse PFX: OK Private Key: OK Cert Chain: OK Chain Order: OK Other Certificates: OK Testing: ARM Public\ARMPublic.pfx Thumbprint: 8DC4D9****************************69DBAA PFX Encryption: OK Expiry Date: OK Signature Algorithm: OK DNS Names: OK Key Usage: OK Key Length: OK Parse PFX: OK Private Key: OK Cert Chain: OK Chain Order: OK Other Certificates: OK Testing: Admin Portal\AdminPortal.pfx Thumbprint: 6F9055****************************4AC0EA PFX Encryption: OK Expiry Date: OK Signature Algorithm: OK DNS Names: OK Key Usage: OK Key Length: OK Parse PFX: OK Private Key: OK Cert Chain: OK Chain Order: OK Other Certificates: OK Testing: Public Portal\PublicPortal.pfx Log location (contains PII): C:\Users\[*redacted*]\AppData\Local\Temp\AzsReadinessChecker\AzsReadinessChecker.log Report location (contains PII): C:\Users\[*redacted*]\AppData\Local\Temp\AzsReadinessChecker\AzsReadinessCheckerReport.json Invoke-AzsHubDeploymentCertificateValidation Completed
Más Azure Stack Hub-szolgáltatások tanúsítványainak ellenőrzéséhez módosítsa a értékét.
-CertificatePath
Például:# App Services Invoke-AzsHubAppServicesCertificateValidation -CertificatePath C:\Certificates\AppServices -pfxPassword $pfxPassword -RegionName east -FQDN azurestack.contoso.com # DBAdapter Invoke-AzsHubDBAdapterCertificateValidation -CertificatePath C:\Certificates\DBAdapter -pfxPassword $pfxPassword -RegionName east -FQDN azurestack.contoso.com # EventHubs Invoke-AzsHubEventHubsCertificateValidation -CertificatePath C:\Certificates\EventHubs -pfxPassword $pfxPassword -RegionName east -FQDN azurestack.contoso.com
Minden mappának egyetlen PFX-fájlt kell tartalmaznia a tanúsítványtípushoz. Ha egy tanúsítványtípus többtanúsítványra vonatkozó követelményekkel rendelkezik, az egyes tanúsítványok beágyazott mappái várhatóan és névérzékenyek lesznek. Az alábbi kód egy példamappát/tanúsítványstruktúrát mutat be az összes tanúsítványtípushoz, valamint a megfelelő értéket.
-CertificatePath
C:\>tree c:\SecretStore /A /F Folder PATH listing Volume serial number is 85AE-DF2E C:\SECRETSTORE \---AzureStack +---CertificateRequests \---Certificates +---AppServices # Invoke-AzsCertificateValidation ` | +---API # -CertificatePath C:\Certificates\AppServices | | api.pfx | | | +---DefaultDomain | | wappsvc.pfx | | | +---Identity | | sso.pfx | | | \---Publishing | ftp.pfx | +---DBAdapter # Invoke-AzsCertificateValidation ` | dbadapter.pfx # -CertificatePath C:\Certificates\DBAdapter | | +---Deployment # Invoke-AzsCertificateValidation ` | +---ACSBlob # -CertificatePath C:\Certificates\Deployment | | acsblob.pfx | | | +---ACSQueue | | acsqueue.pfx ./. ./. ./. ./. ./. ./. ./. <- Deployment certificate tree trimmed. | \---Public Portal | portal.pfx | \---EventHubs # Invoke-AzsCertificateValidation ` eventhubs.pfx # -CertificatePath C:\Certificates\EventHubs
Ismert problémák
Tünet: A tesztek kihagyva
Ok: AzsReadinessChecker kihagy bizonyos teszteket, ha egy függőség nem teljesül:
A rendszer kihagyja a többi tanúsítványt, ha a tanúsítványlánc meghibásodik.
Testing: ACSBlob\singlewildcard.pfx Read PFX: OK Signature Algorithm: OK Private Key: OK Cert Chain: OK DNS Names: Fail Key Usage: OK Key Size: OK Chain Order: OK Other Certificates: Skipped Details: The certificate records '*.east.azurestack.contoso.com' do not contain a record that is valid for '*.blob.east.azurestack.contoso.com'. Please refer to the documentation for how to create the required certificate file. The other certificates check was skipped because cert chain and/or DNS names failed. Follow the guidance to remediate those issues and recheck. Log location (contains PII): C:\Users\username\AppData\Local\Temp\AzsReadinessChecker\AzsReadinessChecker.log Report location (contains PII): C:\Users\username\AppData\Local\Temp\AzsReadinessChecker\AzsReadinessCheckerReport.json Invoke-AzsCertificateValidation Completed
Megoldás: Kövesse az eszköz útmutatását az egyes tanúsítványokhoz tartozó tesztek részletes szakaszában.
Hibajelenség: A HTTP CRL-ellenőrzés sikertelen annak ellenére, hogy a HTTP CDP x509-bővítményekre van írva.
Ok: Az AzsReadinessChecker jelenleg bizonyos nyelveken nem tudja ellenőrizni a HTTP CDP-t.
Megoldás: Futtassa az ellenőrzést az operációs rendszer nyelvének EN-US értékre van állítva.
Tanúsítványok
Címtár | Tanúsítvány |
---|---|
ACSBlob | wildcard_blob_<region>_<externalFQDN> |
ACSQueue | wildcard_queue_<region>_<externalFQDN> |
ACSTable | wildcard_table_<region>_<externalFQDN> |
Rendszergazda bővítménygazda | wildcard_adminhosting_<region>_<externalFQDN> |
Felügyeleti portál | adminportal_<region>_<externalFQDN> |
ARM-Rendszergazda | adminmanagement_<region>_<externalFQDN> |
NYILVÁNOS ARM | management_<region>_<externalFQDN> |
KeyVault | wildcard_vault_<region>_<externalFQDN> |
KeyVaultInternal | wildcard_adminvault_<region>_<externalFQDN> |
Nyilvános bővítménygazda | wildcard_hosting_<region>_<externalFQDN> |
Nyilvános portál | portal_<region>_<externalFQDN> |
Következő lépések
Miután az AzsReadinessChecker ellenőrizte a tanúsítványokat, készen áll az Azure Stack Hub üzembe helyezésére vagy az üzembe helyezés utáni titkos kulcsok rotálására.
- Az üzembe helyezéshez biztonságosan átviheti a tanúsítványokat az üzembehelyezési mérnöknek, hogy átmásolhassák őket az üzembehelyezési virtuális gép gazdagépére az Azure Stack Hub PKI-követelményei – Kötelező tanúsítványok című témakörben leírtak szerint.
- A titkos kulcsok rotálását lásd: Titkos kódok elforgatása az Azure Stack Hubban. Az érték hozzáadása erőforrás-szolgáltatói tanúsítványok rotálásáról a Külső titkos kódok elforgatása szakaszban olvashat.