O rootsh cumpriu seu papel, mas hoje existe uma solução melhor: o tlog, mantido pela Red Hat, com gravação em JSON e integração com servidores de log centralizados.
Leia a versão atualizada
rootsh é um shell que loga tudo o que um usuário root vê no terminal. É útil se você tem vários administradores com acesso root num servidor e você quer gravar exatamente o que o usuário faz.
Fazer o download do rootsh-1.5.3.tar.gz.
wget "http://downloads.sourceforge.net/project/rootsh/rootsh/1.5.3/rootsh-1.5.3.tar.gz"
Descompactar, configurar, compilar e instalar:
tar zxvf rootsh-1.5.3.tar.gz -C /usr/src cd /usr/src/rootsh-1.5.3 ./configure --disable-syslog --disable-linenumbering make make install
Depois de instalado os binários, o sistema está quase pronto. A única necessidade que falta é criar o diretório do rootsh em /var/log onde serão gravados os logs. Esse procedimento não está documentado, mas é necessário.
mkdir /var/log/rootsh
Garantindo que o usuário root usará o rootsh como shell padrão
Para garantir que o usuário root usará o rootsh como shell padrão, adicione o rootsh ao arquivo /etc/shells:
echo /usr/local/bin/rootsh >> /etc/shells
Após esse passo, definir o shell para o usuário root
usermod -s /usr/local/bin/rootsh root
Então, toda vez que o usuário root fizer login, seja direto por ssh ou por su será criado um arquivo de log em /var/log/rootsh com a seguinte estrutura:
.
A formatação de cada arquivo de log é exatamente a mesma que o usuário vê no terminal.
cd /var/log/rootsh ls root.20100420105208.00a0a.closed #
Conclusão
Se você não confia em seus sysadmins, ou se você quer ter um controle a mais do que está sendo feito no seu sistema, não tem erro com rootsh




Comentários
Comentários fechados para visitantes. Entre ou registre-se para comentar.
7 respostas para “rootsh: Keylogger para CLI do Linux”
Você não acha que uma solução mais eficiente seria colocar um sistema de controle de versão para manter o controle dos arquivos de configuração?
Sem dúvidas, mas daí é outro escopo, o apresentado nesse artigo é justamente saber o que um usuário com acesso ao root está fazendo e o que levou a “dar pau” no sistema, caso isso seja necessário saber, sempre tem aquela história “já estava assim quando entrei”…
:)
Amigo,
Fiz o procedimento, mas não consigo logar com o root e se eu uso outro usuário e dou um su- recebo a mensagem:
su: /usr/local/bin/rootsh: No such file or directory
Você pode me dizer cmo eu corrijo isso?
Obrigado,
André.
O erro apresentado quer dizer que não foi possível encontrar o arquivo /usr/local/bin/rootsh
Certifique-se que o arquivo está lá, com o comando:
ls -al /usr/local/bin/rootsh
E veja também as permissões dele.
Obrigado Daniel irei tentar aqui.
Outra coisa vc poderia me dizer como eu posso dar permissão para um usuário utilizar o rootsh?
Se o arquivo existir:
chmod 1755 /usr/local/bin/rootsh
Daniel,
não existe arquivo ou diretório.
O que devo fazer?
Obrigado.