Cómo configurar PAM para auditar la actividad del usuario del Shell de registro


Esta es nuestra serie en curso sobre auditoría de Linux. En esta cuarta parte de este artículo, explicaremos cómo configurar PAM para auditar la entrada de TTY de Linux (actividad de usuario del Shell de registro) para usuarios específicos utilizando la herramienta pam_tty_audit .

Linux PAM ( Módulos de autenticación conectables ) es un método altamente flexible para implementar servicios de autenticación en aplicaciones y varios servicios del sistema. surgió del PAM original de Unix.

Divide las funciones de autenticación en cuatro módulos de administración principales, a saber: módulos de cuenta , módulos de autenticación , módulos de contraseña y módulos de sesión . La explicación detallada de estos grupos de administración está fuera del alcance de este tutorial.

La herramienta auditd utiliza el módulo PAM pam_tty_audit para habilitar o inhabilitar la auditoría de la entrada TTY para usuarios específicos. Una vez que un usuario está configurado para ser auditado, pam_tty_audit funciona junto con auditd para rastrear las acciones de un usuario en el terminal y, si está configurado, captura las pulsaciones exactas que realiza el usuario. luego los graba en el archivo /var/log/audit/audit.log .

Configuración de PAM para la auditoría de entrada TTY de usuario en Linux

Puede configurar PAM para auditar una entrada de usuarios en particular TTY en /etc/pam.d/system-auth y /etc /pam.d/password-auth , utilizando la opción de habilitación. Por otro lado, como se esperaba, la inhabilitación lo desactiva para los usuarios especificados, en el siguiente formato:

session required pam_tty_audit.so disable=username,username2...  enable=username,username2..

Para activar el registro de las pulsaciones reales del usuario (incluidos espacios, espacios de retroceso, claves de retorno, la tecla de control, eliminar clave y otras), agregue la opción log_passwd junto con las otras opciones, utilizando este formulario:

session required pam_tty_audit.so disable=username,username2...  enable=username log_passwd

Pero antes de realizar cualquier configuración, tenga en cuenta que:

  • As seen in the syntax above, you can pass many usernames to the enable or disable option.
  • Any disable or enable option overrides the previous opposite option that matches the same username.
  • After enabling TTY auditing, it is inherited by all processes initiated by the defined user.
  • If recording of keystrokes is activated, the input is not logged instantly, since TTY auditing first stores the keystrokes in a buffer and writes the buffer content at given intervals, or after the audited user logs out, into the /var/log/audit/audit.log file.

Veamos un ejemplo a continuación, donde configuraremos pam_tty_audit para registrar las acciones del usuario tecmint , incluidas las pulsaciones de tecla, en todos los terminales, mientras deshabilitamos la auditoría TTY para todos Usuarios del sistema.

Abra estos dos archivos de configuración siguientes.

# vi /etc/pam.d/system-auth
# vi /etc/pam.d/password-auth

se requiere sesión pam_tty_audit.so disable = * enable = tecmint

Y para capturar todas las pulsaciones de teclado introducidas por el usuario tecmint , podemos agregar la opción log_passwd que se muestra.

session required pam_tty_audit.so disable=*  enable=tecmint log_passwd

Ahora guarda y cierra los archivos. Luego, vea el archivo de registro auditd para cualquier entrada TTY registrada, utilizando la utilidad aureport.

# aureport --tty

Desde la salida anterior, puede ver al usuario tecmint cuyo UID es 1000 que utiliza el editor vi/vim, creó un directorio llamado bin y movido en él, despejó el terminal y así sucesivamente.

Para buscar registros de entrada de TTY grabados con marcas de tiempo iguales o posteriores a un tiempo específico, use -ts para especificar la fecha/hora de inicio y -te para establecer el final fecha y hora.

Los siguientes son algunos ejemplos:

# aureport --tty -ts 09/25/2017 00:00:00 -te 09/26/2017 23:00:00
# aureport --tty -ts this-week

Puede encontrar más información en la página de manual de pam_tty_audit .

# man  pam_tty_audit

Echa un vistazo a los siguientes artículos útiles.

  1. Configure “No Password SSH Keys Authentication” with PuTTY on Linux Servers
  2. Setting Up LDAP-based Authentication in RHEL/CentOS 7
  3. How to Setup Two-Factor Authentication (Google Authenticator) for SSH Logins
  4. SSH Passwordless Login Using SSH Keygen in 5 Easy Steps
  5. How to Run ‘sudo’ Command Without Entering a Password in Linux

En este artículo, describimos cómo configurar PAM para la auditoría de entradas para usuarios específicos en CentOS/RHEL. Si tiene alguna pregunta o ideas adicionales para compartir, use el comentario a continuación.