Puppet - Configuración del certificado de firma SSL
Cuando el software del agente Puppet se ejecuta por primera vez en cualquier nodo Puppet, genera un certificado y envía la solicitud de firma del certificado al maestro Puppet. Antes de que el servidor Puppet pueda comunicarse y controlar los nodos del agente, debe firmar el certificado de ese nodo de agente en particular. En las siguientes secciones, describiremos cómo firmar y verificar la solicitud de firma.
Lista de solicitudes de certificados actuales
En Puppet master, ejecute el siguiente comando para ver todas las solicitudes de certificado sin firmar.
$ sudo /opt/puppetlabs/bin/puppet cert list
Como acabamos de configurar un nuevo nodo de agente, veremos una solicitud de aprobación. Lo siguiente será eloutput.
"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
No contiene ningún + (signo) al principio, lo que indica que el certificado aún no está firmado.
Firmar una solicitud
Para firmar la nueva solicitud de certificado que se generó cuando se llevó a cabo la ejecución del agente Puppet en el nuevo nodo, se usaría el comando Puppet cert sign, con el nombre de host del certificado, que fue generado por el nodo recién configurado que necesita para ser firmado. Como tenemos el certificado de Brcleprod004.brcl.com, usaremos el siguiente comando.
$ sudo /opt/puppetlabs/bin/puppet cert sign Brcleprod004.brcl.com
Lo siguiente será el 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'
El servidor de marionetas ahora puede comunicarse con el nodo, al que pertenece el certificado de firma.
$ sudo /opt/puppetlabs/bin/puppet cert sign --all
Revocación del host desde la configuración de la marioneta
Existen condiciones en la configuración de la reconstrucción del kernel cuando es necesario eliminar el host de la configuración y agregarlo nuevamente. Estas son aquellas condiciones que no pueden ser manejadas por el propio Puppet. Se puede hacer usando el siguiente comando.
$ sudo /opt/puppetlabs/bin/puppet cert clean hostname
Ver todas las solicitudes firmadas
El siguiente comando generará una lista de certificados firmados con + (signo) que indica que la solicitud está aprobada.
$ sudo /opt/puppetlabs/bin/puppet cert list --all
Lo siguiente será su 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 vez hecho lo anterior, tenemos nuestra infraestructura lista en la que Puppet master ahora es capaz de administrar los nodos recién agregados.