Com esse software podemos descobrir qual usuário efetuou alguma alteração no sistema e dessa forma corrigi-la de uma forma simples e rápida. Também podemos usá-la como auditoria caso tenha dúvida se alguém conseguiu acessar seu servidor querendo lhe prejudicar.
Caso alguém acesse seu servidor como root, pode apagar todos logs e você não saber nada do que aconteceu, o que não é possível se tiver usando ttyrec.
Tenho essa ferramenta em produção no CentOS, porém a mesma deve funcionar em outras versões de Linux, como Fedora , SUSE, Debian etc.
Na versão Debian é mais simples, apenas digite o comando "apt-get install ttyrec" e o software já estará instalado.
Todos os arquivos de configurações do ttyrec estão em /etc/ttyrec.
Abaixo seguem configurações para quem não tem os pacotes em seu repositório.
[4] Comentário enviado por y2h4ck em 30/09/2011 - 10:09h
Excelente artigo, parabéns.
Apenas a caráter de informação, recomendo apenas modificar a pasta
onde os arquivos serão salvos, apenas para evitar que uma sub-pasta
do usuário root esteja como 777.
Existem opções de ACL setadas diretamente no filesystem que permitem
setar permissões avançadas como APPEND, para determinados grupos de
usuários.
[5] Comentário enviado por thiagocoimbra23 em 30/09/2011 - 10:32h
Cruzeirense, bom dia.
`
Sim, porém é super importante não deixar acesso externo via ssh para usuário root, pois o mesmo pode acessar e fazer o que quiser dentro do seu servidor. deixe acesso a outro usuário sem permissões totais do sistema. após isso, você pode trocar de usuário para root com o comando su.
[6] Comentário enviado por verovan em 04/10/2011 - 11:23h
Parabéns pelo artigo, muito interessante e bem explicativo.
Tive problemas para deixar automático no OpenSuse, coloquei o script acima no /etc/profile, porém quando o usuário loga ele dá o erro "arquivoteste: command not found" faltou alguma coisa?
[10] Comentário enviado por verovan em 04/10/2011 - 12:26h
Esse é o final do /etc/profile
....
#
# An X session
#
case "$-" in
*i*)
if test "$TERM" = "xterm" -a -O "$tty" -a -z "${SSH_TTY}" ; then
echo "Directory: $PWD"
# Last but not least
date
fi
esac
if arquivoteste `id -u` != 0
then TTYFORMAT="/var/audit/ttyrec/${LOGNAME}-${HOSTNAME}-`date +%H-%M--%d-%m-%Y`.rec" ttyrec -u $TTYFORMAT
fi
[12] Comentário enviado por verovan em 05/10/2011 - 13:48h
ok, vou fazer e já dou um retorno. O programa está funcionando normalmente, quando faço os comandos manualmente ele grava tudo e depois consigo ver, porém nessa ultima parte onde colocou os script para que ficasse automatico é que tem o problema, não entendi essa primeira linha do script "if arquivoteste `id -u` != 0".
Não sei se seria algo particular no Suse, pois num post anterior alguem colocou que no Ubuntu funcionou
[13] Comentário enviado por renatux-chaves em 05/10/2011 - 14:18h
Boa tarde!
Ótimo artigo, porém estou com o mesmo problema do amigo verovan. Estou usando red hat e quando logo aparece a seguinte mensagem " -bash: audit.rec: command not found ". Já fiz como pedido a cima, mas continua o mesmo erro.
[15] Comentário enviado por renatux-chaves em 05/10/2011 - 14:58h
Fala thiagocoimbra23, obrigado pela atenção!
segue abaixo o meu /etc/profile. Porém no script eu fiz algumas alterações, como por exemplo o nome do arquivo que estava arquivoteste.rec eu mudei para audit.rec e o diretório que estava em /root/audit/ttyrec eu mudei para /var/audit/ttyrec.
saída do ls -l :
total 60
-rw-rw-rw- 1 root root 56748 Out 5 14:26 audit.rec
arquivo /etc/profile
# /etc/profile
# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc
pathmunge () {
if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
else
PATH=$1:$PATH
fi
fi
}
# Path manipulation
if [ `id -u` = 0 ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
fi
pathmunge /usr/X11R6/bin after
unset pathmunge
# No core files by default
ulimit -S -c 0 > /dev/null 2>&1
[16] Comentário enviado por verovan em 05/10/2011 - 15:16h
Vou colocar passo a passo que fiz. Primeiro meu arquivo /etc/profile está com o script assim " if arquivoteste.rec `id -u` != 0
then TTYFORMAT="/var/audit/ttyrec/${LOGNAME}-${HOSTNAME}-`date +%H-%M--%d-%m-%Y`.rec" ttyrec -u $TTYFORMAT
fi"
Depois acessei o diretório /var/audit/ttyrec e fiz o comando
ttyrec -u arquivoteste.rec
ele gerou o arquivo no /var/audit/ttyrec/arquivoteste.rec
Porém quando faço um novo logon com o root, ele aparece o erro logo no logon
arquivoteste.rec: command not found
e assim não grava os comandos dessa nova sessão que abri.