LINUX

Auditd: herramienta para la auditoría de seguridad en el servidor Linux

La seguridad es uno de los principales factores que debemos considerar. Debemos mantenerlo porque no queremos que nadie robe nuestros datos. La seguridad incluye muchas cosas. Auditoría es una de ellas.

En el sistema Linux, sabemos que tenemos una herramienta llamada auditado. Esta herramienta existe de forma predeterminada en la mayoría de los sistemas operativos Linux. ¿Qué es la herramienta auditada y cómo utilizarla? Lo cubriremos a continuación.

¿Qué se audita?

Auditd o demonio de auditoría, es un componente del espacio de usuario del sistema de auditoría de Linux. Es responsable de escribir registros de auditoría en el disco.

Que se audita

Instalación de auditd

En un sistema basado en Ubuntu, podemos usar la herramienta wajig o herramienta apt-get para instalar auditd.

Instalar Auditd

Simplemente siga las instrucciones para hacerlo. Una vez que termine, instalará algunas herramientas relacionadas con la herramienta auditada. Aquí están las herramientas:

  • auditctl; es una herramienta para controlar el comportamiento del demonio sobre la marcha, agregando reglas, etc.
  • /etc/audit/audit.rules; es el archivo que contiene las reglas de auditoría
  • aureport; es una herramienta para generar y ver el informe de auditoría
  • ausearch; es una herramienta para buscar varios eventos
  • auditspd; es una herramienta que se puede utilizar para transmitir notificaciones de eventos a otras aplicaciones en lugar de escribirlas en el disco en el registro de auditoría
  • autrace; es un comando que se puede usar para rastrear un proceso
  • /etc/audit/auditd.conf; es el archivo de configuración de la herramienta auditd
  • Cuando la primera vez que instalamos auditado, todavía no habrá reglas disponibles.

Podemos comprobarlo usando este comando:

$ sudo auditctl -l

Auditado sin reglas

Para agregar reglas sobre auditado, continuemos con la sección siguiente.

Cómo usarlo

Auditar el acceso a archivos y directorios

Una de las necesidades básicas para que usemos una herramienta de auditoría es, ¿cómo podemos saber si alguien cambia un archivo o directorios? Usando la herramienta auditd, podemos hacerlo con esos comandos (recuerde, necesitaremos privilegios de root para configurar la herramienta auditada):

Archivos de auditoría

$ sudo auditctl -w /etc/passwd -p rwxa

Ver / etc / passwd

Con :

  • -w camino; este parámetro insertará un reloj para el objeto del sistema de archivos en la ruta. En el ejemplo anterior, auditd wacth / etc / passwd file
  • -pag ; este parámetro describe el tipo de acceso de permiso en el que se activará una vigilancia del sistema de archivos
  • rwxa; son los atributos que se unen al parámetro -p anterior. r es de lectura, w es de escritura, x es de ejecución y a es un atributo

Directorios de auditoría

Para auditar directorios, usaremos un comando similar. Echemos un vistazo al siguiente comando:

$ sudo auditctl -w /production/

Ver / producción / carpeta

El comando anterior observará cualquier acceso a la / carpeta de producción.

Ahora, si corremos auditctl -l comando de nuevo, veremos que se agregan nuevas reglas.

Reglas activas

Ahora veamos que dice el registro de auditoría.

Ver el registro de auditoría

Después de agregar las reglas, ahora podemos ver cómo se audita en acción. Para ver el registro de auditoría, podemos usar ausearch herramienta.

Ya agregamos una regla para ver el archivo / etc / passwd. Ahora intentaremos usar ausearch herramienta para ver el registro de auditoría.

$ sudo ausearch -f /etc/passwd
  • -F El parámetro le dijo a ausearch que investigara el archivo / etc / passwd
  • El resultado se muestra a continuación:
    time->Mon Dec 22 09:39:16 2014
    type=PATH msg=audit(1419215956.471:194): item=0 name="/etc/passwd" inode=142512 dev=08:01 mode=0100644 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL
    type=CWD msg=audit(1419215956.471:194): cwd="/home/pungki"
    type=SYSCALL msg=audit(1419215956.471:194): arch=40000003 syscall=5 success=yes exit=3 a0=b779694b a1=80000 a2=1b6 a3=b8776aa8 items=1 ppid=2090 pid=2231 auid=4294967295 uid=1000 gid=1000 euid=0 suid=0 fsuid=0 egid=1000 sgid=1000 fsgid=1000 tty=pts0 ses=4294967295 comm="sudo" exe="/usr/bin/sudo" key=(null)

    Ahora entendamos el resultado.

  • hora ; es cuando se realiza la auditoria
  • nombre ; es el nombre del objeto a auditar
  • cwd; es el directorio actual
  • syscall; está relacionado con la llamada al sistema
  • auid; es el ID de usuario de auditoría
  • uid y gid; son el ID de usuario y el ID de grupo del usuario que accede al archivo
  • comm; es el comando que utiliza el usuario para acceder al archivo
  • exe ; es la ubicación del comando del parámetro de comunicación anterior
  • El registro de auditoría anterior es el archivo original.
    A continuación, vamos a agregar un nuevo usuario, para ver cómo el auditado registra la actividad en el archivo / etc / passwd.
time->Mon Dec 22 11:25:23 2014
type=PATH msg=audit(1419222323.628:510): item=1 name="/etc/passwd.lock" inode=143992 dev=08:01 mode=0100600 ouid=0 ogid=0 rdev=00:00 nametype=DELETE
type=PATH msg=audit(1419222323.628:510): item=0 name="/etc/" inode=131073 dev=08:01 mode=040755 ouid=0 ogid=0 rdev=00:00 nametype=PARENT
type=CWD msg=audit(1419222323.628:510): cwd="/root"
type=SYSCALL msg=audit(1419222323.628:510): arch=40000003 syscall=10 success=yes exit=0 a0=bfc0ceec a1=0 a2=bfc0ceec a3=897764c items=2 ppid=2978 pid=2994 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=4294967295 comm="chfn" exe="/usr/bin/chfn" key=(null)

Como podemos ver arriba, en ese momento en particular, Se accedió a / etc / passwd por usuario root (uid = 0 y gid = 0) desde directorio / root (cwd = / root). Se accedió al archivo / etc / passwd usando chfn comando que ubicado en / usr / bin / chfn

Si escribimos hombre chfn en la consola, veremos más detalles sobre qué es chfn.

detalle chfn

Ahora echamos un vistazo a otro ejemplo.
Ya le dijimos a auditd que mirara el directorio / producción /. Ese es un nuevo directorio. Entonces, cuando intentamos usar una herramienta de búsqueda por primera vez, no encontramos nada.

Sin registro

A continuación, la cuenta de root intenta listar el directorio / production usando el comando ls. La segunda vez que usemos una herramienta de búsqueda, nos mostrará alguna información.

Después del comando ls

time->Mon Dec 22 14:18:28 2014
type=PATH msg=audit(1419232708.344:527): item=0 name="/production/" inode=797104 dev=08:01 mode=040755 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL
type=CWD msg=audit(1419232708.344:527): cwd="/root"
type=SYSCALL msg=audit(1419232708.344:527): arch=40000003 syscall=295 success=yes exit=3 a0=ffffff9c a1=95761e8 a2=98800 a3=0 items=1 ppid=3033 pid=3444 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=4294967295 comm="ls" exe="/bin/ls" key=(null)

Similar al anterior, podemos determinar que / carpeta de producción se buscó por cuenta raíz (uid = 0 gid = 0) usando el comando ls (comm = ls) y el comando ls es ubicado en la carpeta / bin / ls.

Ver los informes de auditoría

Una vez que pongamos las reglas de auditoría, se ejecutará automáticamente. Y después de un período de tiempo, queremos ver cómo auditado puede ayudarnos a rastrearlos.

Auditd viene con otra herramienta llamada aureport. Como podemos adivinar por su nombre, aureport es una herramienta que produce informes resumidos del registro del sistema de auditoría.

Ya le dijimos a auditd que rastreara / etc / passwd antes. Y un momento después de que se desarrolle el parámetro auditd, se crea el archivo audit.log.

Para generar el informe de auditoría, podemos utilizar la herramienta aureport. Sin ningún parámetro, aureport generará un informe resumido de la actividad de auditoría.

$ sudo aureport

Ejemplo de informe auditado

Como podemos ver, hay información disponible que cubre el área más importante.
En la imagen de arriba vemos que hay Autenticación fallida 3 veces. Usando aureport, podemos profundizar en esa información.

Podemos usar este comando para profundizar en la autenticación fallida:

$ sudo aureport -au

Informe de autenticación

Como podemos ver en la imagen de arriba, hay dos usuarios que en un momento determinado no pudieron autenticarse

Si queremos ver todos los eventos relacionados con la modificación de la cuenta, podemos usar -metro parámetro.

$ sudo aureport -m

Aduit relacionado con la modificación de la cuenta

Archivo de configuración auditado

Anteriormente ya agregamos:

  • $ sudo auditctl -w / etc / passwd -p rwxa
  • $ sudo auditctl -w / production /
  • Ahora, si estamos seguros de que las reglas están bien, podemos agregarlas a

/etc/audit/audit.rules para hacerlos permanentemente. Aquí se explica cómo ponerlos en el archivo /etc/audit/audit.rulesMuestra de archivo de reglas de auditoría

Entonces no olvide reiniciar el demonio auditd.

# /etc/init.d/auditd restart

o

# service auditd restart

Reinicie el demonio auditado

Conclusión

Auditd es una de las herramientas de auditoría disponibles en el sistema Linux. Puede explorar más detalles sobre auditd y sus herramientas relacionadas leyendo su página de manual. Por ejemplo, simplemente escriba hombre auditado para ver más detalles sobre auditd. O escriba hombre ausearch para ver más detalles sobre una herramienta de búsqueda.

Tenga cuidado antes de crear reglas. Aumentará significativamente el tamaño de su archivo de registro si hay demasiada información para registrar.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar