Quero monitorar a atividade de todos os usuários no meu servidor.
Mesmo quando o usuário executa um comando shell de algum editor como o vim, quero vê-los no arquivo de log.
Verifiquei a conta da ferramenta, mas ela não está listando os comandos completos. (Corrija-me se eu perdi algumas opções que já existem).
Qual ferramenta Linux devo procurar para resolver esse problema?
linux
user-management
Supratik
fonte
fonte
Respostas:
Adicione esta linha à sua configuração do pam responsável pelos logins (sua autenticação do sistema nas distribuições baseadas em redhat)
Para descobrir o que foi feito, você pode usar.
Isso produz uma saída como esta:
A única desvantagem disso é que pode ser um pouco difícil de ler, mas é muito melhor do que a maioria das soluções propostas, uma vez que, em teoria, poderia ser usado para gravar uma sessão inteira, com todos os recursos.
Edit: Ah, e você pode usar o aureport para gerar uma lista que pode ser mais útil.
fonte
auditd
daemon precisa ser ativado primeiro (não era por padrão na minha instalação do CentOS 6.7). Para iniciar o daemon, use :, eservice auditd start
para tornar essa alteração persistente (após a reinicialização), usechkconfig auditd on
Fonte: access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/… e access.redhat.com/documentation/en-US/ Red_Hat_Enterprise_Linux /…A melhor solução para o seu problema seria o sistema de auditoria interno do Linux . Use
man 8 auditd
ou consulte esta página para obter mais informações: http://linux.die.net/man/8/auditd .Além disso, você pode verificar este tutorial - embora esteja um pouco fora do escopo da sua pergunta, ele mostra como o sistema de auditoria funciona.
fonte
Você poderia usar snoopy .
É uma biblioteca de log de comando simples e não uma solução de auditoria adequada (facilmente contornada). Divulgação: Eu sou atual mantenedor do Snoopy.
fonte
Um truque menos conhecido, mas facilmente o mais impressionante é apenas usar os recursos de auditoria internos do
sudo
. O Sudo é fornecido com umsudoreplay
comando que facilita a reprodução das sessões. Ele até retransmitirávim
sessões (como você sugere).Veja como usá-lo em algumas etapas fáceis:
sudosh
no seu sistema; este é um invólucro de shell em torno dosudo
comando que cria um usuáriosudo
(nãoroot
) e pode ser usado como um shell de logon do sistemaHabilite o
sudo
log. Editar/etc/sudoers.d/sudosh
:Defaults log_output Defaults!/usr/bin/sudoreplay !log_output Defaults!/sbin/reboot !log_output
Adicione este comando para
/etc/shells
permitir logins usando-o:/usr/bin/sudosh
Gorjeta : para impedir que os usuários usem outros shells para fazer login, remova esses outros shells
/etc/shells
.Atualize o usuário
foobar
para usar osudosh
shell.chsh -s /usr/bin/sudosh foobar
Para informações mais detalhadas, consulte: https://github.com/cloudposse/sudosh/
fonte
aqui está uma solução mágica: http://www.cyberciti.biz/tips/howto-log-user-activity-using-process-accounting.html
você pode exibir estatísticas sobre comandos do usuário / conexão etc.
Listar todos os comandos invocados por um determinado usuário ...
Pesquise os logs contábeis pelo nome do comando: $ lastcomm rm $ lastcomm passwd
e assim por diante, para mais informações, visite o link acima.
fonte