Per installare certificati in maniera trasparente possiamo usare diversi metodi, il più ovvio e diffuso dei quali è senza dubbio una GPO. Ma non è sempre detto che la GPO sia la soluzione più veloce (ad esempio: chi deve eseguire il deploy dei certificati non ha i permessi per lavorare sulle GPO, o il certificato deve essere installato su un numero esiguo di PC per cui chi dovrebbe fare la GPO non considera questa un’attività primaria da svolgere ed i tempi rischiano di allungarsi)
Andiamo quindi a vedere come distribuire un certificato CA self-signed tramite KACE 1000. In seguito andremo anche ad installare sui client, con la stessa procedura, un secondo certificato intermedio, validato a sua volta dalla CA.
L’utility certutil.exe
certutil.exe è una utility, presente in tutti i sistemi Windows, che ci permette di fare tante cose con i certificati. Possiamo convertirli in caso il formato che abbiamo non sia quello che ci serve, possiamo importarli ed esportarli (sia in locale che su Active Directory), verificare la validità delle coppie di chiavi privata/pubblica eccetera.
Si usa da riga di comando e per la sintassi completa vi rimando all’apposita pagina sulla Knowledge Base Micorosoft
Definizioni
- Entrambi i nostri certificati sono già in formato .cer
- Il certificato CA si chiama NGIRootCA01
- Il certificato intermedio si chiama NGISSLCA01.cer
Importazione della CA tramite certutil.exe
Il comando di importazione, che possiamo eseguire da un qualsiasi prompt amministrativo, è il seguente
start /wait certutil -addstore Root NGIRootCA01.cer
Il parametro -addstore deifnisce il datastore in cui andremo ad installare il certificato. Root corrisponde a “Autorità di certificazione radice attendibili”
Importazione del certificato intermedio
Il certificato intermedio (che chiameremo SSLCA01.cer) a cui si faceva riferimento poco fa si importerà nella stessa maniera, cambiando solamente il datastore di riferimento:
start /wait certutil -addstore CA NGISSLCA01.cer
Lo script (kscript) su Kace
Andiamo ora a riportare tutto su Kace 1000, creando uno script apposito.
Riassunto delle Attività
- Impostazione dei parametri di base
- Importazione dei due certificati come dipendenze
- Creazione di un batch file
- Schedulazione
Realizzazione
- Portiamoci in Scripting / Scripts e creiamo un novo kscript (“New”)
- Una volta definito un nome, portiamoci nella sezione Operating Systems e clicchiamo su Manage Operating Systems, andando a selezionare tutti i SO Windows (e, visto che andremo a creare un batch file, solo quelli Windows) di nostro interesse
- Verifichiamo che Windows Run As sia impostato a Local System
-
Nella sezione Dependencies facciamo click su +New Dependency… e carichiamo:
- Il certificato Root
- Il certificato Intermedio
-
Facciamo ora click su +Task… nella sezione sottostante ed impostiamo i seguenti passi:
- Verify that the file “C:\Tools\certificato.ok” exists (questo ci servirà per fare un check sull’applicazione del certificato, che andremo a schedulare e qundi ad eseguire ad intervalli regolari; se il file certificato.ok esiste allora lo script si interrompe). Per riferimento sul percorso scelto, potete vedere questo mio precedente articolo
- On Success: nulla
- Remediation: Run the batch file “Install_CA_Root_Script” with params “”
Codice:@echo off start /wait certutil -addstore Root NGIRootCA01.cer start /wait certutil -addstore CA NGISSLCA01.cer exit
- On Remediaton Success Launch a program…
- Clicchiamo su Save per completare la creazione del kscript
Schedulazione
In caso volessimo schedulare lo script, sarà sufficiente, una volta tornati in editing, andare ad impostare la finestra desiderata. Ad esempio, nel nostro caso lo script verrà eseguito sui devices desiderati ogni tre ore secondo questa logica:
- Lo script viene eseguito la prima volta
- Al termine, lascia un file “certificato.ok”, di dimensione 0 bytes, in C:\Tools\
- Dalla volta seguente (ogni tre ore…) se trova il file “certificato.ok” allora si interrompe e non fa null’altro