(Edite este post con algunas correcciones ortográficas y de traducción, ya que tenia muchos errores de traducción)


Con este software podemos descubrir cual usuario ha efectuado algún cambio en el sistema para después de esa forma poder corregirlo de forma rápida y sencilla. También podemos usarlo como auditoria en caso de que tengamos duda de que alguien consiguió acceder al servidor queriendo perjudicar o cualquier otra posibilidad..

En caso de que alguien acceda a nuestro servidor como root puede detener todos los logs, y no podremos saber nada de lo que aconteció, algo que no es posible de realizar con el ttyrec.

Esta herramienta la he probado con CentOS, pero la misma debe de funcionar en otras versiones o distros de gnu/linux como Fedora, SUSE, Debian, etc.

En la versión de Debian es más simple, solo escribimos el comando "apt-get install ttyrec" y el software ya estará instalado.

Todos los archivos de configuración del ttyrec están en /etc/ttyrec.

Abajo las configuraciones para quien no tiene los paquetes en sus repositorios

Accedemos al sitio:

http://0xcc.net/ttyrec/index.html.en


Y descargamos la ultima versión del software, el que se utilizo para este tutorial es la versión ttyrec 1.0.8..

Vamos a descomprimirlo en el directorio /usr/src:

# tar -xzvf ttyrec-1.0.8.tar.gz -C /usr/src

Accedemos al nuevo directorio:

# cd /usr/src/ttyrec-1.0.8

Y vamos a compilar:

# make CFLAGS=-DSVR4

El comando de arriba generará 3 binarios:

ttyrec = Responsable por grabar la salida de terminal del usuario en un archivo para hacer la auditoria;
ttyplay = Comando usado para ver que fue grabado por el ttyrec basándose en el archivo de salida;
ttytime = Archivo de utilidad para mostrar el tiempo de grabación del ttyrec, basándose en el archivo de salida.


Vamos a copiar los 3 binarios al directorio /usr/local/bin:

# cp ttyrec ttyplay ttytime /usr/local/bin


Test de script de automatización
Ahora lo mejor, verificar si el software funciona conforme a nuestras configuraciones.

Como root, abrimos alguna terminal en nuestro servidor.
en la consola escribimos:
# ttyrec -u archivotest.rec

Después de este comando aparentemente no pasa nada. Pero una ves ejecutado ese comando dentro del directorio de uso actual ira apareciendo un archivo llamado archivotest.rec y ttyrec ya estará grabando todo lo que fue hecho en la terminal.

Ejecutamos otros comandos en el servidor, como por ejemplo: history, df, fdisk -l, iptables -nL etc.

Después de eso volvemos a escribir exit para salir del ttyrec.

Vamos a verificar si fue grabado:
en la consola escribimos
# ttyplay archivotest.rec

Otra opción es controlar la salida de este archivo con:

# tail -f archivotest.rec

Si todo ocurrió bajo la normalidad, bien con el proceso encima, vamos automatizarlo dejando un script que haga que el ttyrec grabe todas las terminales de los usuarios que se conecten en tu sistema.

Creamos el directorio /root/audit/ttyrec con permiso 777 para que todos los usuarios puedan escribir dentro de ella.

# mkdir /root/audit/ttyrec
# chmod 777 /root/audit/ttyrec

Para garantizar que no ocurra problema dentro del archivo /etc/profile, hacemos una copia del mismo

# cp /etc/profile /root/profile.bkp

Después de eso editamos el mismo con el editor preferido, en este caso vamos a usar el vim, adicionando el siguiente contenido debajo de la ultima linea del archivo:

# vim /etc/profile

if archivotest`id -u` != 0
then
TTYFORMAT="/root/audit/ttyrec/${LOGNAME}-${HOSTNAME}-`date +%H-%M--%d-%m-%Y`.rec"
ttyrec -u $TTYFORMAT
fi

Llegamos al final de este articulo, ahora todas las veces que algún usuario tenga acceso al servidor, el histórico sera guardado en un archivo dentro de /root/audit/ttyrec, con la grabación de la hora y el día.

Espero hayan entendido el tutorial es que me costo recopilar información del tema y traducirlo para que ustedes pudieran entenderlo de la mejor manera