Standalone CA – Pseudo-Enrolment z Powershell’a

27 marca 2015 at 11:51

W pewnym środowisku domenowym – powstała konieczność generowania certyfikatów personalnych dla użytkowników w oparciu o CA – Standalone, bez użycia AutoEnrolmentu.

Po co? Dlaczego? – Biznes – tego nie zrozumiesz… 😉

Gdzie jest haczyk? Dla jednej, czy dwóch osób przeklinanie się przez dedykowany serwis IIS’owy do składania zadań certyfikatów nie stanowi problemu, natomiast przy wolumenie kilkuset/kilku tysięcy użytkowników ręczne wykonywanie ciągu akcji jest po prostu stratą czasu i mocy przerobowych.

Zacznijmy może od tego jak wygląda proces wykonywany w całości ręcznie:

1. Zebranie danych o użytkowniku (Imie, nazwisko, identyfikator(samaccountname), DN….)

2. Wprowadzenie zebranych wcześniej informacji przez dedykowany serwis IIS „certsrv”

3. Wysłanie wniosku do podpisania certyfikatu

4. Podpisanie żądania

5. Pobranie podpisanego żądania z serwisu IIS

6. „Poskładanie” pfx’a złozonego z klucza publicznego i prywatnego

Razy kilkaset/kilka tysięcy = masakra :)

 

Co robić? Jak ułatwić sobie zadanie?

Oczywiście wykorzystując Powershell’a. W pierwszym kroku należy przygotować sobie szablon, który będzie służyć do składania wniosków. Nazwijmy go „Wzorzec.inf” :

Jeżeli nie mamy utworzonego szablonu „PseudoEnrolment” – konieczne będzie potwierdzanie informacji o jego braku przy generowaniu certów. Można tez za-komentować tą linijkę.

Parametry dotyczące certyfikatu zalezą oczywiście od potrzeb :)

OK. Co dalej z naszym plikiem wzorcowym?

Przygotowujemy sobie listę identyfikatorów użytkowników (samaccountname)  dla których będziemy generować certyfikaty i zapisujemy je w pliku „cert.csv” a następnie pozostaje już tylko uruchomić skrypt:

W efekcie otrzymujemy gotowe pfx’y z unikalnymi silnymi hasłami zapisanymi w pliku.

Pozostaje dystrybucja certyfikatów i haseł do użytkowników końcowych.

 

Założenia do poprawnego działania:

Pliki i skrypt w lokalizacji C:\

Uprawnienia do odczytu usług katalogowych, zapisu i usuwania plików w lokalizacji C:\ + uprawnienia do obsługi certyfikatów w CA.

Udrożniony ruch sieciowy do CA

Subject certyfikatów się nie powtarza – w takim wypadku nalezy dopisac usuwanie certyfikatu ze store’a „my” komputera gdzie obsługujemy cały proces.

Zainstalowany i załadowany moduł Quest Active Directory. (Mozna sobie podmienić na moduł ActiveDirectory jeśli ktoś woli).

Zmiana SerwerCA\NAzwaCA na faktyczne istniejące w Twojej organizacji CA.