Gostaria de saber quais são as melhores abordagens para rastrear atividades de superusuário em um ambiente Linux.
Especificamente, estou procurando esses recursos:
- A) Registrando pressionamentos de tecla em um servidor syslog seguro
- B) Capacidade de reproduzir sessões de shell (algo como scriptreplay)
- C) Idealmente, isso deve ser algo impossível (ou bastante difícil) de contornar sem ter acesso físico ao servidor.
Pense nisso da perspectiva da segurança / auditoria, em um ambiente em que diferentes administradores de sistemas (ou mesmo terceiros) precisam ter permissão para executar operações privilegiadas em um servidor.
Todo administrador teria sua própria conta nominal e toda sessão interativa deveria ser totalmente registrada, com a possibilidade de reproduzi-la se necessário (por exemplo, se alguém usasse o mc para excluir ou alterar arquivos críticos, não seria suficiente saiba que essa pessoa emitiu o comando mc; deve haver uma maneira de ver exatamente o que foi feito após o lançamento do mc).
Notas adicionais :
- Como womble apontou, talvez a melhor opção seja não ter pessoas efetuando login com privilégios de root para realizar alterações nos servidores, mas fazê-lo através de um sistema de gerenciamento de configuração. Então, vamos assumir uma situação em que não temos esse sistema e precisamos conceder acesso no nível raiz a pessoas diferentes no mesmo servidor .
- Eu não estou interessado em fazer isso clandestinamente: todas as pessoas que efetuam login em um servidor com privilégios de root estariam totalmente cientes de que a sessão será gravada (da mesma forma que, por exemplo, os operadores de call center sabem que suas conversas são sendo gravado)
- Ninguém usaria uma conta de superusuário genérica ("root")
- Estou ciente do ttyrpld e parece fazer o que estou procurando. Mas antes de seguir esse caminho, gostaria de saber se isso pode ser resolvido usando um kernel não modificado. Quero saber se há alguma ferramenta para o Debian em particular (ou Linux em geral) que permita auditoria completa de contas de superusuário sem corrigir o shell ou o kernel.