Ověřování certifikátů PKI služby Azure Stack Hub
Nástroj Azure Stack Hub Readiness Checker popsaný v tomto článku je k dispozici na Galerie prostředí PowerShell. Pomocí nástroje ověřte, jestli jsou vygenerované certifikáty infrastruktury veřejných klíčů (PKI) vhodné pro předběžné nasazení. Ověřte certifikáty tak, že necháte dostatek času na testování a v případě potřeby certifikáty znovu vysudíte.
Nástroj Readiness Checker provádí následující ověření certifikátů:
-
Parsovat PFX
Zkontroluje platný soubor PFX, správné heslo a jestli jsou veřejné informace chráněny heslem. -
Platnosti
Kontroluje minimální platnost sedmi dnů. -
Algoritmus podpisu
Zkontroluje, že algoritmus podpisu není SHA1. -
Privátní klíč
Zkontroluje, že je k dispozici privátní klíč a exportuje se s atributem místního počítače. -
Řetěz certifikátů
Kontroluje, že řetěz certifikátů je beze změny, včetně kontroly certifikátů podepsaných svým držitelem. -
Názvy DNS
Zkontroluje, jestli síť SAN obsahuje relevantní názvy DNS pro každý koncový bod nebo jestli je k dispozici podpůrný zástupný znak. -
Použití klíče
Zkontroluje, jestli použití klíče obsahuje digitální podpis a šifrování klíče, a zkontroluje, jestli použití rozšířeného klíče neobsahuje ověřování serveru a ověřování klientů. -
Velikost klíče
Zkontroluje, jestli je velikost klíče 2048 nebo větší. -
Pořadí řetězu
Zkontroluje pořadí ostatních certifikátů, které ověřují správnost objednávky. -
Další certifikáty
Ujistěte se, že v PFX nebyly zabaleny žádné jiné certifikáty kromě příslušného listového certifikátu a jeho řetězu.
Důležité
Certifikát PKI je soubor PFX a heslo by se mělo považovat za citlivé informace.
Požadavky
Před ověřením certifikátů PKI pro nasazení služby Azure Stack Hub by měl váš systém splňovat následující požadavky:
- Microsoft Azure Stack Hub Readiness Checker.
- Certifikáty SSL exportované podle pokynů k přípravě.
- DeploymentData.json.
- Windows 10 nebo Windows Server 2016.
Ověřování certifikátů základních služeb
Pomocí těchto kroků ověřte certifikáty PKI služby Azure Stack Hub pro nasazení a obměně tajných kódů:
Spuštěním následující rutiny nainstalujte AzsReadinessChecker z příkazového řádku PowerShellu (5.1 nebo novější):
Install-Module Microsoft.AzureStack.ReadinessChecker -Force -AllowPrerelease
Vytvořte strukturu adresářů certifikátů. V následujícím příkladu můžete přejít
<C:\Certificates\Deployment>
na novou cestu k adresáři podle svého výběru.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}
Poznámka
Pokud jako systém identit používáte SLUŽBU AD FS, jsou vyžadovány služby AD FS a Graph. Například:
$directories = 'ACSBlob', 'ACSQueue', 'ACSTable', 'ADFS', 'Admin Extension Host', 'Admin Portal', 'ARM Admin', 'ARM Public', 'Graph', 'KeyVault', 'KeyVaultInternal', 'Public Extension Host', 'Public Portal'
- Umístěte certifikáty do příslušných adresářů vytvořených v předchozím kroku. Například:
C:\Certificates\Deployment\ACSBlob\CustomerCertificate.pfx
C:\Certificates\Deployment\Admin Portal\CustomerCertificate.pfx
C:\Certificates\Deployment\ARM Admin\CustomerCertificate.pfx
- Umístěte certifikáty do příslušných adresářů vytvořených v předchozím kroku. Například:
V okně PowerShellu změňte hodnoty
RegionName
aFQDN
IdentitySystem
odpovídající prostředí služby Azure Stack Hub a spusťte následující rutinu:$pfxPassword = Read-Host -Prompt "Enter PFX Password" -AsSecureString Invoke-AzsHubDeploymentCertificateValidation -CertificatePath C:\Certificates\Deployment -pfxPassword $pfxPassword -RegionName east -FQDN azurestack.contoso.com -IdentitySystem AAD
Zkontrolujte výstup a ujistěte se, že všechny certifikáty projdou všemi testy. Například:
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
Pokud chcete ověřit certifikáty pro jiné služby Azure Stack Hub, změňte hodnotu pro
-CertificatePath
. Například:# 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
Každá složka by měla obsahovat jeden soubor PFX pro typ certifikátu. Pokud typ certifikátu má požadavky na více certifikátů, jsou očekávané vnořené složky pro každý jednotlivý certifikát a jsou citlivé na název. Následující kód ukazuje ukázkovou strukturu složek/certifikátů pro všechny typy certifikátů a odpovídající hodnotu pro
-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
Známé problémy
Příznak: Testy se přeskočí.
Příčina: AzsReadinessChecker přeskočí určité testy, pokud není splněna závislost:
Pokud řetěz certifikátů selže, ostatní certifikáty se přeskočí.
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
Řešení: Postupujte podle pokynů nástroje v části s podrobnostmi v každé sadě testů pro každý certifikát.
Příznak: Kontrola seznamu CRL protokolu HTTP selže, přestože je protokol HTTP CDP zapsán do rozšíření x509.
Příčina: AzsReadinessChecker v současné době nemůže v některých jazycích vyhledat protokol HTTP CDP.
Řešení: Spusťte ověření s jazykem operačního systému nastaveným na EN-US.
Certifikáty
Directory | Certifikát |
---|---|
ACSBlob | wildcard_blob_<region>_<externalFQDN> |
ACSQueue | wildcard_queue_<region>_<externalFQDN> |
Tabulka ACS | wildcard_table_<region>_<externalFQDN> |
hostitel rozšíření Správa | wildcard_adminhosting_<region>_<externalFQDN> |
Portál pro správu | adminportal_<region>_<externalFQDN> |
Správa ARM | adminmanagement_<region>_<externalFQDN> |
Veřejná verze ARM | management_<region>_<externalFQDN> |
KeyVault | wildcard_vault_<region>_<externalFQDN> |
KeyVaultInternal | wildcard_adminvault_<region>_<externalFQDN> |
Veřejný hostitel rozšíření | wildcard_hosting_<region>_<externalFQDN> |
Veřejný portál | portal_<region>_<externalFQDN> |
Další kroky
Jakmile certifikáty ověří azsReadinessChecker, můžete je použít k nasazení služby Azure Stack Hub nebo obměně tajných kódů po nasazení.
- V případě nasazení bezpečně přeneste certifikáty technikům nasazení, aby je mohl zkopírovat do hostitele virtuálního počítače nasazení, jak je uvedeno v tématu Požadavky na infrastrukturu veřejných klíčů služby Azure Stack Hub – Povinné certifikáty.
- Informace o obměně tajných kódů najdete v tématu Obměna tajných kódů ve službě Azure Stack Hub. Obměna certifikátů zprostředkovatele prostředků s přidanou hodnotou je popsaná v části Obměna externích tajných kódů.