Cuando tenemos que gestionar un servidor GNU/Linux, existe la posibilidad de que tengas varios usuarios accediendo al sistema. En algún momento, es posible que quieras saber cuando un usuario inició sesión en el sistema. También es posible saber desde qué dirección IP se accedió al sistema.
Incluso si no tienes varios usuarios, es interesante poder revisar el historial de acceso para verificar si ha habido algún acceso no autorizado.
En este tutorial, explicaremos como revisar el historial de inicio de sesión en GNU/Linux para revisar los accesos de nuestros sistemas.
Ver el historial de inicio de sesión de Linux
GNU/Linux es un sistema operativo muy bueno para mantener registros de todo lo que sucede en su sistema. Entre todos estos registros, también podemos encontrar registros sobre el inicio de sesión y los intentos de acceso al servidor.
La información de inicio de sesión se almacena en tres lugares, todos estos registros son ficheros binarios:
/var/log/wtmp
: registros de las últimas sesiones de inicio de sesión./var/run/utmp
: registros de las sesiones de inicio de sesión actuales./var/log/btmp
: registros de los intentos de inicio de sesión incorrectos.
Estos ficheros al ser binarios, no se pueden visualizar con una cat
o un less
, por lo que vamos a tener que usar una serie de comandos del sistema para revisarlo. Veamos que opciones tenemos:
Ver el historial de todos los usuarios registrados
Para ver el historial de todos los inicios de sesión exitosos en su sistema, simplemente use el último comando.
last
La salida de este comando debería de verse de la siguiente forma. Como podemos observar, se enumera el usuario, la dirección IP, la fecha, la hora del inicio de sesión y el tiempo que duró la sesión. pts/1
o pts/0
significa que se accedió a través de SSH.
t3rr0rz0ne pts/1 192.168.1.111 Sat Nov 12 10:07 - 15:48 (05:41)
root pts/0 192.168.1.222 Sat Nov 12 10:05 - 15:49 (05:44)
voidnull pts/0 192.168.1.121 Fri Nov 11 22:35 - 23:03 (00:28)
t3rr0rz0ne pts/0 192.168.1.234 Fri Nov 11 13:56 - 16:12 (02:16)
wtmp begins Thu Nov 10 21:36:45 2022
La última línea de la salida se indica cuándo se creó el archivo de registro wtmp
. Esto es un detalle importante, porque si el archivo wtmp
se elimina, el comando last
no podrá mostrar el historial de los inicios de sesión anteriores a esa fecha.
Ver el historial de inicio de sesión de un determinado usuario
Si quieres filtrar por usuario, a parte de hacerlo con un grep, puedes utilizar el mismo comando last para mostrar un usuario en particular.
last [usuario]
Verá la información de inicio de sesión solo del usuario seleccionado:
# last voidnull
voidnull pts/0 192.168.1.121 Tue Nov 12 12:07 - 14:25 (02:17)
voidnull pts/0 192.168.1.121 Tue Nov 5 12:22 - 12:28 (00:06)
wtmp begins Mon Mar 4 13:35:54 2019
Ver todos los intentos fallidos de inicio de sesión de nuestro servidor
Ahora viene la parte interesante: verificar los intentos de inicio de sesión incorrectos en su servidor.
Puedes hacerlo de dos maneras. Puede usar el último comando con el archivo de registro btmp
:
last -f /var/log/btmp
O puedes usar el comando lastb
:
lastb
Ambos comandos producirán el mismo resultado. El lastb
es en realidad un enlace al último comando con el archivo especificado.
pi ssh:notty 79.60.41.182 Thu Dec 1 19:48 - 19:48 (00:00)
root ssh:notty 14.98.206.170 Thu Dec 1 19:48 - 19:48 (00:00)
test ssh:notty 113.160.196.203 Thu Dec 1 17:28 - 17:28 (00:00)
test ssh:notty 113.160.196.203 Thu Dec 1 17:28 - 17:28 (00:00)
root ssh:notty 122.160.69.235 Thu Dec 1 15:08 - 15:08 (00:00)
test ssh:notty 201.28.105.119 Thu Dec 1 12:48 - 12:48 (00:00)
test ssh:notty 201.28.105.119 Thu Dec 1 12:48 - 12:48 (00:00)
pi ssh:notty 14.63.170.136 Thu Dec 1 10:28 - 10:28 (00:00)
root ssh:notty 151.251.80.105 Thu Dec 1 10:28 - 10:28 (00:00)
Los intentos de acceso fallidos, pueden ser una contraseña incorrecta por un usuario legítimo o bien un bot que intenta hacer un ataque de diccionario por fuerza bruta.
Para evitar estos intentos de acceso, es muy recomendable implementar Fail2ban en tu servidor para protegerlo de este tipo de ataques.

Comentarios