Usando fantoche para gerenciar certificados ntpd

2

Minha empresa está exigindo que eu implemente o tempo assinado no ntpd com o autokey. Um dos requisitos para que o autokey funcione é gerar chaves em cada host. Todos os clientes fazem parte do mesmo grupo, então todos usam a mesma senha. Eu gostaria de não ter que gerar manualmente a chave em cada host, se possível. Existe uma maneira para o tipo de arquivo executar um comando se o Puppet detectar que ele não existe? Ou existem outras alternativas que posso usar para gerenciar chaves via fantoche?

    
por majikman 04.08.2014 / 21:48

1 resposta

2

No Puppet, para executar um comando, use o recurso exec . Para certificar-se de que seu comando seja executado somente se um determinado arquivo não existir, especifique a opção creates .

Por exemplo:

exec { "create_needed_directory":
    command => "/bin/mkdir -p /tmp/needed/directory",
    creates => "/tmp/needed/directory"
}

Se você precisar executar uma verificação mais complicada, use a opção onlyif :

exec { "run_account_purger":
    command => "/usr/local/sbin/account_purger",
    onlyif => "grep -c old_account /etc/passwd",
}

Ambos os exemplos foram retirados de PuppetCookBook .

Para ser honesto, não tenho idéia se essa é a melhor maneira de gerar chaves para o NTP. Você pode também gerar todas as chaves em uma máquina, colocá-las em um repositório de fantoches e distribuí-las por meio de um recurso file . Isso pode ser um pouco mais seguro, porque dessa forma você não precisa expor a senha.

    
por 04.08.2014 / 22:34