Problema: tenho um servidor de produção no qual não confio em ninguém. No entanto, não posso ser a única pessoa a poder acessá-lo.
Realização: preciso permitir que as pessoas façam login como root, mas por meio de um proxy, para que tudo o que digitarem/enviarem por ssh seja registrado em uma máquina proxy à qual elas realmente não têm acesso (para que não possam adulterar os logs) .
Qual é a configuração ideal para fazer isso? Eu só encontrei tshark (SSH registrando todos os comandos), mas não tenho certeza se é bom para o trabalho e não tenho certeza de como exatamente devo configurá-lo, já que as pessoas dizem que ele registra o tráfego no nível do protocolo e a criptografia ssh acontece no nível do aplicativo.
Alguém pode fornecer uma solução testada definitiva para isso?
Responder1
Háhttps://goteleport.comque deve fazer exatamente o que você está pedindo. Dizem que está pronto para produção, mas estou brincando e me parece um estágio inicial de desenvolvimento.
Estou procurando alternativas, então encontrei sua pergunta que ainda é relevante. Eu optaria por uma solução comercial.
Responder2
Você pode tentar o NHI:https://github.com/strang1ato/nhi
nhi
captura automaticamente todas as informações potencialmente úteis sobre cada comando executado e tudo ao seu redor, e fornece um poderoso mecanismo de consulta.
nhi
mantém registros de:
- comando
- saída do comando
- status de saída do comando
- diretório de trabalho no final da execução do comando
- hora de início do comando
- hora de término do comando
- prompt do shell no momento da execução do comando
nhi
também mantém registros de informações sobre a sessão do shell em geral.
[...]
O daemon nhi é baseado em eBPF - uma tecnologia incorporada ao kernel do Linux. O uso do
eBPF
garante um ótimo desempenho e baixo overhead da ferramenta, pois o rastreamento está sendo feito com segurança dentro do kernel.
nhi
não afeta o comportamento de nenhum programa/processo (e sistema operacional em geral).