Sdílet prostřednictvím


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ů:

  1. 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
    
  2. 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
  3. V okně PowerShellu změňte hodnoty RegionName, FQDN a 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  
    
  4. 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í.