Primeiro, você precisa saber exatamente o que mudou sem sua permissão. Se eu fosse projetar um sistema como você deseja, eu faria:
- Manter hashes criptográficos dos arquivos do kernel em execução, que consistem no conteúdo de
/boot
no meu sistema Ubuntu - Mantenha hashes de todas as bibliotecas, aplicativos, binários, etc. instalados no sistema que não fazem parte dos aplicativos internos internos implementados.
- Esses hashes são mantidos fora da máquina e comparados com frequência.
- Saiba que as atualizações acionarão alertas e as resolverão manualmente.
Ou, eu considero o que é para mim a abordagem mais simples de recriar uma nova VM rapidamente, sem configuração manual (Chef, Puppet, etc) e, em seguida, implantar meus aplicativos personalizados (principalmente aplicativos da web no meu caso) e conteúdo do banco de dados) de forma rápida e fácil para a nova VM.
Acho que, embora seja possível fazer todas as coisas acima, e isso pode ajudá-lo a detectar quando algo mudou, o que é fundamental para saber que você foi comprometido, é muito mais difícil desfazer essas alterações em um conteúdo reproduzível. meio caminho do desastre. Manter toda a configuração da máquina em algum sistema de criação de máquina, como o Chef, permite que você crie uma nova VM com rapidez suficiente, o que provavelmente lhe custará muito tempo no final.