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.