Usługi certyfikatów Active Directory systemu Windows (ADCS) z serwerem proxy PKI¶
W niniejszym dokumencie opisano konfigurację usług certyfikatów Active Directory systemu Windows (ADCS) z wykorzystaniem PKI Proxy i NetHSM.
Prerequisits¶
NetHSM
Provisioned
Administrative access
PKI Proxy server
Moduł NetHSM PKCS#11 został zainstalowany i skonfigurowany do pracy z NetHSM
Serwer CA (Windows Server)
ADCS role installed, but not configured
PKI Proxy client tools installed
Narzędzia klienckie nie są wymagane, jeśli na tym serwerze działa również serwer PKI Proxy, ponieważ zawiera on te narzędzia.
Pynitrokey installed
Root CA Key and Certificate¶
W poniższej tabeli wymieniono algorytmy kluczy i długości kluczy wraz z algorytmami haszującymi, z których usługa ADCS systemu Windows może korzystać w połączeniu z NetHSM.
Key Algorithm |
Key Length |
Hash Algorithm |
RSA |
1024 |
MD2, MD4, MD5, SHA1, SHA256, SHA384, SHA512 |
2048 |
MD2, MD4, MD5, SHA1, SHA256, SHA384, SHA512 |
|
4096 |
MD2, MD4, MD5, SHA1, SHA256, SHA384, SHA512 |
|
ECDSA |
P256 |
SHA1, SHA256, SHA385, SHA512 |
P384 |
SHA1, SHA256, SHA385, SHA512 |
|
P521 |
SHA1, SHA256, SHA385, SHA512 |
Ważne
Prosimy o stosowanie się do najlepszych praktyk dotyczących wyboru bezpiecznego algorytmu klucza, długości klucza oraz algorytmu skrótu.
Klucz i certyfikat mogą być albo nowo wygenerowane, albo można przenieść już istniejące. Aby dowiedzieć się więcej o sposobie postępowania w konkretnej sytuacji, zapoznaj się z poniższymi podrozdziałami.
Generate a new Root CA Key and Certificate on Windows¶
Poniższa instrukcja pozwala utworzyć nowy klucz i certyfikat do wykorzystania w głównym urzędzie certyfikacji „ ” w usłudze ADCS.
Wskazówka
Zazwyczaj łatwiej jest wygenerować klucz i certyfikat za pomocą kreatora konfiguracji ADCS, a następnie postępować zgodnie z instrukcjami zawartymi na stronie Migracja istniejącego klucza i certyfikatu.
W tym przypadku wykorzystuje się szablon żądania do wygenerowania klucza z jawnymi rozszerzeniami certyfikatu CA. Konkretne wartości należy dostosować do własnego środowiska.
Szablon żądania należy zapisać w pliku o nazwie RootCA.inf, a jego treść powinna wyglądać następująco.
Ten szablon wygeneruje klucz RSA o długości 4096 bitów. Należy zastąpić adres <CA-NAME> nazwą własnego urzędu certyfikacji (CA).
[Version]
Signature="$Windows NT$"
[NewRequest]
Subject = "CN=<CA-NAME>"
KeySpec = 1
KeyLength = 4096
Exportable = TRUE
MachineKeySet = TRUE
SMIME = FALSE
PrivateKeyArchive = FALSE
UserProtected = FALSE
UseExistingKeySet = FALSE
ProviderName = "Microsoft Software Key Storage Provider"
ProviderType = 0
RequestType = Cert
KeyUsage = 0x86
[Extensions]
; Key Usage: keyCertSign (0x04) + cRLSign (0x02) => 0x06
2.5.29.15 = "{critical}86"
; Basic Constraints: CA = TRUE, path length optional
2.5.29.19 = "{critical}{text}CA=TRUE"
; CA Version (V0.0)
1.3.6.1.4.1.311.21.1 = "{hex}02 01 00"
[RequestAttributes]
; Empty for self-signed request
Generate the key and certificate from the certificate template.
certreq -new RootCA.inf RootCA.req
Certyfikat został dodany do lokalnego magazynu certyfikatów. Wyeksportuj certyfikat do pliku PFX, zastępując <THUMBPRINT> odpowiednią wartością z wyniku poprzedniego polecenia.
$password = Read-Host -AsSecureString "Password"
Export-PfxCertificate -Cert Cert:\LocalMachine\My\<THUMBPRINT> -FilePath RootCA.pfx -Password $password
Hasło służy do szyfrowania archiwum PKCS#12 (pliku PFX). Można przejść do rozdziału „ ” Konfiguracja NetHSM.
Migrate existing Key and Certificate¶
Aby przenieść istniejący klucz i certyfikat, należy je wyeksportować z magazynu certyfikatów na serwerze ADCS, a uzyskane w ten sposób archiwum zaimportować do urządzenia NetHSM.
Ważne
Przed wprowadzeniem zmian w produkcyjnym urzędzie certyfikacji zaleca się utworzenie jego kopii zapasowej. Więcej informacji można znaleźć na stronie this.
Otwórz stronę
certlm.msc.Przejdź do sekcji „ ” → „Certyfikaty” → „Komputer lokalny” → „Osobiste” → „Certyfikaty”.
Select the certificate in the list on the right.
W pasku menu u góry przejdź do opcji „ ” → „All Tasks” → „Export…”. Spowoduje to uruchomienie kreatora eksportu certyfikatów ** .
Confirm the introduction of the assistant with Next.
Zaznacz przycisk opcji obok opcji „ ” (Tak, wyeksportuj klucz prywatny), a następnie potwierdź wybór, klikając „ ” (Tak, wyeksportuj klucz prywatny). Następnie kliknij „ ” (Tak, wyeksportuj klucz prywatny). Jeśli przycisk opcji jest niedostępny, oznacza to, że klucz został oznaczony jako niepodlegający eksportowi. W takim przypadku niniejszy przewodnik nie ma zastosowania w danym przypadku użycia.
W miarę możliwości należy uwzględnić wszystkie certyfikaty w ścieżce certyfikacji
Zaznacz przycisk opcji obok opcji „ ” (Tak, wyeksportuj klucz prywatny), a następnie potwierdź wybór, klikając „ ” (Tak, wyeksportuj klucz prywatny). Następnie kliknij „ ” (Tak, wyeksportuj klucz prywatny).
Zaznacz przycisk opcji obok pozycji „ Personal Information Exchange — PKCS #12 (.PFX)”. Upewnij się, że zaznaczyłeś następujące opcje:
W miarę możliwości należy uwzględnić wszystkie certyfikaty w ścieżce certyfikacji
Eksportuj wszystkie właściwości rozszerzone
Enable certificate privacy
Confirm the selection with Next.
Zaznacz przycisk opcji obok pozycji „ ” („Hasło”). Wpisz hasło w polach tekstowych przeznaczonych na hasło. Z listy rozwijanej obok pozycji „ Encryption” („Szyfrowanie”) wybierz opcję „ ” („Szyfrowanie”) AES256-SHA256.
Ważne
Metoda szyfrowania AES256-SHA256 jest obsługiwana dopiero od wersji Windows Server 2019 i Windows 11. W przypadku starszych wersji należy zachować domyślną metodę TripleDES-SHA1.
Confirm the selection with Next.
Choose a storage location and file name and confirm with Next.
Ważne
Wyeksportowany klucz i certyfikat należy przechowywać w bezpiecznym miejscu, do którego dostęp mają wyłącznie uprawnieni użytkownicy.
Confirm the export with Finish.
Upewnij się, że certyfikat jest nadal zaznaczony na liście po prawej stronie.
W pasku menu u góry przejdź do opcji „ ” → „All Tasks” → „Delete”. Potwierdź usunięcie klucza prywatnego i certyfikatu, wybierając opcję „ ” → „Yes”.
Możesz przejść do rozdziału Konfiguracja NetHSM.
NetHSM Configuration¶
Klucz i certyfikat z poprzedniego rozdziału należy zaimportować do urządzenia NetHSM. Za pomocą poleceni nitropia możemy zaimportować archiwum PKCS#12 bezpośrednio do urządzenia NetHSM.
Zaimportuj archiwum PKCS#12 w następujący sposób, zastępując adresy <KEY-ID>, <MECHANISM> oraz <PKCS12-ARCHIVE> odpowiednimi wartościami.
nitropy nethsm import-pkcs12 -k <KEY-ID> -m <MECHANISM> -p <password> <PKCS12-ARCHIVE>
W przypadku kluczy RSA mechanizm ten musi być zgodny z rsa_signature_pkcs1, a w przypadku kluczy ECDSA — z ecdsa_signature.
Można teraz sprawdzić, czy certyfikat jest dostępny na urządzeniu NetHSM.
nitropy nethsm list-keys
Klucz zostanie wyświetlony wraz z identyfikatorem klucza podanym w poprzednim poleceniu.
PKI Proxy Server Configuration¶
Na serwerze proxy PKI należy udostępnić właśnie dodany certyfikat z urządzenia NetHSM. Aby uzyskać więcej informacji, należy postępować zgodnie z instrukcjami zawartymi w artykule „ : Publish Certificates from the NetHSM”.
Windows ADCS Configuration¶
PKI Proxy Client Tools Configuration¶
Poniżej udostępniamy klucz i certyfikat w lokalnym magazynie certyfikatów systemu Windows.
Open the PKI Proxy Certificate Manager.
Click the Add… button.
Wypełnij wymagane pola.
Adres, np.
https://localhost:9266Uwierzytelnianie
User
Secret Key/Password/SPN
Certificate Store:
LOCALMACHINE\My
Confirm the configuration with the OK button. This will bring you back to the previous window.
The list under Certificate Management in the PKI Proxy Certificate Manager should now show the just added certificate.
Można teraz sprawdzić, czy certyfikat znajduje się w lokalnym magazynie certyfikatów.
Otwórz okno dialogowe „ ” (Uruchom), klikając prawym przyciskiem myszy menu Start systemu Windows **** i wybierając opcję „ ” (Uruchom) lub naciskając klawisz Windows + R **** na klawiaturze.
W oknie dialogowym „ ” (Uruchom) wpisz
certlm.msci potwierdź, naciskając klawisz Wpisz na klawiaturze lub kliknij przycisk OK.W wyświetlonym menedżerze certyfikatów przejdź w drzewie po lewej stronie do sekcji „ ” → „Certificates” → „Local Computer” → „Personal” → „Certificates”.
The published certificate is now listed on the right.
Windows ADCS Configuration¶
Otwórz Menedżera serwera **** z menu Start systemu **** lub naciskając klawisz Windows + R na klawiaturze i wpisz
ServerManager.exe.W pasku menu w prawym górnym rogu kliknij ikonę flagi i wybierz opcję „ ” (Skonfiguruj usługi certyfikatów Active Directory) na serwerze docelowym spośród powiadomień po wdrożeniu. Spowoduje to uruchomienie kreatora konfiguracji usług certyfikatów Active Directory ( ).
In the wizard, set the settings below according to the stage.
Role Services
Check the radio button next to Certification Authority.
Setup Type
W zależności od posiadanego środowiska wybierz certyfikat „ ” (Enterprise CA) lub „ ” (samodzielny certyfikat CA).
CA Type
Wybierz certyfikat główny „ ”
Private Key
Zaznacz przycisk opcji obok pozycji „ ” (Użyj istniejącego klucza prywatnego). W ramach tej opcji zaznacz przycisk opcji obok pozycji „ ” (Wybierz certyfikat i użyj powiązanych z nim kluczy prywatnych).
Existing Certificate
Na liście certyfikatów **** wybierz certyfikat, którego chcesz użyć. Upewnij się, że pole wyboru obok opcji „ ” (Zezwól na interakcję administratora podczas uzyskiwania dostępu do klucza prywatnego przez urząd certyfikacji) nie jest zaznaczone. Nie jest to konieczne, ponieważ moduł PKI Proxy KSP nie wymaga żadnego dodatkowego uwierzytelniania w celu korzystania z klucza prywatnego.
Po zakończeniu działania kreatora konfiguracji otwórz „ ” (Urząd certyfikacji) z menu Start **** lub naciskając klawisz Windows + R **** na klawiaturze i wpisując
certsrv.msc. Prawidłowe uruchomienie usługi urzędu certyfikacji można sprawdzić, obserwując zieloną kropkę z ikoną białego znacznika wyboru obok nazwy urzędu certyfikacji.
Ważne
Dostępność urzędu certyfikacji zależy od dostępności klucza prywatnego i certyfikatu. Jeśli nie są one dostępne, usługa urzędu certyfikacji może się nie uruchomić lub zostanie nieoczekiwanie zatrzymana. W razie wystąpienia błędu sprawdź dziennik zdarzeń systemu Windows pod adresem ** , aby uzyskać więcej informacji.