Sprawdzanie poprawności certyfikatów infrastruktury kluczy publicznych usługi Azure Stack Hub
Narzędzie do sprawdzania gotowości usługi Azure Stack Hub opisane w tym artykule jest dostępne w Galeria programu PowerShell. Użyj narzędzia , aby sprawdzić, czy wygenerowane certyfikaty infrastruktury kluczy publicznych (PKI) są odpowiednie do przed wdrożeniem. Zweryfikuj certyfikaty, pozostawiając wystarczająco dużo czasu na przetestowanie i ponowne wystawianie certyfikatów w razie potrzeby.
Narzędzie sprawdzania gotowości przeprowadza następujące weryfikacje certyfikatów:
-
Analizowanie pliku PFX
Sprawdza prawidłowy plik PFX, poprawne hasło i czy informacje publiczne są chronione hasłem. -
Data wygaśnięcia
Sprawdza minimalną ważność wynoszącą siedem dni. -
Algorytm podpisu
Sprawdza, czy algorytm podpisu nie jest algorytmem SHA1. -
Klucz prywatny
Sprawdza, czy klucz prywatny jest obecny i jest eksportowany z atrybutem komputera lokalnego. -
Łańcuch certyfikatów
Sprawdza, czy łańcuch certyfikatów jest nienaruszony, w tym sprawdzanie certyfikatów z podpisem własnym. -
Nazwy DNS
Sprawdza, czy sieć SAN zawiera odpowiednie nazwy DNS dla każdego punktu końcowego lub czy jest obecny pomocniczy symbol wieloznaczny. -
Użycie klucza
Sprawdza, czy użycie klucza zawiera podpis cyfrowy i szyfrowanie kluczy oraz sprawdza, czy rozszerzone użycie klucza zawiera uwierzytelnianie serwera i uwierzytelnianie klienta. -
Rozmiar klucza
Sprawdza, czy rozmiar klucza to 2048 lub większy. -
Kolejność łańcucha
Sprawdza kolejność innych certyfikatów, sprawdzając, czy kolejność jest poprawna. -
Inne certyfikaty
Upewnij się, że żadne inne certyfikaty nie zostały spakowane w formacie PFX innym niż odpowiedni certyfikat liścia i jego łańcuch.
Ważne
Certyfikat PKI jest plikiem PFX, a hasło powinno być traktowane jako informacje poufne.
Wymagania wstępne
System powinien spełniać następujące wymagania wstępne przed zweryfikowaniem certyfikatów PKI dla wdrożenia usługi Azure Stack Hub:
- Narzędzie sprawdzania gotowości usługi Microsoft Azure Stack Hub.
- Certyfikaty SSL wyeksportowane zgodnie z instrukcjami przygotowywania.
- DeploymentData.json.
- Windows 10 lub Windows Server 2016.
Sprawdzanie poprawności certyfikatu usług podstawowych
Wykonaj następujące kroki, aby zweryfikować certyfikaty infrastruktury kluczy publicznych usługi Azure Stack Hub pod kątem wdrażania i rotacji wpisów tajnych:
Zainstaluj narzędzie AzsReadinessChecker z poziomu wiersza polecenia programu PowerShell (5.1 lub nowszego), uruchamiając następujące polecenie cmdlet:
Install-Module Microsoft.AzureStack.ReadinessChecker -Force -AllowPrerelease
Utwórz strukturę katalogów certyfikatów. W poniższym przykładzie możesz zmienić
<C:\Certificates\Deployment>
wybraną ścieżkę katalogu na nową.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}
Uwaga
Usługi AD FS i graf są wymagane, jeśli używasz usług AD FS jako systemu tożsamości. Na przykład:
$directories = 'ACSBlob', 'ACSQueue', 'ACSTable', 'ADFS', 'Admin Extension Host', 'Admin Portal', 'ARM Admin', 'ARM Public', 'Graph', 'KeyVault', 'KeyVaultInternal', 'Public Extension Host', 'Public Portal'
- Umieść certyfikaty w odpowiednich katalogach utworzonych w poprzednim kroku. Na przykład:
C:\Certificates\Deployment\ACSBlob\CustomerCertificate.pfx
C:\Certificates\Deployment\Admin Portal\CustomerCertificate.pfx
C:\Certificates\Deployment\ARM Admin\CustomerCertificate.pfx
- Umieść certyfikaty w odpowiednich katalogach utworzonych w poprzednim kroku. Na przykład:
W oknie programu PowerShell zmień wartości
RegionName
iFQDN
IdentitySystem
odpowiednie dla środowiska usługi Azure Stack Hub i uruchom następujące polecenie cmdlet:$pfxPassword = Read-Host -Prompt "Enter PFX Password" -AsSecureString Invoke-AzsHubDeploymentCertificateValidation -CertificatePath C:\Certificates\Deployment -pfxPassword $pfxPassword -RegionName east -FQDN azurestack.contoso.com -IdentitySystem AAD
Sprawdź dane wyjściowe i upewnij się, że wszystkie certyfikaty przechodzą wszystkie testy. Na przykład:
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
Aby zweryfikować certyfikaty dla innych usług Azure Stack Hub, zmień wartość parametru
-CertificatePath
. Na przykład:# 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żdy folder powinien zawierać jeden plik PFX dla typu certyfikatu. Jeśli typ certyfikatu ma wymagania dotyczące wielu certyfikatów, zagnieżdżone foldery dla każdego certyfikatu są oczekiwane i wrażliwe na nazwy. Poniższy kod przedstawia przykładową strukturę folderów/certyfikatów dla wszystkich typów certyfikatów oraz odpowiednią wartość dla elementu
-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
Znane problemy
Objaw: Testy są pomijane
Przyczyna: AzsReadinessChecker pomija niektóre testy, jeśli zależność nie jest spełnina:
Inne certyfikaty są pomijane, jeśli łańcuch certyfikatów zakończy się niepowodzeniem.
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
Rozwiązanie: postępuj zgodnie ze wskazówkami narzędzia w sekcji szczegółów w każdym zestawie testów dla każdego certyfikatu.
Objaw: Sprawdzanie listy CRL PROTOKOŁU HTTP kończy się niepowodzeniem, mimo że protokół HTTP CDP został zapisany w rozszerzeniach x509.
Przyczyna: Obecnie narzędzie AzsReadinessChecker nie może sprawdzić pod kątem ciągłego wdrażania protokołu HTTP w niektórych językach.
Rozwiązanie: Uruchom walidację z językiem systemu operacyjnego ustawionym na EN-US.
Certyfikaty
Directory | Certyfikat |
---|---|
ACSBlob | wildcard_blob_<region>_<externalFQDN> |
ACSQueue | wildcard_queue_<region>_<externalFQDN> |
ACSTable | wildcard_table_<region>_<externalFQDN> |
Host rozszerzenia Administracja | wildcard_adminhosting_<region>_<externalFQDN> |
Portal administracyjny | adminportal_<region>_<externalFQDN> |
Administracja USŁUGI ARM | adminmanagement_<region>_<externalFQDN> |
Publiczna usługa ARM | management_<region>_<externalFQDN> |
KeyVault | wildcard_vault_<region>_<externalFQDN> |
KeyVaultInternal | wildcard_adminvault_<region>_<externalFQDN> |
Host rozszerzenia publicznego | wildcard_hosting_<region>_<externalFQDN> |
Portal publiczny | portal_<region>_<externalFQDN> |
Następne kroki
Po zweryfikowaniu certyfikatów przez narzędzie AzsReadinessChecker możesz używać ich do wdrażania usługi Azure Stack Hub lub rotacji wpisów tajnych po wdrożeniu.
- W przypadku wdrożenia należy bezpiecznie przenieść certyfikaty do inżyniera wdrożenia, aby móc skopiować je na hosta maszyny wirtualnej wdrożenia zgodnie z wymaganiami infrastruktury kluczy publicznych usługi Azure Stack Hub — obowiązkowe certyfikaty.
- Aby uzyskać informacje na temat rotacji wpisów tajnych, zobacz Rotacja wpisów tajnych w usłudze Azure Stack Hub. Rotacja certyfikatów dostawcy zasobów dodawania wartości jest omówiona w sekcji Rotacja zewnętrznych wpisów tajnych.