Si tiene un servidor Linux, existe la posibilidad de que varios usuarios accedan al sistema. Es posible que desee saber quién inició sesión en su sistema, cuándo un usuario en particular inició sesión en el sistema Linux. También es posible que desee saber desde qué dirección IP se accedió a su sistema.
Incluso si no tiene varios usuarios, es probable que alguien haya intentado acceder a su servidor Linux. Confía en mí, esto puede sonar extraño, pero es algo común en estos días que los bots intenten acceder a tus servidores Linux. ¿No me crees? Simplemente verifique los intentos de inicio de sesión incorrectos en su servidor para ver si alguien intentó iniciar sesión en su sistema.
Déjame mostrarte cómo ver el historial de inicio de sesión de Linux para que sepas quién está accediendo a tu sistema y desde dónde.
Ver el historial de inicio de sesión de Linux
Linux es muy bueno para mantener registros de todo lo que sucede en su sistema. Naturalmente, también almacena registros sobre el inicio de sesión y los intentos de inicio de sesión. La información de inicio de sesión se almacena en tres lugares:
- /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
Veamos estas cosas con un poco de detalle.
1. 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 debería verse así. Como puede ver, enumera el usuario, la dirección IP desde donde el usuario accedió al sistema, la fecha y la hora del inicio de sesión. pts/0 significa que se accedió al servidor a través de SSH.
abhi pts/0 202.91.87.115 Wed Mar 13 13:31 still logged in
root pts/0 202.91.87.115 Wed Mar 13 13:30 - 13:31 (00:00)
servesha pts/0 125.20.97.117 Tue Mar 12 12:07 - 14:25 (02:17)
servesha pts/0 209.20.189.152 Tue Mar 5 12:32 - 12:38 (00:06)
root pts/0 202.91.87.114 Mon Mar 4 13:35 - 13:47 (00:11)
wtmp begins Mon Mar 4 13:35:54 2019
La última línea de la salida le indica cuándo se creó el archivo de registro wtmp. Esto es importante porque si el archivo wtmp se eliminó recientemente, el último comando no podrá mostrar el historial de los inicios de sesión anteriores a esa fecha.
Es posible que tenga un gran historial de sesiones de inicio de sesión, por lo que es mejor canalizar la salida a través de menos comandos.
2. Ver el historial de inicio de sesión de un determinado usuario
Si solo desea ver el historial de inicio de sesión de un usuario en particular, puede especificar el nombre de usuario con el último comando.
last <username>
Verá la información de inicio de sesión solo del usuario seleccionado:
last servesha
servesha pts/0 125.20.97.117 Tue Mar 12 12:07 - 14:25 (02:17)
servesha pts/0 209.20.189.152 Tue Mar 5 12:32 - 12:38 (00:06)
wtmp begins Mon Mar 4 13:35:54 2019
3. Mostrar direcciones IP en el historial de inicio de sesión en lugar del nombre de host
No pudo verlo en la salida anterior, pero de forma predeterminada, el último comando muestra el nombre de host en lugar de la dirección IP del usuario. Si está en una subred, probablemente solo verá los nombres de host.
Puede forzar la visualización de las direcciones IP de los usuarios registrados previamente con la opción -i.
last -i
4. Mostrar solo los últimos N inicios de sesión
Si su sistema tiene un buen tiempo de actividad, quizás su historial de inicio de sesión sea enorme. Como mencioné anteriormente, puede usar el comando menos u otros comandos de visualización de archivos como cabeza o cola.
El último comando le da la opción de mostrar solo una cierta cantidad de historial de inicio de sesión.
last -N
Simplemente reemplace N con el número que desee. También puedes combinarlo con el nombre de usuario.
5. Ver todos los intentos de inicio de sesión incorrectos en su servidor Linux
Ahora viene la parte importante: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 puede 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.
root ssh:notty 218.92.0.158 Wed Mar 13 14:34 - 14:34 (00:00)
sindesi ssh:notty 59.164.69.10 Wed Mar 13 14:34 - 14:34 (00:00)
root ssh:notty 218.92.0.158 Wed Mar 13 14:34 - 14:34 (00:00)
sindesi ssh:notty 59.164.69.10 Wed Mar 13 14:34 - 14:34 (00:00)
root ssh:notty 218.92.0.158 Wed Mar 13 14:34 - 14:34 (00:00)
Los inicios de sesión incorrectos pueden ser una contraseña incorrecta ingresada por un usuario legítimo. También podría ser un bot que intenta forzar tu contraseña por fuerza bruta.
Tienes que analizar aquí y ver si reconoces las IP en el registro. Si ha habido demasiados intentos de inicio de sesión desde una determinada IP con usuario raíz, probablemente alguien esté intentando atacar su sistema mediante fuerza bruta.
Debe implementar Fail2Ban para proteger su servidor en tales casos. Fail2Ban prohibirá dichas direcciones IP de su servidor y, por lo tanto, le dará a su servidor una capa adicional de protección.
Conclusión
Espero que este tutorial le enseñe a ver el historial de inicio de sesión en Linux y ahora puede usar este conocimiento para administrar y proteger mejor su sistema Linux.
Si le gustó este artículo, compártalo en las redes sociales y suscríbase a nuestro boletín para obtener más tutoriales relacionados con Linux.