Überprüfen von Azure Stack Hub-PKI-Zertifikaten
Das in diesem Artikel beschriebene Tool „Azure Stack Hub Readiness Checker“ steht im PowerShell-Katalog zur Verfügung. Mit diesem Tool können Sie sich vergewissern, dass die generierten PKI-Zertifikate (Public Key-Infrastruktur) für die Vorabbereitstellung geeignet sind. Planen Sie bei der Zertifikatüberprüfung genügend Zeit ein, um die Zertifikate testen und ggf. neu ausstellen zu können.
Das Readiness Checker-Tool führt folgende Zertifikatüberprüfungen durch:
-
PFX analysieren
Sucht nach einer gültigen PFX-Datei und einem korrekten Kennwort und überprüft, ob öffentliche Informationen durch das Kennwort geschützt sind. -
Ablaufdatum
Überprüft die Mindestgültigkeit von sieben Tagen. -
Signaturalgorithmus
Überprüft, ob SHA1 als Signaturalgorithmus verwendet wird (was nicht der Fall sein darf). -
Privater Schlüssel
Überprüft, ob der private Schlüssel vorhanden ist und mit dem Attribut „Lokaler Computer“ exportiert wird. -
Vertrauenskette
Überprüft, ob die Vertrauenskette intakt ist (auch für selbstsignierte Zertifikate). -
DNS-Namen
Überprüft, ob das SAN relevante DNS-Namen für die einzelnen Endpunkte enthält oder ob ein unterstützender Platzhalter vorhanden ist. -
Schlüsselverwendung
Überprüft, ob die Schlüsselverwendung eine digitale Signatur und eine Schlüsselchiffrierung enthält und ob die erweiterte Schlüsselverwendung Serverauthentifizierung und Clientauthentifizierung enthält. -
Schlüsselgröße
Überprüft, ob die Schlüsselgröße mindestens 2.048 beträgt. -
Kettenreihenfolge
Überprüft, ob die Reihenfolge der anderen Zertifikate, aus denen sich die Kette zusammensetzt, korrekt ist. -
Andere Zertifikate
Stellt sicher, dass die PFX-Datei nur das relevante Blattzertifikat und dessen Kette enthält und keine anderen Zertifikate in die Datei gepackt wurden.
Wichtig
Das PKI-Zertifikat ist eine PFX-Datei, und das Kennwort muss vertraulich behandelt werden.
Voraussetzungen
Zur Überprüfung von PKI-Zertifikaten für eine Azure Stack Hub-Bereitstellung muss Ihr System folgende Voraussetzungen erfüllen:
- Microsoft Azure Stack Hub Readiness Checker
- Mindestens ein SSL-Zertifikat, das gemäß den Vorbereitungsanweisungen exportiert wurde
- DeploymentData.json
- Windows 10 oder Windows Server 2016
Durchführen der Zertifikatüberprüfung für Kerndienste
Gehen Sie wie folgt vor, um die Azure Stack Hub-PKI-Zertifikate für die Bereitstellung und Geheimnisrotation zu überprüfen:
Führen Sie an einer PowerShell-Eingabeaufforderung (5.1 oder höher) das folgende Cmdlet aus, um AzsReadinessChecker zu installieren:
Install-Module Microsoft.AzureStack.ReadinessChecker -Force -AllowPrerelease
Erstellen Sie die Zertifikatverzeichnisstruktur. Im folgenden Beispiel können Sie für
<C:\Certificates\Deployment>
einen neuen Verzeichnispfad Ihrer Wahl angeben.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}
Hinweis
Wenn Sie AD FS als Identitätssystem verwenden, sind AD FS und Graph erforderlich. Beispiel:
$directories = 'ACSBlob', 'ACSQueue', 'ACSTable', 'ADFS', 'Admin Extension Host', 'Admin Portal', 'ARM Admin', 'ARM Public', 'Graph', 'KeyVault', 'KeyVaultInternal', 'Public Extension Host', 'Public Portal'
- Platzieren Sie Ihre Zertifikate in den entsprechenden Verzeichnissen aus dem vorherigen Schritt. Beispiel:
C:\Certificates\Deployment\ACSBlob\CustomerCertificate.pfx
C:\Certificates\Deployment\Admin Portal\CustomerCertificate.pfx
C:\Certificates\Deployment\ARM Admin\CustomerCertificate.pfx
- Platzieren Sie Ihre Zertifikate in den entsprechenden Verzeichnissen aus dem vorherigen Schritt. Beispiel:
Ändern Sie im PowerShell-Fenster die Werte von
RegionName
,FQDN
undIdentitySystem
gemäß der Azure Stack Hub-Umgebung, und führen Sie das folgende Cmdlet aus:$pfxPassword = Read-Host -Prompt "Enter PFX Password" -AsSecureString Invoke-AzsHubDeploymentCertificateValidation -CertificatePath C:\Certificates\Deployment -pfxPassword $pfxPassword -RegionName east -FQDN azurestack.contoso.com -IdentitySystem AAD
Überprüfen Sie die Ausgabe, und vergewissern Sie sich, dass alle Tests für alle Zertifikate erfolgreich waren. Beispiel:
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
Um Zertifikate für andere Azure Stack Hub-Dienste zu überprüfen, ändern Sie den Wert für
-CertificatePath
. Beispiel:# 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
Jeder Ordner sollte eine einzelne PFX-Datei für den Zertifikattyp enthalten. Wenn für einen Zertifikattyp mehrere Zertifikatanforderungen vorliegen, werden für jedes einzelne Zertifikat geschachtelte Ordner mit eindeutigen Namen erwartet. Der folgende Code zeigt eine Beispielordner-/Zertifikatstruktur für alle Zertifikattypen und den entsprechenden Wert für
-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
Bekannte Probleme
Symptom: Tests werden übersprungen.
Ursache: AzsReadinessChecker überspringt bestimmte Tests, wenn eine Abhängigkeit nicht erfüllt ist:
„Andere Zertifikate“ wird übersprungen, wenn „Vertrauenskette“ nicht erfolgreich ist.
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
Lösung: Folgen Sie den Toolanweisungen im Detailabschnitt unter den Tests des jeweiligen Zertifikats.
Symptom: Die HTTP-Sperrlistenüberprüfung schlägt fehl, obwohl ein HTTP-CDP in x509-Erweiterungen geschrieben wurde.
Ursache: Derzeit kann azsReadinessChecker in einigen Sprachen nicht nach HTTP CDP suchen.
Lösung: Führen Sie die Validierung mit der Betriebssystemsprache „EN-US“ aus.
Zertifikate
Verzeichnis | Zertifikat |
---|---|
ACSBlob | wildcard_blob_<region>_<externalFQDN> |
ACSQueue | wildcard_queue_<region>_<externalFQDN> |
ACSTable | wildcard_table_<region>_<externalFQDN> |
Administratorerweiterungshost | wildcard_adminhosting_<region>_<externalFQDN> |
Verwaltungsportal | adminportal_<region>_<externalFQDN> |
ARM Admin | adminmanagement_<region>_<externalFQDN> |
ARM Public | management_<region>_<externalFQDN> |
KeyVault | wildcard_vault_<region>_<externalFQDN> |
KeyVaultInternal | wildcard_adminvault_<region>_<externalFQDN> |
Öffentlicher Erweiterungshost | wildcard_hosting_<region>_<externalFQDN> |
Öffentliches Portal | portal_<region>_<externalFQDN> |
Nächste Schritte
Nach der Überprüfung durch AzsReadinessChecker können Sie die Zertifikate für Ihre Azure Stack Hub-Bereitstellung oder die Geheimnisrotation nach der Bereitstellung verwenden.
- Übertragen Sie Ihre Zertifikate für die Bereitstellung sicher an Ihren Bereitstellungstechniker, sodass dieser sie auf den Host des virtuellen Bereitstellungscomputers kopieren kann, wie unter Azure Stack Hub PKI-Anforderungen – Obligatorische Zertifikate angegeben.
- Informationen zur Geheimnisrotation finden Sie unter Rotieren von Geheimnissen in Azure Stack Hub. Die Rotation von Ressourcenanbieterzertifikaten mit Mehrwert wird im Abschnitt „Rotieren externer Geheimnisse“ behandelt.