Ověření certifikátů PKI služby Azure Stack Hub
Nástroj Azure Stack Hub Readiness Checker popsaný v tomto článku je k dispozici z Galerie PowerShell. Pomocí nástroje ověřte, že certifikáty infrastruktury veřejných klíčů (PKI) vygenerované jsou vhodné pro předběžné nasazení. Ověřte certifikáty tak, že ponecháte dostatek času k otestování a opětovnému otestování certifikátů v případě potřeby.
Nástroj Readiness Checker provádí následující ověření certifikátů:
-
parsovat PFX
Kontroluje platný soubor PFX, správné heslo a zda jsou veřejné informace chráněny heslem. -
datum vypršení platnosti
Kontroluje minimální platnost sedmi dnů. -
Algoritmus podpisu
Zkontroluje, že algoritmus podpisu není SHA1. - Privátní klíč
Kontroluje se, zda je přítomen privátní klíč a zda je exportován s atributem místního počítače. -
řetěz certifikátů
Kontroluje, zda je řetěz certifikátů neporušený, včetně kontroly samopodepsaných certifikátů. -
názvy DNS
Zkontroluje, jestli síť SAN obsahuje relevantní názvy DNS pro každý koncový bod nebo pokud existuje 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 kontroluje, jestli použití rozšířeného klíče obsahuje ověřování serveru a ověření klienta. -
velikost klíče
Zkontroluje, jestli je velikost klíče 2048 nebo větší. -
objednávky řetězce
Zkontroluje pořadí ostatních certifikátů, které ověřují správnost objednávky. -
jiné certifikáty
Ujistěte se, že v souboru PFX nebyly zabalené žádné jiné certifikáty, než je příslušný listový certifikát a jeho řetěz.
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ů pro přípravu .
- DeploymentData.json.
- Windows 10 nebo Windows Server 2016.
Ověření certifikátu základních služeb
Pomocí těchto kroků ověřte certifikáty PKI služby Azure Stack Hub pro nasazení a obměnu 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 adresářovou strukturu certifikátu. V následujícím příkladu můžete změnit
<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
Služba AD FS a Graph se vyžadují, pokud jako systém identit používáte službu AD FS. Například:
$directories = 'ACSBlob', 'ACSQueue', 'ACSTable', 'ADFS', 'Admin Extension Host', 'Admin Portal', 'ARM Admin', 'ARM Public', 'Graph', 'KeyVault', 'KeyVaultInternal', 'Public Extension Host', 'Public Portal'
- Certifikáty umístěte 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
- Certifikáty umístěte do příslušných adresářů vytvořených v předchozím kroku. Například:
V okně PowerShellu změňte hodnoty
RegionName
,FQDN
aIdentitySystem
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
-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 má typ certifikátu požadavky na více certifikátů, očekávají se vnořené složky pro každý jednotlivý certifikát, přičemž názvy složek jsou citlivé na velikost písmen. Následující kód ukazuje ukázkovou strukturu složek a 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
Symptom: Příznak: Testy jsou přeskočeny
Příčina: AzsReadinessChecker přeskočí určité testy, pokud podmínka není splněna:
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 sekci s podrobnostmi u každé sady testů pro každý certifikát.
Příznak: Kontrola CRL pomocí HTTP se nezdaří, přestože je HTTP CDP uveden v rozšíření x509.
Důvod: V současné době AzsReadinessChecker nemůže v některých jazycích zkontrolovat protokol HTTP CDP.
řešení: Spusťte ověřování pomocí jazyka operačního systému nastaveného na EN-US.
Certifikáty
Adresář | Certifikát |
---|---|
ACSBlob | wildcard_blob_<region>_<externalFQDN> |
ACSQueue | wildcard_queue_<region>_<externalFQDN> |
Tabulka ACS | wildcard_table_<region>_<externalFQDN> |
Hostitel rozšíření správce | wildcard_adminhosting_<region>_<externalFQDN> |
Portál pro správu | adminportal_<region>_<externalFQDN> |
Správce ARM | adminmanagement_<region>_<externalFQDN> |
Veřejná část ARM | management_<region>_<externalFQDN> |
KeyVault | wildcard_vault_<region>_<externalFQDN> |
KeyVaultInternal | wildcard_adminvault_<region>_<externalFQDN> |
Hostitel veřejného rozšíření | wildcard_hosting_<region>_<externalFQDN> |
Veřejný portál | portal_<region>_<externalFQDN> |
Další kroky
Jakmile azsReadinessChecker ověří certifikáty, můžete je použít pro nasazení služby Azure Stack Hub nebo obměnu tajných kódů po nasazení.
- Pro nasazení bezpečně přeneste certifikáty technikům nasazení, aby je mohli zkopírovat do hostitele virtuálního počítače nasazení, jak je uvedeno v požadavcích infrastruktury 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. Rotace certifikátů dodavatele s přidanou hodnotou je popsána v části Rotace externích tajemství.