Limpiar y regenerar certificados en el servidor puppet | Algo de Linux

miércoles, 4 de noviembre de 2015

Limpiar y regenerar certificados en el servidor puppet

En ocasiones, es posible que necesitemos regenerar los certificados, así como las credenciales de seguridad (claves públicas y claves privadas) creadas por la autoridad de certificación de nuestro servidor Puppet. Para ello seguiremos los siguientes pasos:

Primero.- como nuestro servidor puppet es cliente y servidor a la vez, nos aseguraremos de cuál es el directorio ssldir del puppetmaster:
root@servidor ~ # puppet master --configprint ssldir
/var/lib/puppet/ssl
Segundo.- Haremos un backup del directorio /var/lib/puppet/ssl del servidor Puppet. De este modo, si algo no fuera bien, podríamos restaurar la configuración:
root@servidor ~ # cp -r $(puppet master --configprint ssldir) $(puppet master --configprint ssldir).old
Tercero.- Paramos el servicio puppet agent:
root@servidor ~ # puppet resource service puppet ensure=stopped
Si os dáis cuenta, lo estamos parando usando los recursos de puppet.
Cuarto.- Paramos el servicio puppet master. Una observación importante: Como nuestro servidor puppet está montado con apache2 mediante passenger, lo que tenemos que parar es el servicio apache2:
root@servidor ~ # puppet resource service apache2 ensure=stopped
Quinto.- Una vez parados los servicios, borramos  el contenido del directorio ssldir:
root@servidor ~ # rm -r $(puppet master --configprint ssldir)/*
Sexto.- Regeneramos los certificados de la autoridad de certificación:
root@servidor ~ # puppet cert list -a
Veremos un mensaje como el siguiente:
Notice: Signed certificate request for ca
Lo que significa que la autoridad de certificación de puppet se habrá autofirmado su certificado.
Séptimo.- A continuación, generamos los nuevos certificados del puppet master:
root@servidor ~ # puppet master --no-daemonize --verbose
Ésto ejecutará puppet master en primer plano. Cuando veamos el siguiente mensaje en pantalla, pulsamos Ctrl+C:
Notice: Starting Puppet master 
Octavo.- Una vez regenerados los certificados,  arrancamos el puppet master de nuevo levantando apache2:
root@servidor ~ # puppet resource service apache2 ensure=running
Noveno.- Y por último, arrancamos el puppet agent de nuevo:
root@servidor ~ # puppet resource service puppet ensure=running
Con todo ésto, habremos creado dos cosas:
  • Un nuevo certificado y una nueva clave para la autoridad de certificación de puppet (CA).
  • Un nuevo certificado para el puppet master firmado por la autoridad de certificación.
Publicado por primera vez en http://enavas.blogspot.com.es