Aprenda la auditoría del sistema Linux con la herramienta Auditd en CentOS/RHEL

Aprenda la auditoría del sistema Linux con la herramienta Auditd en CentOS/RHEL

La auditoría del sistema simplemente se refiere al análisis en profundidad de un sistema específico específico: una auditoría se compone de un examen de las diversas partes que comprenden ese sistema, con una evaluación crítica (y pruebas si es necesario) en diferentes áreas de interés.

Leer también: Lynis - Herramienta de auditoría y escaneo de seguridad para sistemas Linux

Uno de los subsistemas críticos en Rhel/centos el sistema de auditoría de Linux comúnmente conocido como auditar. Implementa un medio para rastrear la información relevante para la seguridad en un sistema: utiliza reglas preconfiguradas para recopilar grandes cantidades de información sobre los eventos que están ocurriendo en el sistema y los registra en un archivo de registro, creando así una prueba de auditoría.

Puede registrar información como fecha y hora, tipo y resultado de un evento; usuarios que causaron el evento, cualquier modificación realizada a archivos/bases de datos; Usos de los mecanismos de autenticación del sistema, como PAM, LDAP, SSH y otros.

Auditar También registra cualquier cambio realizado en los archivos de configuración de auditoría o cualquier intento de acceder a archivos de registro de auditoría, y cualquier esfuerzo para importar o exportar información hacia o desde el sistema, además de mucha otra información relacionada con la seguridad.

¿Por qué es importante el sistema de auditoría de Linux??

  1. No requiere ningún programa o procesos externos para ejecutarse en un sistema que sea autosuficiente.
  2. Por lo tanto, es altamente configurable, le permite ver cualquier operación (s) del sistema que desee.
  3. Ayuda a detectar o analizar compromisos potenciales de un sistema.
  4. Es capaz de trabajar como un sistema de detección independiente.
  5. Puede funcionar con sistemas de detección de intrusos para habilitar la detección de intrusos.
  6. Es una herramienta vital para auditar investigaciones forenses.

Los componentes del sistema de auditoría de Linux

El sistema de auditoría tiene dos componentes centrales, a saber:

  • aplicaciones de espacio de usuario y utilidades/herramientas, y
  • Procesamiento de llamadas del sistema del lado del núcleo: esto acepta llamadas del sistema de aplicaciones del espacio de usuario y las pasa a través de tres tipos de filtros, a saber: usuario, tarea, salida, o excluir.

La parte más importante es la espacio de usuario Auditoría Daemon (auditar) que reúne información basada en reglas preconfiguradas, desde el núcleo y genera entradas en un archivo de registro: el registro predeterminado es /var/log/audit/audit.registro.

Además, el audiencia (Demonio de despachador de auditoría) es un multiplexor de eventos que interactúa con auditar y envía eventos a otros programas que desean realizar el procesamiento de eventos en tiempo real.

Hay una serie de espacio de usuario Herramientas para administrar y recuperar información del sistema de auditoría:

  • auditctl - Una utilidad para controlar el sistema de auditoría del kernel.
  • ausearch - Una utilidad para buscar archivos de registro de auditoría para eventos específicos.
  • aureport - una utilidad para crear informes de eventos grabados.

Cómo instalar y configurar la herramienta de auditoría en RHEL/Centos/Fedora

Primero asegúrese de verificar que la herramienta de auditoría esté instalada en su sistema utilizando el comando rpm y la utilidad GREP de la siguiente manera:

# rpm -qa | Auditoría GREP 
Verifique la herramienta Auditd

Si no tiene los paquetes anteriores instalados, ejecute este comando como usuario root para instalarlos.

# Auditoría de instalación de Yum 

A continuación, verifique si auditar está habilitado y en ejecución, emita los comandos SystemCTL a continuación en el terminal.

--------------- En CentOS/RHEL 7 --------------- # SystemCTL IS-habilitado Auditd # SystemCTL Status Auditd # SystemCTL Start Auditd [Start] # SystemCTL Habilitar Auditd [Enable] --------------- En Centos/Rhel 6 --------------- # Service Auditd Status # Service Auditd Inicio [Inicio] # CHKCONFIG AUDITD en [Enable] 
Verifique el estado de la herramienta Auditd

Ahora veremos cómo configurar auditar Uso del archivo de configuración principal /etc/audit/auditd.confusión. Los parámetros aquí le permiten controlar cómo se ejecuta el servicio, como definir la ubicación del archivo de registro, el número máximo de archivos de registro, el formato de registro, cómo lidiar con discos completos, rotación de registro y muchas más opciones.

# vi/etc/audit/auditd.confusión 

De la salida de muestra a continuación, los parámetros se explican por sí mismos.

Archivo de configuración de auditoría

Comprender las reglas de auditoría

Como mencionamos anteriormente en, auditar utiliza reglas para recopilar información específica del núcleo. Estas reglas son básicamente auditctl Opciones (consulte la página del hombre) que puede preconfigurar reglas en el /etc/auditoría/reglas.d/auditoría.normas Archivo (en CentOS 6, use el /etc/auditoría/auditoría.normas Archivo), para que estén cargados al inicio.

Hay tres tipos de reglas de auditoría que puede definir:

  • Reglas de control - Estos permiten la modificación del comportamiento del sistema de auditoría y algunas de sus configuraciones.
  • Reglas del sistema de archivos (también se conoce como relojes de archivo): habilite la auditoría del acceso a un archivo determinado o un directorio.
  • Reglas de llamadas del sistema - Permite el registro de llamadas del sistema realizadas por cualquier programa.

Ahora abra el archivo de configuración principal para la edición:

# vi/etc/audit/reglas.d/auditoría.normas 

Tenga en cuenta que la primera sección de este archivo debe contener reglas de control. Luego agregue sus reglas de auditoría (relojes de archivo y reglas de llamadas del sistema) en la sección central, y finalmente la última sección contiene configuraciones de inmutabilidad que también son reglas de control.

Ejemplos de reglas de control de auditoría

-D #removes todas las reglas anteriores -B 3074 #define buffer tamaño -f 4 #panic en falla -r 120 #create en la mayoría de los 120 mensajes de auditoría por segundo 

Ejemplos de reglas del sistema de archivos de auditoría

Puede definir los relojes de archivo usando esta sintaxis:

-w/ruta/a/file/o/directorio -p permisos -k key_name 

Donde la opción:

  • w - se usa para especificar un archivo o directorio para vigilar.
  • pag - permisos a registrar, riñonal - Para el acceso a la lectura, w - Para el acceso a la escritura, X - para ejecutar acceso y a - Para el cambio de archivo o el atributo de director.
  • -k - le permite establecer una cadena opcional para identificar qué regla (o un conjunto de reglas) creó una entrada de registro específica.

Estas reglas permiten que la auditoría vea eventos haciendo cambios en estos archivos críticos del sistema.

-w /etc /passwd -p wa -k passwd_changes -w /etc /group -p wa -k group_changes -w /etc /shadow -p wa -k shadow_changes -w /etc /sudoers -p wa -k sudoers_changes 

Ejemplos de reglas de llamadas al sistema de auditoría

Puede establecer una regla de llamadas del sistema utilizando el formulario a continuación:

-una acción, filtro -s system_call -f campo = valor -k key_name 

dónde:

  • acción - tiene dos valores posibles: siempre o nunca.
  • filtrar - Especifica el filtro de coincidencia de reglas del núcleo (tarea, salida, usuario y excluido) se aplica al evento.
  • llamada del sistema - nombre de llamada del sistema.
  • campo - Especifica opciones adicionales como arquitectura, PID, GID, etc. para modificar la regla.

Aquí hay algunas reglas que puedes definir.

-A siempre, salir -f arch = b64 -s adjtime -s setTimeOfday -k time_change -a siempre, salida -s sethostname -s setdomainname -k system_locale 

Luego, por último, agregue la configuración de inmutabilidad al final del archivo, por ejemplo:

-e 1 #Anable Auditoría -E 2 #MAKE La configuración inmutable: se requiere reinicio para cambiar las reglas de auditoría 
Ejemplo de reglas de auditoría Archivo de configuración
Archivo de configuración de reglas de auditoría

Cómo establecer las reglas de Auditd utilizando AuditCTL Utility

Alternativamente, envíe las opciones a auditar Mientras se está ejecutando, usando el auditctl Como en los siguientes ejemplos. Estos comandos pueden anular las reglas en el archivo de configuración.

Para enumerar todas las reglas de auditoría cargadas actualmente, pase el -l bandera:

# Auditctl -l 

A continuación, intente agregar algunas reglas:

# auditctl -w /etc /passwd -p wa -k passwd_changes # auditctl -w /etc /group -p wa -k group_changes # auditctl -w /etc /sudoers -p wa -k sudoers_changes # auditctl -l -l -l 
Agregue las reglas de auditoría usando AuditCTL

Comprender los archivos de registro de auditoría

Todos los mensajes de auditoría se registran en /var/log/audit/audit.registro archivo por defecto. Para comprender el formato de inscripción de registro, cargaremos una regla y verificaremos la entrada de registro generada después de un evento que coincide con la regla.

Suponiendo que tenemos un directorio de copias de seguridad secreto, esta regla de auditoría registrará cualquier intento de acceder o modificar este directorio:

# auditctl -w/backups/secret_files/-p rwa -k secret_backup 

Ahora, utilizando otra cuenta del sistema, intente moverse al directorio anterior y ejecutar el comando LS:

$ CD/Backups/Secret_files/$ LS 

La entrada de registro se verá así.

Verifique los registros de auditoría para obtener cambios

El evento anterior está compuesto por tres tipos de registros de auditoría. El primero es tipo = syscall:

type = syscall msg = audit (1505784331.849: 444): Arch = C000003E Syscall = 257 Success = Yes Exit = 3 A0 = fffffffffffffff9c a1 = 8ad5c0 a2 = 90800 a3 = 0 items = 1 PPID = 2191 PID = 2680 AUID = 1000 UID = 1000 GID = 1000 EUID = 1000 Suid = 1000 fsuid = 1000 egid = 1000 sgid = 1000 fsgid = 1000 tty = pts1 ses = 3 coms = "ls" exe = "/usr/bin/ls" subj = unconfined_u: unconfined_r: Unconfined_t: S0-S0: C0.C1023 Key = "Secret_Backup" 

El segundo es tipo = cwd.

type = cwd msg = audit (1505784331.849: 444): cwd = "/backups/secret_files" 

Y el último es tipo = ruta:

type = ruta msg = auditoría (1505784331.849: 444): item = 0 name = "."inode = 261635 dev = 08: 01 mode = 040755 ouID = 0 oGID = 0 rdev = 00: 00 obj = no confined_u: object_r: default_t: s0 objtype = normal = normal = normal 

Puede encontrar una lista completa de todos los campos de eventos (como MSG, Arch, SES, etc.) y sus significados en la referencia del sistema de auditoría.

Eso es todo por ahora. En el próximo artículo, analizaremos cómo usar AUSEARCH para consultar archivos de registro de auditoría: explicaremos cómo buscar información específica de los registros de auditoría. Si tiene alguna pregunta, comuníquese con nosotros a través de la sección de comentarios a continuación.