Una de las tareas más críticas que tiene como administrador del sistema es monitorear su sistema en busca de cualquier actividad sospechosa que pueda indicar un compromiso de seguridad y actuar en consecuencia. Debe evaluar la actividad de inicio de sesión en busca de signos de una violación de seguridad, como múltiples inicios de sesión fallidos.
NOTA :Revisar archivos como /var/log/messages también puede brindarle información sobre la actividad de inicio de sesión.Para monitorear la actividad de inicio de sesión, puede usar los siguientes comandos:
quien
El comando who Muestra quién está actualmente conectado al sistema e información como la hora del último inicio de sesión. Puede utilizar opciones como
-H (mostrar encabezados de columna)
-r (nivel de ejecución actual)
-a (muestra la información proporcionada por la mayoría de las opciones).
Por ejemplo, ingresar who -H devuelve información similar a la siguiente:
# who -H NAME LINE TIME COMMENT user pts/0 2017-12-14 09:58
De manera similar, el comando 'who -a' mostrará la salida como se muestra a continuación.
# who -a system boot 2017-12-14 09:51 LOGIN ttyS0 2017-12-14 09:52 1103 id=tyS0 LOGIN tty1 2017-12-14 09:52 1102 id=tty1 run-level 3 2017-12-14 09:53 user + pts/0 2017-12-14 09:58 . 1164
w
La 'w ‘ comando Muestra información sobre los usuarios actualmente en la máquina y sus procesos. La primera línea incluye información sobre la hora actual, cuánto tiempo ha estado funcionando el sistema, cuántos usuarios están conectados actualmente y los promedios de carga del sistema durante los últimos 1, 5 y 15 minutos.
Debajo de la primera línea hay una entrada para cada usuario que muestra el nombre de inicio de sesión, el nombre de TTY, el host remoto, el tiempo de inicio de sesión, el tiempo de inactividad, JCPU, PCPU y la línea de comando del proceso actual del usuario. A continuación se muestra una salida de muestra del comando w.
# w 11:05:37 up 1:14, 2 users, load average: 0.00, 0.01, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT user pts/0 09:58 1:04m 0.38s 1.74s login -- user user pts/1 11:05 1.00s 0.03s 0.15s login -- user
El tiempo de JCPU es el tiempo utilizado por todos los procesos adjuntos al tty. No incluye trabajos en segundo plano anteriores, pero sí incluye trabajos en segundo plano que se están ejecutando actualmente. El tiempo PCPU es el tiempo utilizado por el proceso actual, que se nombra en
el campo Qué. Puede usar opciones como -h (no mostrar el encabezado), -s (no mostrar la hora de inicio de sesión, JCPU y PCPU) y -V (mostrar información de la versión).
dedo
El comando finger muestra información sobre los usuarios del sistema local y remoto. De forma predeterminada, se muestra la siguiente información sobre cada usuario que haya iniciado sesión actualmente en el host local:
1. Nombre de inicio de sesión del usuario
2. Nombre completo del usuario
3. Nombre de terminal asociado
4. Tiempo de inactividad
5. Hora de inicio de sesión (y desde dónde)
Puede usar opciones como -l (formato largo) y -s (formato corto) . Por ejemplo, ingresar 'dedo -s' devuelve información similar a la siguiente:
# finger -s Login Name Tty Idle Login Time Office Office Phone Host user pts/0 1:18 Dec 14 09:58 user pts/1 Dec 14 11:05
# finger -l Login: user Name: Directory: /home/user Shell: /bin/bash On since Thu Dec 14 09:58 (EST) on pts/0 1 hour 18 minutes idle On since Thu Dec 14 11:05 (EST) on pts/1 1 second idle No mail. No Plan.
último
El último comando muestra una lista de usuarios que iniciaron y cerraron sesión desde /var/log/wtmp se creó el archivo. El último comando busca en el archivo /var/log/wtmp (o el archivo designado por -f opción) y muestra una lista de todos los usuarios que iniciaron (y cerraron) sesión desde que se creó el archivo. Puede especificar nombres de usuarios y TTY para mostrar solo información para esas entradas.
Puede utilizar opciones como -n (donde n es el número de líneas que se mostrarán), -a (mostrar el nombre del host en la última columna) y -x (mostrar las entradas de cierre del sistema y los cambios en el nivel de ejecución).
Por ejemplo, ingresar last -ax devuelve información similar a la siguiente:
# last -ax user pts/0 Sun Dec 17 00:05 still logged in runlevel (to lvl 3) Sun Dec 17 00:04 - 00:09 (00:05) 3.10.0-693.11.1.el7.x86_64 reboot system boot Sun Dec 17 00:03 - 00:09 (00:05) 3.10.0-693.11.1.el7.x86_64 shutdown system down Thu Dec 14 13:05 - 00:03 (2+10:58) 3.10.0-693.11.1.el7.x86_64 user pts/1 Thu Dec 14 11:05 - down (02:00) user pts/0 Thu Dec 14 09:58 - down (03:06)
último registro
El comando lastlog formatea e imprime el contenido del último archivo de registro de inicio de sesión (/var/log/lastlog). Se muestran el nombre de inicio de sesión, el puerto y la última hora de inicio de sesión.
Al ingresar el comando sin opciones, se muestran las entradas ordenadas por ID numérico. Puede usar opciones como -u login_name (mostrar información solo para el usuario designado) y -h (muestra un mensaje de ayuda de una línea). Si un usuario nunca ha iniciado sesión, el mensaje **Nunca ha iniciado sesión** se muestra en lugar del puerto y la hora. Por ejemplo, ingresar lastlog devuelve información similar a la siguiente:
# lastlog Username Port From Latest root pts/0 Sun Dec 17 00:05:43 -0500 2017 bin **Never logged in** daemon **Never logged in** adm **Never logged in** .... chrony **Never logged in** ec2-user **Never logged in** user pts/0 Sun Dec 17 00:05:35 -0500 2017