Puppet - Configuração do certificado de assinatura SSL

Quando o software do agente Puppet é executado pela primeira vez em qualquer nó do Puppet, ele gera um certificado e envia a solicitação de assinatura do certificado ao mestre Puppet. Antes que o servidor Puppet seja capaz de se comunicar e controlar os nós do agente, ele deve assinar o certificado desse nó do agente específico. Nas seções a seguir, descreveremos como assinar e verificar a solicitação de assinatura.

Lista de solicitações de certificado atuais

No Puppet master, execute o seguinte comando para ver todas as solicitações de certificados não assinados.

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

Como acabamos de configurar um novo nó de agente, veremos um pedido de aprovação. A seguir será ooutput.

"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

Não contém nenhum + (sinal) no início, o que indica que o certificado ainda não está assinado.

Assine um pedido

Para assinar o novo pedido de certificado que foi gerado quando a execução do agente Puppet ocorreu no novo nó, o comando Puppet cert sign seria usado, com o nome do host do certificado, que foi gerado pelo nó recém-configurado que precisa a ser assinado. Como temos o certificado do Brcleprod004.brcl.com, utilizaremos o seguinte comando.

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

A seguir será o 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'

O servidor fantoche agora pode se comunicar com o nó, onde o certificado de assinatura pertence.

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

Revogando o Host da Configuração do Puppet

Existem condições na configuração da reconstrução do kernel quando é necessário remover o host da configuração e adicioná-lo novamente. Essas são as condições que não podem ser gerenciadas pelo próprio Puppet. Isso pode ser feito usando o seguinte comando.

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

Vendo todos os pedidos assinados

O comando a seguir irá gerar uma lista de certificados assinados com + (sinal) que indica que a solicitação foi aprovada.

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

A seguir será seu 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

Assim que o acima for feito, temos nossa infraestrutura pronta, na qual o Puppet master agora é capaz de gerenciar nós recém-adicionados.