Como controlar melhor as aventuras de um administrador iniciante

8

Eu tenho esse usuário que possui privilégios limitados de sudo, mas ele consegue estragar de vez em quando. Eu gostaria de ficar de olho em suas aventuras, para que eu possa reverter qualquer dano com menos escavação. Idealmente, eu gostaria que um serviço com a seguinte funcionalidade fosse bem integrado e apresentável

  • Tracks desembolsar entrada e saída como ttyrec(ou scriptou sudose o registro estiver configurada) e pode reproduzir a sessão como ttyplay (ou scriptreplayou sudoreplay) Compatibilidade com programas ncurses seria bom, mas não é necessário, ttyrecpode fazê-lo, aparentemente.
  • Rastreia o acesso, a criação e a modificação de arquivos. Idealmente, ele também pode fazer backup de um arquivo sempre que for alterado ou excluído.

Até agora, encontrei várias ferramentas que precisaria configurar para obter a maioria das funcionalidades solicitadas, mas não encontrei um produto OSS que as integrasse bem (a edição da comunidade Lynis não é muito clara sobre a funcionalidade) .

  • Eu poderia colocar ttyrec $(mktemp), script $(mktemp)ou sudo -u $USER -i(com o registro do sudo configurado) nele .bashrcpara registrar o IO do shell.
  • Configurar a auditoria para rastrear o acesso a arquivos em alguns diretórios, como /usr, /etc, /var.
  • Crie um instantâneo LVM quando ele efetuar login, mas isso é um pouco exagerado e pode prejudicar o desempenho do sistema.

EDIT: ttyrec parece ser uma alternativa melhor script, satisfaria todos os meus requisitos de log de E / S. Agora, preciso encontrar uma boa maneira de registrar a manipulação de arquivos.

Serei grato por quaisquer sugestões ou recomendações de melhores práticas.

Ondřej Grover
fonte
3
Dica: Em alguns países, isso pode não ser legal sem a permissão do usuário.
Cyrus
2
@ Cyrus obrigado pelo lembrete, ele saberia disso. É mais sobre encontrar uma maneira menos invasiva e mais automática do que pedir que ele lembre-se de sempre executar tudo em uma scriptsessão. Não se trata de espioná-lo, mas de garantir que seus erros possam ser rastreados.
Ondřej Grover
3
Eu acho que esse usuário não deve ter privilégios de sudo.
Dr_
1
@ dr01 idealmente sim, eu faria a administração por ele. Mas isso nem sempre é possível. Ele nem sempre estraga tudo, eu só preciso montar uma rede de segurança.
Ondřej Grover
2
Mantenha também a configuração no VCS .
Muru

Respostas:

2

Talvez você possa incentivar seu administrador a usar boas práticas de registro. O Gnu Screen faz isso muito bem. Ele adiciona um pouco mais de funcionalidade do que você está procurando e também tem a capacidade de alternar o log, para que ele possa desativá-lo, se desejar. Ele não possui a funcionalidade de reprodução, mas pode fazer parte de uma solução, pois rastreia a maioria das entradas e saídas quando o log está ativado.

No seu caso de uso, você gostaria de adicionar deflog onao arquivo screenrc para ter novas janelas padrão com o logon.

Isso tem a desvantagem de ser alternado pelo usuário.

Você pode realizar o monitoramento de arquivos usando o Monit , que observa as somas de verificação de arquivos quanto a alterações e também pode verificar as condições de vários serviços. Combine isso com algo como um rsync em um cronjob (já que você deve ter algo assim) e você tem uma idéia bastante sólida do que está acontecendo no servidor, especialmente se você ativar timestamps muito apertados na tela e confiar no usuário para não mexer nas configurações de log.

Ao combinar essas ferramentas, você deve ter um sistema leve e robusto que permita manter um olho decente em seu usuário, garantindo um nível básico de capacidade de salvamento.

James Biederbeck
fonte