Como forçar o log de todas as ações do terminal no servidor Ubuntu 12.04?

2

Acredito que meu servidor acabou de ser comprometido de forma interativa.

Como este servidor irá para o thrash de qualquer maneira, eu me pergunto se eu posso ter uma visão melhor do que o vilão está fazendo, forçando o registro de todos os tty.

Anos atrás, eu vi um patch de kernel, que faz exatamente isso, mas não consigo mais encontrá-lo. Eu me pergunto, se tal patch existe (eu não sei escrever um).

O melhor seria, se a saída não fosse armazenada localmente, mas encaminhada para meu outro host (por exemplo, por http post ou mesmo como netcat).

Meu host usa o kernel 3.8 principal.

    
por Adam Ryczkowski 11.11.2013 / 13:38

1 resposta

3

Eu não tenho um patch de interceptação no nível do kernel, mas este script de captura de shell rápido e sujo pode ser colocado em /etc/profile.d :

if [ -z $INSCRIPT ]; then
    export INSCRIPT=1
    DATE='date "+%Y%m%d%H%M%S"'
    TTY='tty | tr "/" "_"'
    script -qf "/tmp/${DATE}${TTY}.log" && exit
fi

Isto irá criar arquivos em / tmp no formato TIMESTAMP_TTY.log e irá gravar quase todas as entradas / saídas (incluindo caracteres especiais). O script em si não é anunciado graças à sinalização silenciosa, mas é facilmente identificado na tabela de processos se um invasor pensa em procurar.

Como você ainda tem acesso ao sistema, pode sempre recuperar esses registros remotamente, em vez de eliminá-los (configurar o sistema para enviar esses arquivos para um local remoto abre outro alvo para o invasor).

    
por 11.11.2013 / 14:40