Fundo:
Finalmente, estou reservando algum tempo para ingressar no século XXI e olhar para o Puppet.
Atualmente, controlamos a versão de todas as configurações de servidor em um repositório mantido internamente no escritório. Quando uma atualização precisa ser feita, as alterações são verificadas novamente nos repositórios e enviadas manualmente para a máquina em questão. Isso geralmente significa que o SFTP é transferido para a máquina remota e, em seguida, movendo os arquivos para o local, com as permissões relevantes, de um shell.
Por isso, espero que o Puppet seja uma extensão simples, mas incrível, do que já temos.
Agora, considero o processo que atualmente temos que ser razoavelmente seguro. Supondo que nossa rede interna sempre seja relativamente mais segura do que as redes públicas em nossos datacenters.
O processo é sempre unidirecional. As mudanças passam de um ambiente seguro para inseguro e nunca o contrário.
A loja principal está no lugar mais seguro possível. O risco de comprometimento, roubando configurações ou enviando modificações maliciosas, é bastante reduzido.
Questão:
Pelo que entendi do modelo de servidor / cliente Puppet, os clientes pesquisam e obtêm atualizações diretamente do servidor. O tráfego é envolto por SSL, portanto não pode ser interceptado ou falsificado. Mas difere do que atualmente fazemos porque os servidores Puppet precisariam ser hospedados em um local público. Centralmente ou um para cada site de data center que mantemos.
Então, eu estou pensando:
Estou sendo desnecessariamente paranóico com a mudança de empurrar para puxar?
Estou sendo desnecessariamente paranóico ao armazenar centralmente todas essas informações em uma rede pública?
Como os outros mantêm várias redes - servidor separado para cada site?
Atualização 30/07/09:
Eu acho que uma das minhas outras grandes preocupações é colocar, portanto, deve confiar em uma única máquina. O mestre de marionetes seria protegido por firewall, protegido e tal. Porém, mesmo assim, qualquer máquina pública com serviços de escuta tem uma superfície de ataque de um determinado tamanho.
Presumivelmente, se o mestre tiver permissão para atualizar qualquer arquivo em qualquer um dos clientes fantoches, seu comprometimento resultará no comprometimento de todos os seus clientes. Os "reis para o reino", por assim dizer.
Essa hipótese está correta?
Existe alguma maneira de mitigar isso?