Table of Contents
Aprenda la auditoría de sistemas Linux con la herramienta Auditd en CentOS/RHEL
La auditoría del sistema simplemente se refiere al análisis en profundidad de un sistema objetivo específico: una auditoría se compone de un examen de las diversas partes que componen ese sistema, con una evaluación crítica (y pruebas si es necesario) en diferentes áreas de interés.
Lea también. Lynis-Herramienta de análisis y auditoría 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 auditd. Implementa un medio para rastrear información relevante para la seguridad en un sistema: utiliza reglas preconfiguradas para recopilar grandes cantidades de información sobre eventos que están sucediendo 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.
Auditd. también registra cualquier cambio realizado en los archivos de configuración de auditoría o cualquier intento de acceder a los 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?
- No requiere ningún programa o proceso externo para ejecutarse en un sistema, lo que lo hace autosuficiente.
- Es altamente configurable, por lo tanto, le permite ver cualquier operación del sistema que usted que desee.
- Ayuda a detectar o analizar posibles compromisos de un sistema.
- Es capaz de funcionar como un sistema de detección independiente.
- Puede trabajar con Sistemas de detección de intrusos para habilitar la detección de intrusos.
- Es una herramienta vital para auditar investigaciones forenses.
Los componentes del sistema de auditoría de Linux freestar.config.enabled_slots.push (LocationName: ” tecmint_incontent “, slotId:” tecmint_incontent “);
El sistema de auditoría tiene dos componentes centrales, a saber:
- aplicaciones de espacio de usuario y utilidades/herramientas, y
- procesamiento de llamadas al sistema del lado del kernel: acepta llamadas al sistema desde aplicaciones de espacio de usuario y las pasa a través de tres tipos de filtros, a saber: usuario. tarea. salida. o exclude.
La parte más importante es el demonio de auditoría del espacio de usuario. ( auditd. que recopila información basado en reglas preconfiguradas, desde el kernel y genera entradas en un archivo de registro: el registro predeterminado es /var/log/audit/audit.log.
Además, el audispd. ( demonio de despachador de auditoría. es un multiplexor de eventos que interactúa con auditd. y envía eventos a otros programas que desean realizar el procesamiento de eventos en tiempo real.
Hay una serie de herramientas de espacio de usuario. 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 registrados.
Cómo instalar y configurar ure Audit Tool en RHEL/CentOS/Fedora
Primero asegúrese de verificar que la herramienta de auditoría esté instalada en su sistema usando el comando rpm y la utilidad grep de la siguiente manera:
# rpm-qa | grep audit
Check Auditd Tool
Si no tiene instalados los paquetes anteriores, ejecute este comando como usuario root para instalarlos .
# yum install audit
A continuación, compruebe si auditd. está habilitado y en ejecución, ejecute los comandos systemctl a continuación en la terminal.
—————En CentOS/RHEL 7————— # systemctl es-habilitado auditd # systemctl status auditd # systemctl start auditd [Start] # systemctl enable auditd [Enable] —————En CentOS/RHEL 6————— # estado auditado del servicio # inicio auditado del servicio [Inicio] # chkconfig auditado en [Habilitar]
Verificar el estado de la herramienta Auditd
Ahora veremos cómo configurar auditd. usando el archivo de configuración principal /etc/audit/auditd.conf. 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 tratar con discos completos, rotación de registros y muchas más opciones.
# vi/etc/audit/auditd.conf
De la salida de muestra a continuación, los parámetros se explican por sí mismos.
Archivo de configuración Auditd
Comprensión de las reglas de auditoría
Como mencionamos anteriormente, auditd. usa reglas para recopilar información específica del kernel. Estas reglas son básicamente opciones de auditctl. (consulte la página de manual) que puede preconfigurar reglas en el archivo /etc/audit/rules.d/audit.rules. (en CentOS 6, use el archivo /etc/audit/audit.rules. , para que se carguen al inicio.
Hay tres tipos de reglas de auditoría que puede definir:
- Reglas de control. permiten modificar el comportamiento del sistema de auditoría y algunas de sus configuraciones.
- Reglas del sistema de archivos. (también conocido como vigilancia de archivos): habilita la auditoría del acceso a un determinado archivo o directorio.
- Reglas de llamadas al sistema. permite el registro de las llamadas al sistema realizadas por cualquier programa.
Ahora abra el archivo de configuración principal para editarlo:
# vi/etc/audit/rules.d/audit.rules
Tenga en cuenta que la primera sección de este archivo debe contener reglas de control. Luego agregue sus reglas de auditoría (controles de archivos y reglas de llamadas al 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 auditadas-D # elimina todas las reglas anteriores-b 3074 #define buffer size-f 4 #panic on failure-r 120 #crear como máximo 120 mensajes de auditoría por segundo Ejemplos de reglas del sistema de archivos Auditd
Puede definir controles de archivos usando esta sintaxis:
-w/path/a/archivo/o/directorio-p permisos-k nombre_clave
Donde la opción:
- w. se usa para especificar un archivo o directorio para ver
- p. permisos para iniciar sesión, r. para acceso de lectura, w. para acceso de escritura, x. para ejecutar el acceso y a. para cambiar el archivo o el atributo del director.
- -k. le permite configurar 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 observe los eventos que realizan 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 llamada del sistema Auditd
Puede establecer una regla de llamada del sistema mediante el formulario siguiente:
-una acción, filtro-S system_call-F campo = valor-k nombre_clave
donde:
- acción. tiene dos valores posibles: siempre o nunca.
- filtro. especifica el filtro de coincidencia de reglas del kernel (tarea, salida, usuario y exclusión) se aplica al evento.
- llamada al sistema. nombre de la llamada al sistema.
- campo : Especifica opciones adicionales como arquitectura, PID, GID, etc. para modificar la regla.
Aquí hay algunas reglas que puede definir.
-a siempre, salir-F arch = b64-S adjtimex-S settimeofday-k time_change-a always, exit-S sethostname-S setdomainname-k system_locale
Luego, por último, agregue la configuración de inmutabilidad al final del archivo, por ejemplo:
-e 1 #enable auditing-e 2 #hacer que la configuración sea inmutable-es necesario reiniciar para cambiar las reglas de auditoría Archivo de configuración de reglas Auditd de muestra
Archivo de configuración de reglas auditadas
Cómo establecer reglas auditadas mediante la utilidad auditctl
Alternativamente, envíe las opciones a auditd. mientras se está ejecutando, utilizando 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 la marca-l:
# 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
Agregar reglas Auditd usando Auditctl Comprensión de los archivos de registro Auditd
Todos los mensajes de auditoría se registran en archivo/var/log/audit/audit.log. por defecto. Para comprender el formato de entrada de registro, cargaremos una regla y comprobaremos la entrada de registro generada después de un evento que coincida con la regla.
Suponiendo que tenemos un directorio de copias de seguridad secreto, esta regla de auditoría registrará cualquier intento de acceso o modificar este directorio:
# auditctl-w/backups/secret_files/-p rwa-k secret_backup
Ahora, usando otra cuenta del sistema, intente moverse al directorio de arriba y ejecute el comando ls:
$ cd/backups/secret_files/$ ls
La entrada del registro se verá así.
Verifique los registros de auditoría para Cambios
El evento anterior se compone de tres tipos de registros de auditoría. El primero es type = SYSCALL.
type = SYSCALL msg = audit (1505784331.849: 444): arch = c000003e syscall = 257 success = yes exit = 3 a0 = ffffffffffffff9c a1 = 8ad5c0 a2 = 90800 a3 = 0 elementos = 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 comm = “ls “exe =”/usr/bin/ls “subj = inconfined_u: inconfined_r: inconfined_t: s0-s0: c0.c1023 key =” secret_backup “
El segundo es type = CWD.
type = CWD msg = audit (1505784331.849: 444): cwd = “/backups/secret_files”
Y el último es type = PATH.