Como posso rastrear quem SSH'es na minha máquina linux?

19

Estou executando o Ubuntu 10.04. Existe uma maneira de obter um relatório diário de quem está logado na caixa, a que horas e até mesmo - isso pode estar pedindo demais - um relatório dos comandos que eles usaram? Essa é uma caixa de baixa utilização e, por isso, acho que essa seria uma boa maneira de ver que atividade está acontecendo nela.

Na mesma linha, ouvi dizer que não era possível rastrear quando as coisas são feitas na caixa através de shells não interativos, como rsync ou apenas executando remotamente comandos únicos via ssh. Isso é verdade ou existe uma maneira de registrar e rastrear isso também?

    
por cwd 13.12.2011 / 01:54

4 respostas

18

As informações de quem efetuou login quando está disponível em /var/log/auth.log (ou outros arquivos de log em outras distribuições). Existem vários programas de monitoramento de log que podem extrair as informações que você configura como relevantes. Em qualquer sistema sane, toda autenticação de usuário é registrada.

Para registrar todas as invocações de comandos (mas não seus argumentos), use contabilidade de processos , desde pelo acct package noUbuntu.Seosubsistemadecontabilidadeestiverativoeemexecução,o lastcomm exibe informações sobre processos concluídos.

    
por 13.12.2011 / 02:18
8

Você também pode usar who ou w para ver quem está atualmente conectado ao sistema, incluindo usuários SSH.

    
por 13.12.2011 / 03:09
0

Normalmente, quando alguém faz login no sistema do usuário, em / var / log / messages, ele é impresso como:

sshd[18468]: Accepted keyboard-interactive/pam for root from 134.64.66.666 port 49867 ssh2

Então, basta usar as mensagens como:

grep -E "Accepted keyboard-interactive/pam for" /var/log/messages
    
por 11.07.2014 / 12:45
0

Você também pode modificar o shell bash para fazer algum rsylog.

Efetivamente, você configura o rsyslog em um host remoto para aceitar conexões específicas. Em seguida, modifique o shell do host no qual você deseja monitorar - compilando sua versão, com um que tenha o seguinte habilitado:

vi config-top.h
#define SYSLOG_HISTORY
#if defined (SYSLOG_HISTORY)
#  define SYSLOG_FACILITY LOG_USER
#  define SYSLOG_LEVEL LOG_INFO
#endif

Uma vez compilado com isto ativado, você pode substituir o bash por esta versão OU ter usuários logados, redirecionando seus logins para ele.

Para mais informações:

link

    
por 07.07.2016 / 19:38