Puppet - Configurazione del certificato di firma SSL

Quando il software dell'agente Puppet viene eseguito per la prima volta su qualsiasi nodo Puppet, genera un certificato e invia la richiesta di firma del certificato al master Puppet. Prima che il server Puppet sia in grado di comunicare e controllare i nodi dell'agente, deve firmare il certificato di quel particolare nodo dell'agente. Nelle sezioni seguenti, descriveremo come firmare e controllare la richiesta di firma.

Elenca le richieste di certificati correnti

In Puppet master, esegui il comando seguente per visualizzare tutte le richieste di certificato non firmate.

$ sudo /opt/puppetlabs/bin/puppet cert list

Poiché abbiamo appena impostato un nuovo nodo agente, vedremo una richiesta di approvazione. Di seguito sarà iloutput.

"Brcleprod004.brcl.com" (SHA259) 
15:90:C2:FB:ED:69:A4:F7:B1:87:0B:BF:F7:ll:
B5:1C:33:F7:76:67:F3:F6:45:AE:07:4B:F 6:E3:ss:04:11:8d

Non contiene alcun segno + (segno) all'inizio, che indica che il certificato non è ancora firmato.

Firma una richiesta

Per firmare la nuova richiesta di certificato che è stata generata quando è avvenuta l'esecuzione dell'agente Puppet sul nuovo nodo, verrebbe utilizzato il comando Puppet cert sign, con il nome host del certificato, che è stato generato dal nodo appena configurato che necessita da firmare. Poiché abbiamo il certificato di Brcleprod004.brcl.com, utilizzeremo il seguente comando.

$ sudo /opt/puppetlabs/bin/puppet cert sign Brcleprod004.brcl.com

Di seguito sarà il output.

Notice: Signed certificate request for Brcle004.brcl.com 
Notice: Removing file Puppet::SSL::CertificateRequest Brcle004.brcl.com at 
'/etc/puppetlabs/puppet/ssl/ca/requests/Brcle004.brcl.com.pem'

Il server pupazzo può ora comunicare con il nodo, a cui appartiene il certificato di firma.

$ sudo /opt/puppetlabs/bin/puppet cert sign --all

Revoca dell'host dalla configurazione del pupazzo

Ci sono condizioni per la configurazione della ricostruzione del kernel quando è necessario rimuovere l'host dal setup e aggiungerlo di nuovo. Queste sono quelle condizioni che non possono essere gestite dal burattino stesso. Potrebbe essere fatto utilizzando il seguente comando.

$ sudo /opt/puppetlabs/bin/puppet cert clean hostname

Visualizzazione di tutte le richieste firmate

Il comando seguente genererà un elenco di certificati firmati con + (segno) che indica che la richiesta è stata approvata.

$ sudo /opt/puppetlabs/bin/puppet cert list --all

Di seguito sarà il suo output.

+ "puppet" (SHA256) 5A:71:E6:06:D8:0F:44:4D:70:F0:
BE:51:72:15:97:68:D9:67:16:41:B0:38:9A:F2:B2:6C:B 
B:33:7E:0F:D4:53 (alt names: "DNS:puppet", "DNS:Brcle004.nyc3.example.com")  

+ "Brcle004.brcl.com" (SHA259) F5:DC:68:24:63:E6:F1:9E:C5:FE:F5:
1A:90:93:DF:19:F2:28:8B:D7:BD:D2:6A:83:07:BA:F E:24:11:24:54:6A 

+ " Brcle004.brcl.com" (SHA259) CB:CB:CA:48:E0:DF:06:6A:7D:75:E6:CB:22:BE:35:5A:9A:B3

Una volta fatto quanto sopra, abbiamo la nostra infrastruttura pronta in cui il Puppet master è ora in grado di gestire i nodi appena aggiunti.