Ver destacados

Cómo auditar Linux con Auditd Tool y Ausearch

En este tutorial te explicamos paso a paso cómo auditar Linux con Auditd Tool y Ausearch para mantener los mejores niveles de control.
Escrito por
25.1K Visitas  |  Publicado sep 27 2017 11:16
Favorito
Compartir
Comparte esta pagina a tus Amigos y Contactos usando las siguientes Redes Sociales


Como administradores de sistemas, personal del grupo de soporte o simplemente como una medida de mantener los mejores niveles de control tanto del servidor como de los equipos cliente de la organización es auditando de forma constante el sistema operativo con el fin de estar un paso más adelante los fallos que puedan presentarse y de este modo preservar la integridad y disponibilidad del sistema así como sus roles, servicios y elementos almacenados en él.

 

Qué es una auditoria de Linux
Cuando hablamos de un sistema de auditoría en un ambiente Linux, estamos hablando de un mecanismo que proporciona una forma de rastrear la información relevante para la seguridad en dicho sistema operativo.

 

Una auditoría esta compuesta por un examen de las diversas partes que componen ese sistema específicamente, con una evaluación crítica, y pruebas si es necesario, en diferentes áreas de interés.

 

 

Tomando como base este concepto hoy Solvetic hará un análisis de dos de las mejores herramientas para el proceso de auditoria en Linux: auditd y ausearch.

 

Es importante aclarar que la auditoría no proporciona seguridad adicional al sistema operativo sino que puede ser usada para descubrir violaciones de las políticas de seguridad utilizadas en el sistema y así estar con el conocimiento adecuado de estas.

 

Auditd
Auditd es el sistema de auditoría de Linux el cual se basa en reglas preconfiguradas para generar entradas de registro y así almacenar toda la información sobre los eventos que están sucediendo en el sistema como sea posible.

 

Esta información recopilada es crucial para los entornos de misión crítica con el fin de determinar el infractor de la política de seguridad y las acciones que realizaron y así permitir que todas las acciones de seguridad y nuevas políticas creadas en la organización estén enfocadas en mejorar todo el entorno operativo.

 

Auditd está en la capacidad grabar los siguientes archivos de registro
  • Fecha, hora, tipo y resultado de un evento.
  • Etiquetas de sensibilidad de sujetos y objetos.
  • Asociación de un evento con la identidad del usuario que ejecuto el evento.
  • Desplegar todas las modificaciones a la configuración de auditoría e intento de acceso a los archivos de registro de auditoría.
  • Almacenar todos los usos de los mecanismos de autenticación, como SSH, Kerberos y otros.
  • Es posible cambiar a cualquier base de datos de confianza, como /etc/passwd.
  • Registra cualquier intento de importar o exportar información hacia o desde el sistema.
  • Incluye o excluye eventos basados en identidad de usuario, etiquetas de sujeto y objeto y otros atributos.

 

Requisitos
De la misma forma, el uso del sistema de auditoría también es un requisito necesario para una serie de certificaciones relacionadas con la seguridad en caso de ser requerida en algún momento. La auditoría está diseñada para cumplir o exceder los requisitos de las siguientes certificaciones o guías de cumplimiento a nivel mundial:
  • Controlled Access Protection Profile (CAPP)
  • Labeled Security Protection Profile (LSPP)
  • Rule Set Base Access Control (RSBAC)
  • National Industrial Security Program Operating Manual (NISPOM)
  • Federal Information Security Management Act (FISMA)
  • Payment Card Industry — Data Security Standard (PCI-DSS)
  • Security Technical Implementation Guides (STIG)

 

Ventajas adicionales
Algunas de las ventajas adicionales al usar el sistema de auditoria de Linux son las siguientes:
  • No requiere programas o procesos externos para ejecutarse en un sistema que lo haga autosuficiente.
  • Es altamente configurable razón por la cual nos permite ver cualquier operación del sistema que deseemos.
  • Ayuda a detectar o analizar compromisos, a nivel de seguridad, potenciales de un sistema.
  • Es capaz de funcionar como un sistema de detección independiente.
  • Puede trabajar con sistemas de detección de intrusos para permitir la detección de intrusiones.
  • Es una herramienta vital para la auditoría de investigaciones forenses.

 

Con este tutorial aprenderás cómo monitorear la actividad de un usuario usando las herramientas ACCT o PSACCT.

 

Aunque algunos términos puedan parecer extraños, si estamos comprometidos con la seguridad sin dudas esta es una de las mejores opciones.

 


1. Componentes del sistema de auditoria de Linux auditd


El sistema de auditoría tiene dos componentes básicos que son:
  • Aplicaciones de usuario y utilidades o herramientas
  • Procesamiento de llamadas de sistema a nivel de kernel, el cual acepta llamadas de sistema desde aplicaciones de espacio de usuario y las pasa a través de tres tipos de filtros: usuario, tarea, salida o exclusión.
La parte más importante es el daemon de auditoría de usuario (auditd) el cual recopila la información basada en reglas preconfiguradas, desde el núcleo y genera entradas en un archivo de registro: el registro por defecto es:
/var/log/audit/audit.log
Adicional a esto, el audispd es un multiplexor de eventos que interactúa con auditd y envía eventos a otros programas que desean realizar procesamiento de eventos en tiempo real.

 

Existen varias herramientas de espacio de usuario para administrar y recuperar información del sistema de auditoría que son:

 

Auditctl
Es una utilidad para controlar el sistema de auditoría del kernel.

Ausearch
Es una utilidad para buscar archivos de registro de auditoría para eventos específicos.

Aureport
Es una utilidad para crear informes de eventos grabados.

 

Para este análisis usaremos CentOS 7

 

 


2. Instalación y configuración de auditd en CentOS 7


El primer paso consiste en asegurarnos que la herramienta de auditoría está instalada en el sistema usando el comando rpm y la utilidad grep así:
rpm -qa | grep audit
El resultado será:

 

 

En caso de no contar con los paquetes de auditoria, debemos ejecutar el siguiente comando como usuarios root:

yum install audit
Una vez instalado debemos configurar si auditd se encuentra habilitad, para ello ejecutaremos alguno de los siguientes comandos en su orden:

 

En CentOS o RHEL 7
systemctl is-enabled auditdsystemctl status auditdsystemctl start auditd (inicia el servicio)

systemctl enable auditd (habilita el servicio)

 

En CentOS o RHEL 6
service auditd statusservice auditd start (inicia el servicio)

chkconfig auditd on (habilita el servicio)

 

Podemos ver que su estado es activo.

 

 

 

 

 


3. Configuración de auditd


Para configurar auditd debemos usar el archivo de configuración principal /etc/audit/auditd.conf ya que allí será posible controlar cómo se ejecuta el servicio tal como la definición de la ubicación del archivo de registro, el número máximo de archivos de registro, el formato de registro, cómo tratar los discos completos, la rotación de registros y más opciones.
Para esto usaremos el editor preferido:
nano /etc/audit/auditd.conf
Alli veremos lo siguiente:

 

 

Podemos ver que cada línea nos permite indicar una acción específica y podremos cambiarla según sea necesario.

 


4. Reglas de auditoria en Linux


Como indicamos anteriormente, auditd hace uso de reglas para recopilar información específica del kernel. Estas reglas son básicamente opciones de auditctl las cuales pueden preconfiguradas en el archivo /etc/audit/rules.d/audit.rules.

 

Hay tres tipos de reglas de auditoría que pueden ser definidas las cuales son:

 

Reglas de control
Estas permiten modificar el comportamiento del sistema de auditoría y algunas de sus configuraciones.

Reglas del sistema de archivos
Estas reglas permiten la auditoría del acceso a un determinado archivo o directorio.

Reglas de llamada del sistema
Estas permiten el registro de las llamadas al sistema realizadas por cualquier programa.

 

Para acceder a dichas reglas iremos a la siguiente ruta usando el editor deseado:

nano /etc/audit/rules.d/audit.rules
Veremos lo siguiente:

 

 

En este archivo, en la primer sección debemos agregar reglas de control. Posteriormente, agregar las reglas de auditoría en la sección central y, finalmente, la última sección contiene parámetros de inmutabilidad que también son reglas de control.

 

Algunos ejemplos de estas reglas son:

 

Elimina todas las reglas anteriores
-D

 

Define tamaño del búfer
-b 3074

 

Al fallar genera una opción de pánico
-f 4

 

Crear como máximo 120 mensajes de auditoría por segundo
-r 120

 

Un ejemplo de una regla es el siguiente:

 

 

Allí tenemos lo siguiente:

 

Se utiliza para especificar un archivo o directorio para vigilar.
-w

 

Permisos
Son los permisos para ser registrados, r - para acceso de lectura, w - para acceso de escritura, x - para acceso de ejecución y - para cambio de archivo o atributo de director.
-p

 

Identificar conjunto de reglas
Permite establecer una cadena opcional para identificar qué regla (o un conjunto de reglas) creó una entrada de registro específica.
-k

 

Una vez definidas las reglas usamos la combinación de teclas Ctrl + O para guardar el archivo y Ctrl + X para salir del mismo. Agregaremos estas reglas, tomando las del ejemplo ejecutando las siguientes líneas como root:

auditctl -w /etc/passwd -p wa -k passwd_changesauditctl -w /etc/group -p wa -k group_changesauditctl -w /etc/sudoers -p wa -k sudoers_changes
Para poder ver las reglas actuales ejecutaremos lo siguiente:
sudo auditctl -l

 

De esta forma auditd se convierte en una valiosa herramienta de auditoria en CentOS 7.

 

 


5. Ausearch Linux


La utilidad ausearch ha sido diseñada para permitir buscar archivos de registro de auditoría para eventos específicos basados en eventos y diferentes criterios de búsqueda como identificador de evento, identificador de clave, arquitectura de CPU, nombre de comando, nombre de host, nombre de grupo o ID de grupo.

 

De forma predeterminada, ausearch busca en el archivo /var/log/audit/audit.log. Puede especificar un archivo diferente utilizando el comando ausearch options -if nombre_archivo. El suministro de múltiples opciones en un comando ausearch equivale a usar el operador AND.

 

Para usar el valor por defecto y ver los logs actuales ejecutaremos alguno de los siguientes comandos:

cat /var/log/audit/audit.logcat /var/log/audit/audit.log | less

 

Como vemos los datos acá representados pueden ser confusos por lo cual ausearch hace uso de la sintaxis ausearch (opción) para filtrar estos resultados y obtener una visión mucho más fácil de administrar.

 

Contamos con opciones como:

 

Comprobar la ejecución de registros de proceso
Alli podemos hacer uso del parámetro -p más el PID para obtener un resultado específico:
ausearch -p 579

 

 

Comprobar errores en los intentos de inicio de sesión en el archivo de registro de auditoría
En este caso necesitamos usar el parámetro -m para identificar mensajes específicos y -sv para definir los resultados satisfactorios.
ausearch -m USER_LOGIN -sv no

 

 

Buscar actividad de usuario en el archivo de registro de Auditd
Para este resultado usaremos el parámetro -ua más el nombre de usuario:
ausearch -ua Solvetic

 

 

Encontrar modificaciones en usuarios, grupos y roles
Con esta opción será posible revisar todos los cambios del sistema usados con cuentas de usuario, grupos y roles; Podremos especificar varios tipos de mensajes separados por comas de la siguiente manera:
ausearch -m ADD_USER,DEL_USER,USER_CHAUTHTOK,ADD_GROUP,DEL_GROUP,CHGRP_ID,ROLE_ASSIGN,ROLE_REMOVE -i
Veremos lo siguiente:

 

 

 

Ver la ayuda de ausearch
Para ver las diferentes opciones de esta utilidad ejecutaremos lo siguiente:
man ausearch

 

 

Así podemos ver las diversas opciones a la hora de realizar una auditoria completa y eficaz en CentOS o RedHat.

 

Cómo auditar realizando auditoria de seguridad con Lynis en equipos Linux (CentOS 7).

¿Te ayudó este Tutorial?

Ayuda a mejorar este Tutorial!
¿Quieres ayudarnos a mejorar este tutorial más? Puedes enviar tu Revisión con los cambios que considere útiles. Ya hay 0 usuario que han contribuido en este tutorial al enviar sus Revisiones. ¡Puedes ser el próximo!