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?