Você pode usar o tripwire para monitorar as alterações em todos os arquivos relevantes no servidor. O outro lado é que depois de cada mudança de configuração automática você teria que redefinir as viagens.
A empresa em que trabalho atualmente está investigando a implantação de um sistema de automação centralizado (como o Salt ou o Puppet) para nossos servidores (todos Ubuntu / FreeBSD). Nós provavelmente concordaremos com Salt, mas acho que é irrelevante para a minha pergunta.
Meu quesiton: Existe uma boa maneira de monitorar máquinas para mudanças locais não incluídas no sistema de automação?
Por exemplo: para uma solução rápida, alguém iniciou um serviço ou modificou um arquivo de configuração em uma determinada máquina. Existe uma maneira de verificar essas coisas usando Salt / Puppet / whatever? Ou eu preciso usar programas externos como o AIDE para isso?
Você pode usar o tripwire para monitorar as alterações em todos os arquivos relevantes no servidor. O outro lado é que depois de cada mudança de configuração automática você teria que redefinir as viagens.
Você poderia escrever um script com find (1) e md5 (1) que pega o MD5sums de todos os arquivos relevantes e compara-os com os MD5sums armazenados externamente.
Na mesma linha da sugestão do Tripwire, eu tenho implementado o AIDE em novos sistemas. Isso está disponível em ambas as plataformas em seu ambiente.
O Aide usará aide.conf para descobrir exatamente quais arquivos / diretórios monitorar e como. Seria possível escrever um template de Puppet que pudesse configurar o aide.conf para não olhar para directores / arquivos que são criados (e podem ser verificados) com o rpm.
Por outro lado, você pode apenas listar o arquivo que deseja monitorar ...
Para reinicializar o Aide DB nas atualizações de pacotes, o aide --init precisa ser executado sempre que o yum for executado via Puppet (então o banco de dados recém-criado precisa ser movido para o lugar). Aide leva muito tempo para executar essa inicialização que isso é insustentável (para nós). Pode estar bem no seu caso.
Use bom para ajudar a não ser um especialista em recursos. Um bom fator de -19 foi sugerido pelo www.howtoforge.com.
Algo que eu realmente gosto sobre sal é o teste de estado:
# salt \* state.highstate test=True
Dá-lhe um bom relatório colorido informando o que está em conformidade com os seus estados definidos sem realmente aplicar as alterações. Isso lhe dá o que você quer, pois mostra onde o estado de seus sistemas se desvia do que o sistema de automação quer que seja. Há boas razões para que assim seja, talvez você esteja aprendendo a usar o sal ou tenha um sistema legado delicado e não queira sair com um sistema de automação. Quanto mais estados você adicionar ao sal, melhor, melhor, mas isso significa que você pode crescer organicamente à medida que aprende.
Não tenho certeza se você já encontrou uma solução, mas pode usar o Metafor Software para monitorar as alterações em todos os arquivos relevantes e pacotes.
Isso seria muito mais fácil do que o AIDE e muito mais barato que o Tripwire (o Metafor está em versão beta gratuita).
Além de monitorar alterações não incluídas no sistema de automação, você pode usar o Metafor para verificar o verdadeiro estado de seus servidores após a execução do Salt / Puppet.