Auditoria no linux

3

Estou tentando configurar um mecanismo de auditoria robusto nas caixas centos 6.x. Eu tentei e testei várias ferramentas de auditoria como

  • auditd
  • aide
  • psacct

Mas nenhum está completo preenchendo minha exigência. Minha exigência é bastante simples e sei que um sistema de auditoria não atenderá a todos e talvez eu tenha que usar sistemas de auditoria diferentes todos juntos. Eu quero

  • Monitora todos os comandos executados por um usuário

O psacct está fazendo isso perfeitamente, mas informa somente o comando executado pelo usuário e não os argumentos passados para o comando. ou seja se o usuário executar vim /erc/passwd , então lastcomm <username> informará somente que o comando vim foi executado, mas não informará qual arquivo foi realmente editado.

E auditd diz que, por exemplo o comando vim foi executado e um arquivo em particular foi editado, mas não informa quem editou o arquivo.

Suponha que eu execute um comando como um usuário sudo, então ele não me dirá qual usuário editou o arquivo em particular se houver 10 usuários sudo como gid e uid será de superusuário na saída do comando:

time->Sat Jun 20 15:52:45 2015
type=PATH msg=audit(1434795765.057:54685): item=4 name="/etc/passwd" inode=152790 dev=fd:00 mode=0100644 ouid=0 ogid=0 rdev=00:00 nametype=CREATE
type=PATH msg=audit(1434795765.057:54685): item=3 name="/etc/passwd" inode=152786 dev=fd:00 mode=0100644 ouid=0 ogid=0 rdev=00:00 nametype=DELETE
type=PATH msg=audit(1434795765.057:54685): item=2 name="/etc/passwd+" inode=152790 dev=fd:00 mode=0100644 ouid=0 ogid=0 rdev=00:00 nametype=DELETE
type=PATH msg=audit(1434795765.057:54685): item=1 name="/etc/" inode=130562 dev=fd:00 mode=040755 ouid=0 ogid=0 rdev=00:00 nametype=PARENT
type=PATH msg=audit(1434795765.057:54685): item=0 name="/etc/" inode=130562 dev=fd:00 mode=040755 ouid=0 ogid=0 rdev=00:00 nametype=PARENT
type=CWD msg=audit(1434795765.057:54685):  cwd="/etc"
type=SYSCALL msg=audit(1434795765.057:54685): arch=c000003e syscall=82 success=yes exit=0 a0=7fffba897300 a1=7fd7cc94ece0 a2=7fffba8971c0 a3=0 items=5 ppid=14041 pid=14043 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts1 ses=8494 comm="useradd" exe="/usr/sbin/useradd" key=(null)
  • Gostaria de acompanhar as alterações reais feitas no arquivo

A ferramenta aide informa que um arquivo foi modificado, mas como posso obter detalhes do conteúdo realmente modificado e qual usuário fez a modificação?

    
por thinkingmonster 20.06.2015 / 12:30

1 resposta

3

Você pode implementar isso usando o módulo auditd e um pam. Você precisa carregar o módulo pam pam_tty_audit em sessão como

session required pam_tty_audit.so disable=testuser1 enable=testuser,root

nos arquivos /etc/pam.d/password-auth e /etc/pam.d/system-auth .

e, em seguida, o toque da tecla dos usuários habilitados será logado no log de auditoria.

Ao gerar o relatório de auditoria use a opção -i com aureport para obter exatamente o nome de usuário.

por exemplo: aureport --tty -i -ts today

Uma desvantagem desse método é que todos os pressionamentos de tecla serão registrados, incluindo as senhas inseridas no terminal.

Para rastrear arquivo aide ajudado pode ser usado. Isso usa um método de verificação de soma de verificação. Mas a linha exata alterada no arquivo não é rastreável.

    
por 24.05.2016 / 09:03

Tags