Come rifiutare la richiesta di certificato su Puppet Master?


13

Ho alcune richieste da parte di agenti con nomi host errati. Ho corretto questo, ma ho ancora le richieste in sospeso con i nomi host errati.

Provai:

$puppet cert list
  "wrong.host.name" (SHA256) 8E:...:51

$ puppet cert revoke wrong.host.name
Error: Could not find a serial number for wrong.host.name

$ puppet cert clean wrong.host.name
Error: Could not find a serial number for wrong.host.name

Qual è il modo corretto di sbarazzarsene?

Risposte:


23

L'uso cafunziona meglio e può rimuovere un certificato in un solo passaggio, diversamente cert. È importante sottolineare che non ti fa firmare temporaneamente un certificato non valido.

$ puppet ca destroy wrong.host.name
Notice: Removing file Puppet::SSL::CertificateRequest wrong.host.name at '/var/lib/puppet/ssl/ca/requests/wrong.host.name.pem'
Deleted for wrong.host.name: Puppet::SSL::CertificateRequest

Il puppet cacomando è stato recentemente deprecato, quindi ad un certo punto potrebbe scomparire, ma non esiste un comando equivalente. C'è un bug archiviato, che potresti votare se pensi che sia un po 'sciocco rimuovere questo comando senza sostituzione.


Questa è la risposta esatta. Tutte le istruzioni fornite dalla risposta accettata non funzionano o richiedono la firma di certificati che si ritiene siano negativi.
martedì

Cosa ha detto @tedivm. Pertanto: +1.
gf_

Funziona, ma è stato contrassegnato come obsoleto. Qualcuno sa qual è il nuovo metodo?
Svizzera,

@Swiss hai un link ad alcuni documenti che mostrano che è obsoleto?
Nick,

1
puppet cert cleanora funziona per rimuovere le richieste. Vedi la segnalazione bug collegata.
7yl4r,

3

Possibile soluzione 1:

L'uso di puppet cert cleanon the puppet master è il modo corretto. Tuttavia, poiché stai ricevendo errori, potresti avere un brutto inventario di certificati.

Prova a fare un nuovo inventario, quindi un clean:

$ puppet cert reinventory
$ puppet cert clean --all

Nota: il mio esempio usa il --allflag, questo cancellerà tutti i certificati, firmati e non firmati. Inoltre, tieni presente che il Puppet Master deve essere arrestato prima di eseguire a reinventory.

Fonte: http://docs.puppetlabs.com/references/3.6.2/man/cert.html

Possibile soluzione 2:

$ puppet cert sign wrong.host.name
Notice: Signed certificate request for wrong.host.name
Notice: Removing file Puppet::SSL::CertificateRequest wrong.host.name at '/var/lib/puppet/ssl/ca/requests/wrong.host.name.pem'

$ puppet cert clean wrong.host.name
Notice: Revoked certificate with serial 87
Notice: Removing file Puppet::SSL::Certificate wrong.host.name at '/var/lib/puppet/ssl/ca/signed/wrong.host.name.pem'
Notice: Removing file Puppet::SSL::Certificate wrong.host.name at '/var/lib/puppet/ssl/certs/wrong.host.name.pem'

Possibile soluzione 3:

Primo: sul server

$ puppet cert --revoke wrong.host.name
$ puppet cert --clean wrong.host.name

Secondo: sul client

$ rm -rf /usr/lib/puppet/ssl
$ puppet agent --server [puppetmaster domain name] --waitforcert 60

Terzo: sul server (regolare se necessario)

$ puppet cert --list (you should see your host)
$ puppet cert --sign wrong.host.name

Inoltre, ricontrolla che il tuo client possa raggiungere il tuo [nome di dominio fantoccio].

Fonte: /server/574976/puppet-trying-to-configure-puppet-client-for-first-use-but-got-some-problems-wi


Grazie, ho provato reinventorye poi clean wrong.host.nameperché non voglio revocare anche i buoni certificati, ma continuo a ricevere l'errore del numero seriale.
Louis,

Buona cattura sul --all. Ho appena aggiunto un aggiornamento che vale la pena provare.
tbenz9,

Ottimo, dopo aver fatto puppet cert sign wrong.host.nameuso delle cleanopere. Sembra sbagliato che devo firmarlo prima però.
Louis,

1
Inoltre, non dimenticare di riavviare il servizio burattinai dopo aver pulito i certificati.
Robert Fey,

1
Cordiali saluti, l'altra risposta è molto meglio di questa. Se segui i consigli dei PO eseguirai comandi che non funzionano (come il comando clean) o firmerai certificati che sai essere cattivi. Se segui i consigli di seguito e semplicemente usi puppet ca destroy wrong.host.namenon devi introdurre rischi per la sicurezza della tua infrastruttura.
martedì

2

Ecco come ho fatto

[root@puppetmc ca]# puppet cert clean sparrow.home
Error: Could not find a serial number for sparrow.home
[root@puppetmc ca]# cat inventory.txt 
0x0002 2015-05-17T06:33:29GMT 2020-05-16T06:33:29GMT /CN=puppetmc.home
0x0003 2015-05-17T23:25:33GMT 2020-05-16T23:25:33GMT /CN=sparrow.rospop.com
0x0004 2015-05-18T00:53:18GMT 2020-05-17T00:53:18GMT /CN=puppetmc.home
0x0005 2015-05-18T02:18:12GMT 2020-05-17T02:18:12GMT /CN=sparrow.rospop.com
[root@puppetmc ca]# vi  inventory.txt 

aggiunta la riga seguente in inventario.txt:

0x0001 2015-05-17T06:33:29GMT 2020-05-16T06:33:29GMT /CN=sparrow.home

poi corri

[root@puppetmc ca]# puppet cert clean sparrow.home
Notice: Revoked certificate with serial 1
Notice: Removing file Puppet::SSL::CertificateRequest sparrow.home at '/var/lib/puppet/ssl/ca/requests/sparrow.home.pem'
Vince Bhebhe
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.