Fondo:
Finalmente estoy reservando algo de tiempo para unirme al siglo XXI y mirar a Puppet.
Tal como está hoy, controlamos la versión de todas las configuraciones del servidor en un repositorio que se mantiene internamente en la oficina. Cuando es necesario realizar una actualización, los cambios se vuelven a registrar en los repositorios y se envían manualmente a la máquina en cuestión. Esto generalmente significa SFTP'ing a la máquina remota y luego mover archivos a su lugar, con los permisos pertinentes, desde un shell.
Así que tengo la esperanza de que Puppet sea una extensión simple pero sorprendente de lo que ya tenemos.
Ahora considero que el proceso que tenemos actualmente debe ser razonablemente seguro. Suponiendo que nuestra red interna siempre será relativamente más segura que las redes públicas en nuestros centros de datos.
El proceso es siempre unidireccional. Los cambios pasan de un entorno seguro a inseguro y nunca al revés.
La tienda principal está en el lugar más seguro posible. El riesgo de compromiso, ya sea robando configuraciones o enviando modificaciones maliciosas, se reduce considerablemente.
Pregunta:
Por lo que entiendo del modelo de servidor / cliente de Puppet es que los clientes sondean y extraen actualizaciones directamente desde el servidor. El tráfico está envuelto en SSL, por lo que no se puede interceptar ni falsificar. Pero difiere de lo que hacemos actualmente porque los servidores Puppet necesitarían estar alojados en una ubicación pública. Ya sea centralmente o uno para cada sitio de centro de datos que mantenemos.
Entonces me pregunto:
¿Estoy siendo innecesariamente paranoico sobre el cambio de empujar a tirar?
¿Estoy siendo innecesariamente paranoico sobre el almacenamiento centralizado de toda esa información en una red pública?
¿Cómo mantienen otros redes múltiples: un servidor separado para cada sitio?
Actualización 30/07/09:
Supongo que una de mis otras grandes preocupaciones es colocar, por lo que debo confiar en una sola máquina. El (los) titiritero (s) tendrían un cortafuegos, seguro y tal. Pero aun así, cualquier máquina pública con servicios de escucha tiene una superficie de ataque de cierto tamaño.
Presumiblemente, si el maestro tiene permiso para actualizar cualquier archivo en cualquiera de los clientes de títeres, entonces su compromiso finalmente resultaría en el compromiso de todos sus clientes. Los "reyes del reino", por así decirlo.
¿Es correcta esa hipótesis?
¿Hay alguna forma de mitigarlo?