Existem essas ferramentas, mas elas só são eficazes se você definir a configuração por elas. Não há meios mágicos para essas ferramentas saberem qual configuração deve ser considerada "boa" ou "ruim".
Ferramentas de gerenciamento e implantação de configurações padrão (populares):
- fantoche
- chef
- sal
- ansible
No entanto, eles não serão muito úteis se você definir manualmente sua infraestrutura. O que essas ferramentas fazem é permitir que você configure e mantenha a configuração de diferentes máquinas. Como tenho experiência com fantoches, darei um exemplo simplificado de como funciona:
- Você define a configuração do seu servidor state usando a DSL do Puppet (sua própria linguagem de script). A linguagem permite definir o estado em que a máquina deve estar. Exemplos (simplificados):
- O SO deve ter o Usuário denominado
user
com a senhaxyz
etc - O SO deve ter esses pacotes instalados:
apache mysql
- Deve haver o arquivo '/ etc / sudoers' com o proprietário: group
root:root
, 440 permission - etc.
- O SO deve ter o Usuário denominado
- Você coloca as definições em um servidor mestre (também existem configurações alternativas sem servidor mestre)
- Você executa o agente fantoche, que executa todo período de tempo definido e verifica se o estado desse servidor está de acordo com o definido.