segurança vagrant e puppet para certificados ssl

3
Eu sou muito novo para vagrant, alguém que sabe mais sobre isso (e fantoche) ser capaz de explicar como trata vagrant com os certificados ssl necessários ao fazer máquinas de teste vagrant que estão processando a mesma definição de nó que a produção real máquinas?

Eu corro marionetes no modo mestre / cliente e desejo criar uma versão vagante de meus nós de produção de marionetes, principalmente para testar o novo código de marionetes.

Se a minha máquina de produção for, digamos, sql.domain.com, eu giro uma máquina vaga de, digamos, sql.vagrant.domain.com. No arquivo vagrant, eu uso o provedor puppet_server e dou uma entrada puppet.puppet_node de “sql.domain.com” para ele obter a mesma definição de nó puppet.

No servidor de marionetes, eu uso um regex de algo como /*.sql.domain.com/ nessa entrada do nó, para que tanto a máquina vaga como a real recebam essa entrada de nó no servidor de marionetes.

Por último, habilito a assinatura automática para * .vagrant.domain.com no autosign.conf do fantoche, para que a máquina vaga seja assinada.

Até agora, tudo bem ...

No entanto: Se uma máquina na minha rede estiver enraizada, digamos, unimportant.domain.com, o que impedirá que o invasor altere o nome de host dessa máquina para sql.vagrant.domain.com, excluindo o antigo ssl cert de puppet? e, em seguida, execute novamente o fantoche com um determinado nome de nó de sql.domain.com? O novo certificado ssl seria autosignado pelo fantoche, corresponderia ao nome do nó regex e, em seguida, esse nó hackeado obteria todas as informações úteis para a máquina sql!

Uma solução que consigo pensar é evitar o autosigning, e colocar o certificado ssl de puppet conhecido para a máquina de produção real no diretório compartilhado do vagrant, e então ter um trabalho ssh vagante movendo-o para o lugar. A desvantagem disso é que eu acabo com todos os meus certificados ssl para cada máquina de produção em um repositório git (meu repositório vagabundo) e, portanto, na máquina de cada desenvolvedor - o que pode ou não ser um problema, mas não soa como o jeito certo de fazer isso.

tl; dr : Como outras pessoas lidam com vagrant & certificados ssl de marionetes para desenvolvimento ou teste de clones de máquinas de produção?

    
por Sirex 27.11.2012 / 21:25

1 resposta

1

Para colocar uma resposta aqui para outras pessoas que possam estar passando por uma consulta semelhante. Acabei usando o vagrant em um arranjo de rede somente de host usando o masquerade postrouting (nat) no host para permitir que a rede somente de host também contatasse o mundo externo.

Há um mestre vagabundo vagante, que usa autosigning - dado que está em sua própria rede somente host (vboxnet0) com qualquer cliente vagabundo que estou escrevendo código, ele remove a maioria dos problemas de segurança que eu tinha.

Para a produção, o mestre de fantoches real (não errante) tem apenas o ramo de produção do git, e não permite nenhum auto-alinhamento.

    
por 03.12.2012 / 23:20