Cargando

Ir a contenido


 


Cómo usar el sistema de auditoria en CentOS 7

Tutorial donde se verá en profundidad cómo usar el sistema de auditoria de CentOS 7 Linux


Escrito por el jul 29 2016 10:51 auditoria centos seguridad


Cuando nuestros roles y funciones implican gestionar todos los elementos de la infraestructura corporativa, ya sea a nivel de redes o de sistemas, debemos contar con herramientas útiles para monitorear, hacer seguimientos de eventos y velar por el óptimo desempeño de todos los componentes de la misma.

 

Hoy revisaremos cómo implementar y usar el sistema de auditoria de Linux, una herramienta para muchos desconocida. Sabemos que existen utilidades de terceros que nos permiten gestionar diferentes parámetros dentro del sistema pero esta utilidad va más allá de lo que necesitamos y revisaremos por qué.

 

Para este tutorial analizaremos la utilidad sobre un entorno CentOS 7.

 

 

1. Conocer el sistema de auditoria de Linux


Con el sistema de auditoria podemos estar actualizados en cuanto a la información primordial de la seguridad en nuestro sistema.

 

El sistema de auditoria nos proporciona informes sobre todos los acontecimientos ocurridos en el sistema tomando como base reglas predefinidas; Es importante aclarar que con el sistema de auditoria no añadimos seguridad a CentOS 7 sino que nos permite analizar qué falencias tiene el sistema para tomar acción correctiva sobre ello.

 

Información capaz de analizar
  • Cambios en las bases de datos, por ejemplo cambios en la ruta /etc/passwd.
  • El sistema de auditoria proporciona fecha, hora y tipo de evento.
  • Intentos de importación o exportación de información dentro del sistema.
  • Mecanismos de autenticación de los usuarios.
  • Todas las modificaciones a los cambios de auditoría e intentos de acceso a los logs de auditoría, entre otros.

 

 

 

2. Verificar la instalación del sistema de auditoria


Dentro del Sistema de auditoria tenemos dos esquemas importantes a tener en cuenta:

 

1. El núcleo del sistema de auditoria toma todos los eventos procesados por el usuario y envía esta información al demonio de auditoria.

 

2. El demonio de auditoria toma esta información y crea los registros.

 

El sistema de auditoria maneja dos paquetes: audit y audit-libs, estos vienen instalados por defecto en CentOS 7 podemos comprobar su instalación usando el siguiente comando:

sudo yum list audit audit-libs

 

En caso de no tenerlos podemos instalar el sistema de auditoría usando el siguiente comando:

sudo yum install audit
Una vez se hayan instalado debemos ver el siguiente texto:
Installed Packages
audit.x86_64
audit-libs.x86_64
Vamos a pasar a la configuración del sistema.

 

 

3. Configurar el sistema de auditoría en CentOS 7


Una vez hayamos validado que tenemos los paquetes requeridos vamos a modificar la configuración del archivo auditd.conf y es en este archivo que tenemos la opción de configurar los registros, eventos y demás. Para acceder a este archivo usaremos el siguiente comando:
sudo nano /etc/audit/auditd.conf
Se desplegará la siguiente ventana:

 

 

 

 

Parámetros más importantes
  • num_logs: Permite definir el número de logs a registrar en el equipo.
  • max_log_file: Usando este parámetro podemos definir el tamaño máximo de un log.
  • space_left: Podemos establecer la cantidad de espacio libre en el disco.
  • disk_full_action: Podemos definir una acción determinada para cuando el disco esté lleno.

 

 

Como vemos podemos ajustar diversos parámetros. Por ejemplo si deseamos que el número de logs sea 12 simplemente borramos el valor por defecto (5) y añadimos el deseado (12). Si deseamos cambiar el tamaño de los logs a 20 simplemente cambiamos el valor por defecto (6) al requerido (20).

 

 

Guardamos los cambios usando la combinación Ctrl + O y salimos del editor usando la combinación Ctrl + X. Una vez procesados los cambios debemos reiniciar el servicio de auditoría usando el comando:

sudo service auditd restart
Nota
Si deseamos editar los parámetros de las reglas debemos editar el archivo audit.rules usando el siguiente comando:
/etc/audit/rules.d/audit.rules

 

 

 

 

4. Comprender los registros del Sistema de auditoría en CentOS 7


Por defecto el sistema de auditoría almacena todos los eventos ocurridos en CentOS en la ruta /var/log/audit/audit.log y estos archivos contienen mucha información y códigos que pueden ser no tan fáciles de comprender para muchos de nosotros pero Solvetic se encarga de resumir un poco estos archivos.

 

Para demostrar cómo funciona el sistema de auditoría hemos creado una regla llamada sshconfigchange y puede ser creada usando el siguiente comando:

sudo auditctl -w /etc/ssh/sshd_config -p rwxa -k sshconfigchange
Para ver la regla usamos la siguiente sintaxis:
sudo cat /etc/ssh/sshd_config

 

Ahora vamos a ver el log creado por la herramienta de auditoría de sistema ingresando lo siguiente:

sudo nano /var/log/audit/audit.log

 

Vamos a basarnos en tres (3) registros vitales:

  • SYSCALL
  • CWD
  • PATH

 

 

Estos archivos están compuestos de la siguiente manera:

  • Palabra clave: Hace referencia al nombre del proceso (PATH, CWD, etc)
  • Timestamp: Hace referencia a la fecha y hora (1469708505.235)
  • Id: Consiste en el ID del evento en mención (153)

 

Evento SYSCALL

SYSCALL se refiere a que el mensaje fue generado por una llamada del núcleo del sistema de auditoría, campo msg=audit (1469708505.235:153):

 

En el campo timestamp e ID vemos que estos tres registros tienen el mismo valor (1469708505.235:153) lo que nos indica que estos tres registros fueron almacenados con el mismo evento de auditoría.

 

El campo arch hace referencia a la arquitectura de la máquina, en este caso 40000003 indica que es i386, si fuera el valor c000003e haría referencia a una máquina x86_64.

 

El campo Syscall hace mención al tipo de llamada que fue enviada al sistema. El valor puede varia, en este caso es 5. Podemos usar el comando sudo ausyscall 5 para ver el estado del servicio (Open).

 

 

Existen más de 300 valores, si deseamos ver que significan los valores en general podemos usar el comando:

sudo ausyscall -dump
Y veremos todos los valores y su significado:

 

 

El campo Success nos indica si la llamada del evento fue satisfactoria o no, yes o no. Podemos ubicar el evento SYSCALL y desplazarnos hacia la izquierda para ver otros informes incluidos.

 

El campo uid hace referencia al usuario que ha iniciado el servicio de auditoría, en este caso es uid=0.

 

El campo comm hace referencia al comando que fue usado para desplegar el mensaje, por ello vemos que figura como comm=”cat”.

 

El campo exe nos indica la ruta de acceso al comando que generó el evento de auditoría, podemos ver en este ejemplo que es exe="/usr/bin/cat".

 

Evento CWD

En el evento CWD podemos notar que no está la misma información que en SYSCALL, aquí tenemos el directorio usado para guardar los eventos, CWD- Current Working Directory, de allí que vemos el valor cwd=”/home/solvetic”.

 

Evento PATH

En el último evento, PATH, vemos que está presente el campo name el cual hace referencia al archivo o directorio que fue usado para crear la auditoría, en este caso vemos lo siguiente: name=”/etc/ssh/sshd_config”.

 

 

5. Buscar eventos de auditoria para eventos específicos


Una de las formas más interesantes que podemos buscar un evento en CentOS 7 es usando la sintaxis:
sudo ausearch -m Nombre_Evento --start today -i
Este comando nos permite filtrar un determinado evento y no tener que buscar en todo el archivo de eventos ya que es extenso. En este caso buscaremos todos los eventos asociados al inicio de sesión, por ello ingresaremos lo siguiente:
sudo ausearch -m LOGIN --start today -i
El resultado obtenido será el siguiente:

 

 

También es posible filtrar la búsqueda por ID del evento para ello usaremos la siguiente sintaxis:

sudo ausearch -a ID_Evento
A continuación vamos a ver cómo generar reportes.

 

 

6. Generar reportes de Auditoría


Una de las formas como podemos administrar mejor los eventos es con un reporte detallado acerca de lo que sucede en CentOS 7 y con el sistema de auditoría podemos generar reportes sencillos y claros de comprender para ayudarnos en nuestra gestión. Para ello usaremos el comando:
sudo aureport -x –summary
Y veremos el resultado obtenido:

 

 

La primera columna que vemos indica la cantidad de veces que el comando ha sido ejecutado y la segunda columna indica que comando se ejecutó. De la misma manera podemos generar un reporte con los eventos fallidos usando el comando:

sudo aureport --failed

 

Si deseamos generar un reporte con los nombres de usuario y las llamadas del sistema usaremos el comando:

sudo aureport -f -i

 

 

 

7. Cómo analizar procesos de manera individual


Es posible que en ocasiones debamos analizar procesos individualmente y no todo un directorio, para ello usaremos autrace, esta herramienta permite monitorear las llamadas del sistema a un proceso en particular. Los resultados de autrace se almacenan en la ruta:
/var/log/audit/audit.log
Por ejemplo analizaremos la ruta /bin/date, para ello usaremos lo siguiente:
sudo autrace /bin/date

 

Vemos que se ha creado el evento con el ID 16541. Ahora procedemos a ingresar el siguiente comando para ver el resumen del evento:

udo ausearch -p 16541 --raw | aureport -f -i

 

De esta manera podemos analizar archivos individualmente. En el siguiente enlace podemos ver todos los tipos de registros que pueden ser auditados por el sistema de auditoría en CentOS 7.

 

De esta manera vemos como el sistema de auditoria en CentOS 7 nos puede ayudar a gestionar y supervisar los acontecimientos que ocurren en nuestros equipos y así velar por tener un sistema seguro, estable y en óptimas condiciones.

 

Por último os dejamos un tutorial sobre la herramienta gratuita WinAudit, para hacer auditorías en Windows:

 

¿Te ha gustado y ayudado este Tutorial?
Puedes premiar al autor pulsando este botón para darle un punto positivo
  • -
  • 0
10
VOTA
5
100%
4
0%
3
0%
2
0%
1
0%

  Información

  •   Publicado jul 29 2016 10:51
  •   Actualizado jul 29 2016 11:50
  •   Visitas 4.2K
  •   Nivel
    Profesional



Tutoriales Relacionados


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!
Demuestra que eres experto!
  ESCRIBIR TUTORIAL
Suscribirse