Como descobrir quem está excluindo arquivos em um servidor Linux?

7

Temos um servidor Linux que é o Ext4 e outro servidor Linux que tem um ISCSI onde os clientes do Windows têm pastas compartilhadas. Preciso

  1. Permitir que os usuários modifiquem arquivos e não os excluam. Um usuário tem permissão para modificar o conteúdo, mas não pode excluir os arquivos em si.
    1. Auditar todas as operações de adicionar / excluir / modificar arquivos em um log de inglês formato.
    2. Enviar alertas se houver tentativas feitas para excluir
por ramdaz 09.01.2013 / 07:04

4 respostas

2

Se os clientes Windows estão montando compartilhamentos Samba / CIFS, você deve verificar o módulo full_audit.so para o Samba.

Samba: Registrando a atividade do usuário

Samba - log de auditoria de arquivos com full_audit

Pesquisa do Google - samba full_audit

    
por 09.01.2013 / 18:39
2

Eu recomendaria verificar o link audit -

Ele pode monitorar praticamente tudo e qualquer coisa que esteja acontecendo com o kernel - você define suas próprias regras para combinar com o tipo de atividade do syscall que gostaria de ter auditado.

    
por 27.02.2013 / 14:24
0

Confira as ferramentas de inotificação ou, se você for um programador, poderá criar suas próprias ferramentas. Não é tão difícil de fazer; A parte mais difícil é manter o controle de todos os subdiretórios e lidar com adições / exclusões / renomeamentos de diretórios.

Eu tenho programas baseados em inotificação em execução em alguns dos meus servidores. Por exemplo, no que armazena meus documentos privados digitalizados (contas, recibos e outros), tenho um programa que procura novos arquivos em uma árvore de diretórios. Quando um novo documento é criado, ele é imediatamente criptografado por PGP (a menos que o novo documento seja criptografado por pgp, é claro). Outro programa semelhante envia qualquer alteração em uma árvore em particular para outro servidor, distante.

Eu pude ver uma delas para simplesmente gravar em um arquivo de auditoria que poderia ser revisado conforme necessário. A parte mais difícil que vejo nisso é garantir que o arquivo de auditoria não cresça demais.

Vou revisar um deles para ver se ele está pronto para o público. Se for, encontrarei um lugar para compartilhá-lo.

    
por 27.02.2013 / 14:07
0

Use o Linux :: Inotify2 Perl module. Escreva um script Perl e mantenha-o como um daemon em execução.

Você pode acompanhar em um determinado diretório os seguintes eventos:

IN_ACCESS            object was accessed
 IN_MODIFY            object was modified
 IN_ATTRIB            object metadata changed
 IN_CLOSE_WRITE       writable fd to file / to object was closed
 IN_CLOSE_NOWRITE     readonly fd to file / to object closed
 IN_OPEN              object was opened
 IN_MOVED_FROM        file was moved from this object (directory)
 IN_MOVED_TO          file was moved to this object (directory)
 IN_CREATE            file was created in this object (directory)
 IN_DELETE            file was deleted from this object (directory)
 IN_DELETE_SELF       object itself was deleted
 IN_MOVE_SELF         object itself was moved
 IN_ALL_EVENTS        all of the above events

 IN_ONESHOT           only send event once
 IN_ONLYDIR           only watch the path if it is a directory
 IN_DONT_FOLLOW       don't follow a sym link
 IN_MASK_ADD          not supported with the current version of this module

 IN_CLOSE             same as IN_CLOSE_WRITE | IN_CLOSE_NOWRITE
 IN_MOVE              same as IN_MOVED_FROM | IN_MOVED_TO
    
por 18.03.2013 / 14:43