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.
Instalación de auditd
En un sistema basado en Ubuntu, podemos usar la herramienta wajig o herramienta apt-get para 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
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
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/
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.
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.
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.
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.
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
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
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
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.rules
Entonces no olvide reiniciar el demonio auditd.
# /etc/init.d/auditd restart
o
# service auditd restart
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.