auditoria de mudança de arquivo (especialmente para web.configs)

3

Ocasionalmente, temos configurações no web.config sendo alteradas pela equipe de TI em servidores de produção ao vivo. Gostaria de criar uma trilha de auditoria, por exemplo, "Em 11 de outubro, a propriedade" foo "no arquivo" bar "foi alterada para" banana ".

Meu primeiro pensamento foi criar um script do PowerShell que fosse executado a cada hora e, se um dos arquivos .config fosse alterado, salve-o em uma pasta com registro de hora. Meu segundo pensamento foi que este deve ser um problema que já foi resolvido.

O ideal seria que as alterações no arquivo de configuração não fossem permitidas e qualquer alteração exigiria uma nova implantação, mas é improvável que eu conseguisse passar por isso.

Eu digo "web.config", mas eu tenho alguns arquivos de configuração xml diferentes: web.config, app.config, nant.configs.

Eu preciso saber exatamente o que nesses arquivos de configuração mudou (aproximadamente) quando e (idealmente) por quem.

Existe algum tipo de caminho padrão ou ferramenta de código aberto para fazer o registro de alterações de arquivos?

    
por mhenry1384 13.04.2017 / 21:51

1 resposta

0

Como mencionado nos comentários, provavelmente existem ferramentas de terceiros que podem ajudar aqui. Não há nada embutido no Windows que permita fazer isso imediatamente.

Se eu tivesse que fazer isso sozinho, faria algo assim:

Escreva uma pequena ferramenta para monitorar os arquivos a serem assistidos. Isso usaria um objeto FileSystemWatcher. Em unidades NTFS, uma alteração em um arquivo observado acionaria um evento automaticamente.

O código para o evento apenas copia o arquivo para um local diferente que está sob controle de origem (digamos, Git) e aciona um commit e possivelmente um push para um servidor remoto.

Usando isso, você pode ver exatamente o que mudou no arquivo.

Além disso, você pode ativar a auditoria do Windows nos arquivos para ver quem fez as alterações.

Eu não escreveria a ferramenta no PowerShell, mas como um serviço do Windows que é executado em segundo plano e monitora as alterações em tempo real.

    
por 15.04.2017 / 03:22