Monitorar comandos emitidos por algum usuário

1

Eu precisarei fornecer uma senha de root ao meu servidor para alguém que me ajude a configurar meu servidor de e-mail. Agora, uma vez que este será um freelancer, estou meio preocupado que ele possa causar algum dano, por isso estou pensando se existe a possibilidade de ver "ao vivo" (estar conectado ao mesmo tempo em que ele estará) comandos que ele está emitindo e se ele executa uma cópia de arquivo (minha principal preocupação é para que alguém não copie os arquivos localizados na minha pasta / html) que eu possa cortá-lo e alterar o passe imediatamente.

edit: A maneira que eu fiz no final foi configurar a sessão do teamviewer e preparar o terminal (logado como root) antes de ele se conectar. Então, eu monitorei todos os commans que ele emitiu. Dessa forma eu não tive que dar a ele o passe de raiz.

    
por Nikola 25.04.2012 / 09:51

3 respostas

3

Acho que será uma má idéia dar a ele uma senha de root se você não confiar nele. Quando ele recebe a senha, ele pode fazer o que quiser.

E se ele apenas mudou a senha do root antes que você perceba isso?

Para responder à sua pergunta sobre o monitoramento da atividade do usuário, você pode tentar whowatch . Ele pode mostrar os usuários conectados e os processos em execução. No entanto, talvez você não consiga notar comandos rápidos como fazer ls em um diretório pequeno.

    
por 25.04.2012 / 09:54
1

Como o @Khaled disse, dar errado é impossível rastrear se o usuário é hostil, mas para um usuário identificado, de quantidade desconhecida, é melhor tratá-lo como uma criança travessa. Há alguns passos, abaixo, tornando-se cada vez mais paranoicos com cada um deles ...;)

1) Informe-os que você está assistindo.

Defina uma mensagem de política de login adequada em /etc/motd , por exemplo;

----------------------------------------------- -------------------------

Este é um sistema privado; autorização explícita do proprietário do sistema
é necessário para acesso ou uso. Acesso não autorizado ou uso podem resultar em responsabilidade civil e / ou criminal grave, inclusive sem limitação sob 18 USC Seções 1030 e segs. Todos os direitos, seja qual for são reservados. Toda a atividade é monitorada e registrada.

----------------------------------------------- -------------------------

2) Certifique-se de que eles estão cientes de que existem regras.

Use sudo em vez de root para fornecer privilégios de administrador.

Um usuário completo do sudo tem as mesmas permissões que o root e, portanto, pode cobrir suas trilhas. Mas é difícil, e exigiria um sofisticado usado para apagar suas ações, e apagar as entradas do /var/log/auth.log

3) Tenha registros que não possam ser adulterados.

Use logs centralizados de logging e de instâncias de envio para /var/log/auth.log e para mensagens do kernel / var / log / messages.

Um servidor de log centralizado não pode ser adulterado pelo usuário root remoto, ao contrário do syslog local, e do kernel e seus módulos. rsyslog, syslog-ng, logstash e outros fornecem soluções de registro centralizadas

4) Saiba o que foi alterado, por quem, quando e com que propósito.

audite a atividade local usando o auditd e um conjunto de regras básicas. Ou implemente o AIDE ou algum banco de dados de soma de verificação de arquivos.

auditd é um daemon do sistema que registra eventos do sistema em um arquivo de log,

Há um monte de tutoriais aqui ... link link link link

    
por 30.04.2012 / 04:32
0

Se você não pode confiar nele para se comportar adequadamente, você não deve dar acesso a ele.

Uma sessão de tela compartilhada, como sugerido acima, é uma boa idéia, ou dar a ele apenas um conjunto restrito de comandos sudo.

    
por 30.04.2012 / 02:59