So verwalten Sie Puppet 4-Zertifikate

Ein Marionetten-Spickzettel

Puppet ist ein Konfigurationsverwaltungstool, mit dem Systemadministratoren die Bereitstellung, Konfiguration und Verwaltung einer Serverinfrastruktur automatisieren können. Es wird normalerweise im Master / Agent-Modus ausgeführt, in dem der Master-Server die Konfiguration mehrerer Agent-Knoten verwaltet. Die Kommunikation zwischen dem Master und den Agenten wird mit vom Client verifiziertem HTTPS gewährt und gesichert, wofür gültige SSL-Identifizierungszertifikate erforderlich sind. Der Puppet Master fungiert als Zertifizierungsstelle für die Verwaltung dieser Zertifikate.

Diese Anleitung im Stil eines Spickzettel enthält eine Kurzreferenz für die Verwendung des Befehls "+ puppet cert +" zum Verwalten dieser Zertifikate.

  • Verwendung dieses Handbuchs: *

  • Diese Anleitung ist im Spickzettel-Format mit in sich geschlossenen Befehlszeilen-Snippets

  • Wechseln Sie zu einem Abschnitt, der für die Aufgabe relevant ist, die Sie ausführen möchten.

Zertifikatsanforderungen auflisten

Wenn Puppet-Agentenserver online geschaltet werden und alles richtig konfiguriert ist, werden sie dem Puppet-Master eine Zertifikatsignierungsanforderung vorlegen. Diese Anforderungen können mit dem Befehl + puppet cert list überprüft werden.

Listen Sie alle signierten und nicht signierten Anfragen auf

Um alle signierten und nicht signierten Zertifikatsanforderungen anzuzeigen, verwenden Sie das Flag "+ - all +" wie folgt:

sudo puppet cert list --all

Signierten Anforderungen wird ein Pluszeichen ("+") vorangestellt, nicht signierten Anforderungen. In der folgenden Ausgabe wurde "+ host2.example.com " nicht signiert, während " host1 " und " puppet +" Folgendes haben:

Output:+ "host1.example.com"    (SHA256) 51:D8:7A:EB:40:66:74:FD:0A:03:5D:35:AA:4D:B3:FA:35:99:C2:A8:C9:01:83:34:F6:16:60:BB:46:1F:33:3F
 "host2.example.com"   (SHA256) 3C:A9:96:3A:8D:24:5F:25:DB:FF:67:B5:22:B1:46:D9:89:F1:75:EC:BA:F2:D6:87:70:0C:59:97:11:11:01:E3
+ "puppet.example.com" (SHA256) 12:32:47:18:D1:12:85:A6:EA:D4:51:9C:24:96:E2:8A:51:41:8D:EB:E8:7C:EB:47:94:B0:8B:16:16:51:6A:D1 (alt names: "DNS:puppet", "DNS:puppet.localdomain", "DNS:puppet.example.com")

Liste nicht signierter Anfragen

Bevor Puppet Server mit dem Agentenknoten kommunizieren und ihn steuern kann, muss es das Zertifikat des jeweiligen Agentenknotens signieren. Verwenden Sie zum Überprüfen der nicht signierten Anforderungen den Befehl + puppet cert list vom Puppet-Server:

sudo puppet cert list

Dies listet nur nicht signierte Anfragen auf. Die Ausgabe sieht ungefähr so ​​aus:

Output: "host2.example.com" (SHA256) 9D:49:DE:46:1C:0F:40:19:9B:55:FC:97:69:E9:2B:C4:93:D8:A6:3C:B8:AB:CB:DD:E6:F5:A0:9C:37:C8:66:A0

Das Fehlen eines Pluszeichens ("+") zeigt an, dass diese Zertifikate noch nicht signiert wurden. Wenn keine nicht signierten Anforderungen vorhanden sind, werden Sie ohne Ausgabe zur Eingabeaufforderung zurückgeführt.

Zertifikatsanforderungen signieren

Unterschreiben Sie spezifische Anfragen

Verwenden Sie zum Signieren einer einzelnen Zertifikatanforderung den Befehl + puppet cert sign + mit einem oder mehreren in der Zertifikatanforderung angezeigten Hostnamen.

puppet cert sign

Eine Ausgabe ähnlich dem folgenden Beispiel zeigt an, dass die Zertifikatsanforderung signiert wurde:

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

Unterschreiben Sie alle Anfragen

Sie können alle Anfragen signieren, indem Sie das + - all + Flag hinzufügen:

sudo puppet cert sign --all

Zertifikate widerrufen

Eventuell möchten Sie einen Host aus Puppet entfernen oder einen Host neu erstellen und dann wieder hinzufügen. In diesem Fall müssen Sie das Zertifikat des Hosts vom Puppet Master widerrufen. Verwenden Sie dazu die Aktion + clean +:

Widerrufen Sie bestimmte Zertifikate

Sie können ein oder mehrere bestimmte Zertifikate mit + puppet cert clean + widerrufen, indem Sie einen oder mehrere Hostnamen angeben, wie sie im Zertifikat erscheinen:

sudo puppet cert clean

Nach dem Widerruf eines Zertifikats müssen Sie den Puppet-Master neu starten, damit der Widerruf wirksam wird.

sudo service puppetserver reload

Wenn "+ Puppet Agent" das nächste Mal auf dem Agentenknoten ausgeführt wird, sendet es eine neue Zertifikatsignierungsanforderung an den Puppet Master, die mit "+ Puppet Cert Sign" signiert werden kann. Sie können die Anfrage sofort auslösen mit:

sudo puppet agent --test

Sperren Sie mehrere Zertifikate

Puppet erlaubt keine Massenentfernung von Zertifikaten mit einem "+ - all +" - Flag. Sie können jedoch mehrere Zertifikate gleichzeitig widerrufen, indem Sie die Hostnamen durch ein Leerzeichen trennen:

sudo puppet cert clean   . . .

Nach dem Widerruf von Zertifikaten müssen Sie den Puppet-Master neu starten, damit die Widerrufe wirksam werden.

sudo service puppetserver reload

Fazit

Diese Anleitung behandelt einige der gebräuchlichen Befehle zum Verwalten von Puppet-Zertifikaten in Puppet Version 4.x. Es gibt andere Aktionen und Flags, die mit + puppet cert + verwendet werden können. Eine umfassende Liste finden Sie auf der `+puppet cert + `man page.