Memvalidasi sertifikat PKI Azure Stack Hub
Alat Pemeriksa Kesiapan Azure Stack Hub yang dijelaskan dalam artikel ini tersedia dari Galeri PowerShell. Gunakan alat ini untuk memvalidasi bahwa sertifikat infrastruktur kunci umum (PKI) yang dibuat cocok untuk pra-penyebaran. Validasi sertifikat dengan memberikan cukup waktu untuk menguji dan menerbitkan kembali sertifikat jika perlu.
Alat Pemeriksa Kesiapan akan melakukan validasi sertifikat berikut:
-
PFX Penguraian
Memeriksa file PFX yang valid, kata sandi yang benar, dan apakah informasi publik dilindungi oleh kata sandi. -
Tanggal kedaluwarsa
Memeriksa validitas minimum tujuh hari. -
Algoritma tanda tangan
Memeriksa apakah algoritma tanda tangan bukan SHA1. -
Kunci privat
Memeriksa bahwa kunci privat ada dan diekspor dengan atribut mesin lokal. -
Rantai Sertifikat
Memeriksa apakah rantai sertifikat masih utuh, termasuk pemeriksaan untuk sertifikat yang ditandatangani sendiri. -
Nama DNS
Memeriksa apakah SAN berisi nama DNS yang relevan untuk setiap titik akhir atau apakah ada kartubebas pendukung. -
Penggunaan kunci
Memeriksa apakah penggunaan kunci berisi tanda tangan digital dan encipherment kunci dan memeriksa apakah penggunaan kunci yang ditingkatkan berisi autentikasi server dan autentikasi klien. -
Ukuran Kunci
Memeriksa apakah ukuran kunci adalah 2048 atau lebih besar. -
Urutan rantai
Memeriksa urutan sertifikat lain untuk memvalidasi bahwa urutannya sudah benar. -
Sertifikat lainnya
Memastikan tidak ada sertifikat lain yang dikemas dalam PFX selain sertifikat daun yang relevan dan rantainya.
Penting
Sertifikat PKI adalah file PFX dan kata sandi harus diperlakukan sebagai informasi sensitif.
Prasyarat
Sistem Anda harus memenuhi prasyarat berikut sebelum memvalidasi sertifikat PKI untuk penyebaran Azure Stack Hub:
- Pemeriksa Kesiapan Microsoft Azure Stack Hub.
- Sertifiakt SSL akan diekspor setelah instruksi persiapan.
- DeploymentData.json.
- Windows 10 atau Windows Server 2016.
Melakukan validasi sertifikat layanan inti
Gunakan langkah-langkah ini untuk memvalidasi sertifikat PKI Azure Stack Hub untuk penyebaran dan rotasi rahasia:
Pasang AzsReadinessChecker dari perintah PowerShell (5.1 atau lebih tinggi) dengan menjalankan cmdlet berikut:
Install-Module Microsoft.AzureStack.ReadinessChecker -Force -AllowPrerelease
Buat struktur direktori sertifikat. Pada contoh di bawah ini, Anda dapat mengubah
<C:\Certificates\Deployment>
ke jalur direktori baru pilihan Anda.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}
Catatan
Active Directory Federation Services dan Graph diperlukan jika Anda menggunakan Active Directory Federation Services sebagai sistem identitas Anda. Contohnya:
$directories = 'ACSBlob', 'ACSQueue', 'ACSTable', 'ADFS', 'Admin Extension Host', 'Admin Portal', 'ARM Admin', 'ARM Public', 'Graph', 'KeyVault', 'KeyVaultInternal', 'Public Extension Host', 'Public Portal'
- Tempatkan sertifikat Anda di direktori yang sesuai yang dibuat pada langkah sebelumnya. Contohnya:
C:\Certificates\Deployment\ACSBlob\CustomerCertificate.pfx
C:\Certificates\Deployment\Admin Portal\CustomerCertificate.pfx
C:\Certificates\Deployment\ARM Admin\CustomerCertificate.pfx
- Tempatkan sertifikat Anda di direktori yang sesuai yang dibuat pada langkah sebelumnya. Contohnya:
Di jendela PowerShell, ubah nilai
RegionName
,FQDN
, danIdentitySystem
sesuai dengan lingkungan Azure Stack Hub dan jalankan cmdlet berikut:$pfxPassword = Read-Host -Prompt "Enter PFX Password" -AsSecureString Invoke-AzsHubDeploymentCertificateValidation -CertificatePath C:\Certificates\Deployment -pfxPassword $pfxPassword -RegionName east -FQDN azurestack.contoso.com -IdentitySystem AAD
Periksa output dan pastikan bahwa semua sertifikat lulus semua tes. Contohnya:
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
Untuk memvalidasi sertifikat untuk layanan Azure Stack Hub lainnya, ubah nilai untuk
-CertificatePath
. Contohnya:# 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
Setiap folder harus berisi satu file PFX untuk jenis sertifikat. Jika jenis sertifikat memiliki persyaratan multi-sertifikat, folder bersarang untuk masing-masing sertifikat diharapkan dan peka nama. Kode berikut menunjukkan contoh struktur folder/sertifikat untuk semua jenis sertifikat, dan nilai yang sesuai untuk
-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
Masalah yang diketahui
Gejala: Pengujian dilewati
Penyebab: AzsReadinessChecker melewatkan pengujian tertentu jika dependensi tidak terpenuhi:
Sertifikat lain dilewati jika rantai sertifikat gagal.
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
Resolusi: Ikuti panduan alat di bagian detail di bawah setiap set pengujian untuk setiap sertifikat.
Gejala: Pemeriksaan HTTP CRL gagal meskipun memiliki CDP HTTP yang ditulis ke ekstensi x509.
Penyebab: Saat ini, AzsReadinessChecker tidak dapat memeriksa HTTP CDP dalam beberapa bahasa.
Resolusi: Jalankan validasi dengan bahasa OS yang diatur ke EN-US.
Sertifikat
Direktori | Sertifikat |
---|---|
ACSBlob | wildcard_blob_<region>_<externalFQDN> |
ACSQueue | wildcard_queue_<region>_<externalFQDN> |
ACSTable | wildcard_table_<region>_<externalFQDN> |
Host Ekstensi Admin | wildcard_adminhosting_<region>_<externalFQDN> |
Portal Admin | adminportal_<region>_<externalFQDN> |
ARM Admin | adminmanagement_<region>_<externalFQDN> |
Publik ARM | management_<region>_<externalFQDN> |
Az.KeyVault | wildcard_vault_<region>_<externalFQDN> |
KeyVaultInternal | wildcard_adminvault_<region>_<externalFQDN> |
Host Ekstensi Publik | wildcard_hosting_<region>_<externalFQDN> |
Portal Publik | portal_<region>_<externalFQDN> |
Langkah berikutnya
Setelah sertifikat Anda divalidasi oleh AzsReadinessChecker, Anda siap menggunakannya untuk penyebaran Azure Stack Hub atau pemutaran rahasia pasca-penyebaran.
- Untuk penyebaran, transfer sertifikat Anda dengan aman ke teknisi penyebaran Anda sehingga mereka dapat menyalinnya ke host komputer virtual penyebaran seperti yang ditentukan dalam persyaratan PKI Azure Stack Hub - Sertifikat wajib.
- Untuk rotasi rahasia, lihat Memutar rahasia di Azure Stack Hub. Pemutaran sertifikat penyedia sumber nilai tambah tercakup dalam Bagian putar rahasia eksternal.