como auditar qual processo acessa um arquivo?

3

Eu sei como auditar qual usuário acessa um arquivo. Como posso saber qual processo está modificando arquivos em um diretório?

    
por Stewart Robinson 23.03.2010 / 10:59

3 respostas

4

Eu estou supondo que você provavelmente está procurando por mais auditorias de longo prazo do que usando o "Process Monitor" ou executando repetidamente o "handle.exe". Vamos ver se meus poderes psíquicos valem a pena aqui.

A auditoria "acesso a objetos" é provavelmente o que você está procurando. Se você deseja auditar o acesso aos arquivos que estão sendo acessados localmente em um computador, poderá ver o nome do processo acessando os arquivos. Se os arquivos estiverem sendo acessados remotamente, você verá apenas o nome e a ID de logon do usuário que acessa os arquivos (e não o nome do processo que acessa os arquivos).

Se os arquivos que você deseja assistir estiverem em um servidor, será necessário modificar a política de segurança local nesse servidor (a menos que seja um computador Controlador de Domínio. Nesse caso, você estará preso adicionando ou modificando um existente GPO que altera a diretiva de segurança para todos os computadores do Controlador de Domínio). A configuração, na Diretiva de Grupo, que você está procurando é "Acesso a objeto de auditoria", localizada no subnó "Política de auditoria" do subnó "Política local" do subnó "Configurações de segurança" do Sub-nó "Definições do Windows" de "Configuração do Computador" na Política de Grupo / Política Local. Atualizar a política de grupo (GPUPDATE) para que a alteração entre em vigor.

Depois de habilitar essa configuração (para sucessos, falhas ou ambos, dependendo do que você deseja acessar), será necessário adicionar uma SACL (Lista de Controle de Acesso ao Sistema) à pasta ou aos arquivos para permitir a auditoria. No W2K3, você pode modificar a SACL adicionando entradas na guia "Auditoria" do acesso à caixa de diálogo "Avançado" da planilha de propriedades "Segurança" do arquivo ou pasta. Se você deseja auditar o acesso apenas de um usuário ou grupo de usuários específico, adicione-os à SACL. Se você deseja auditar todo o acesso, basta adicionar "Everyone" com permissão "Full Control" (sucesso e falha, se você quiser auditar ambos) para a SACL.

Depois de ativar a auditoria na política de segurança, atualizar a Diretiva de grupo e marcar os itens que deseja auditar com uma SACL, você começará a ver os eventos de auditoria sendo registrados no log de eventos "Segurança" da hospedagem da máquina. os arquivos, como:

Event Source: Security
Event ID: 560
Type: Success Audit
Category: Object Access
Descrption:
   Object Open:
      Object Server:    Security
      Object Type:  File
      Object Name:  C:\Secret Docs\World Domination Plan\Chinchilla.txt
      Handle ID:    1904
      Operation ID: {0,233543114}
      Process ID:   3356
      Image File Name:  C:\WINDOWS\system32\notepad.exe
      Primary User Name:    EAnderson
      Primary Domain:   LAPTOP01
      Primary Logon ID: (0x0,0x1C744)
      Client User Name: -
      Client Domain:    -
      Client Logon ID:  -
      Accesses: READ_CONTROL 
         SYNCHRONIZE 
         ReadData (or ListDirectory) 
         WriteData (or AddFile) 
         AppendData (or AddSubdirectory or CreatePipeInstance) 
         ReadEA 
         WriteEA 
         ReadAttributes 
         WriteAttributes 
      Privileges:   -
      Restricted Sid Count: 0
      Access Mask:  %18

O "Nome do Arquivo de Imagem" mostra o nome do processo que realiza o acesso. Você não verá "Nome do Arquivo de Imagem" nas entradas de auditoria criadas pelo acesso aos arquivos em "Compartilhamento de Arquivos e Impressoras", no entanto. (Eu não tenho certeza se há uma "história" convincente para auditoria de longo prazo de arquivos acessados remotamente. Você teria que fazer "Process Tracking" no cliente remoto no mínimo, e mesmo assim eu não faço isso. Acho que você seria capaz de diferenciar entre o acesso realizado por vários programas em execução no contexto do usuário remoto através de qualquer tipo de correlação entre os logs de segurança dos computadores cliente e servidor ...)

    
por 23.03.2010 / 13:21
0

Uma maneira de fazer isso é usar um filtro em Process Monitor , um dos Sysinternals Ferramentas. O arquivo de ajuda tem um exemplo semelhante. Este não é um componente principal do sistema operacional, portanto, é necessário verificar se é apropriado instalá-lo.

    
por 23.03.2010 / 12:30
0

Você pode fazer o download do handle.exe em: link
Muito útil para visualizar alças abertas.

    
por 23.03.2010 / 12:39