Crónicas de un informático

Crónicas de un informático es un blog enfocado a configurar nuevos servicios informáticos, informar de su utilidad y centrado en la Educación y la FP.


Auditar eventos en Ubuntu/Debian/Linux Mint con audit daemon

Una alternativa en Ubuntu/Debian para la auditoría de eventos predeterminada del sistema es el empleo de audit daemon. Para poder hacer uso del mismo, será necesario instalarlo a través del siguiente comando:

apt-get install auditd audispd-plugins

Una vez instalado, los eventos se generarán en la siguiente ruta:

/var/log/audit/audit.log

auditdaemon

El servicio lo podéis encontra ubicado en la siguiente ruta:

/etc/audit/

En el caso de querer modificar el comportamiento de auditd, será necesario modificar el siguiente fichero:

/etc/audit/rules.d/audit.rules

A modo de ejemplo, si queréis registrar los accesos que se produzcan en un fichero determinado, deberéis de añadir la siguiente línea:

-w «ruta al fichero» -p «permisos» -k «identificador del evento»

Los posibles permisos que podéis establecer son los siguiente:

r: lecturas de fichero

w: escrituras en el fichero

x: ejecuciones en el fichero

a: cambios en los atributos del fichero

Una posible línea podría ser la siguiente:

-w /etc/passwd -p wa -k modificacionesetcpasswd

A continuación, os dejo una configuración que puede seros de utilidad a la hora de auditar los eventos que producen en vuestros sistemas linux. Recordad, que trendréis que adaptar el mismo a vuestras necesidades, ficheros especiales así como establecer los identificadores que mejor se adapten a vuestas necesidades:

## Eliminar las reglas existentes
-D

## Tamaño del buffer para mantener los registros correctamente.
-b 8192

## Se audita el fichero de auditoría para registrar tanto los intentos correctos como incorrectos de un usuario que accede al mismo
-w /var/log/audit/ -k auditlog

## Auditar los cambios en la configuracion del fichero de auditoria
-w /etc/audit/ -p wa -k auditconfig
-w /etc/libaudit.conf -p wa -k auditconfig
-w /etc/audisp/ -p wa -k audispconfig

## Monitorizacion de las herramientas de gestion de la auditoria
-w /sbin/auditctl -p x -k audittools
-w /sbin/auditd -p x -k audittools

## Auditar las bases datos de usuarios, grupos y contraseñas.
-w /etc/group -p wa -k etcgroup
-w /etc/passwd -p wa -k etcpasswd
-w /etc/gshadow -k etcgroup
-w /etc/shadow -k etcpasswd
-w /etc/security/opasswd -k opasswd

## Registrar comandos de encendido y apagado de la máquina
-w /sbin/shutdown -p x -k power
-w /sbin/poweroff -p x -k power
-w /sbin/reboot -p x -k power
-w /sbin/halt -p x -k power

## Monitorizar ficheros especiales
-a exit,always -F arch=b32 -S mknod -S mknodat -k specialfiles
-a exit,always -F arch=b64 -S mknod -S mknodat -k specialfiles

## Monitorizar el montado de unidades
-a exit,always -F arch=b32 -S mount -S umount -S umount2 -k mount
-a exit,always -F arch=b64 -S mount -S umount2 -k mount

## Auditar cambios de horarios
-a exit,always -F arch=b32 -S adjtimex -S settimeofday -S stime -S clock_settime -k time
-a exit,always -F arch=b64 -S adjtimex -S settimeofday -S clock_settime -k time

## Auditar procesos cron y tareas programadas
-w /etc/cron.allow -p wa -k cron
-w /etc/cron.deny -p wa -k cron
-w /etc/cron.d/ -p wa -k cron
-w /etc/cron.daily/ -p wa -k cron
-w /etc/cron.hourly/ -p wa -k cron
-w /etc/cron.monthly/ -p wa -k cron
-w /etc/cron.weekly/ -p wa -k cron
-w /etc/crontab -p wa -k cron
-w /var/spool/cron/crontabs/ -k cron

## Emplear stunel
-w /usr/sbin/stunnel -p x -k stunnel

## Auditar el uso del fichero passwd
-w /usr/bin/passwd -p x -k passwd_modification

#Monitorizar el uso de herramientas para cambiar los identificadores de grupos
-w /usr/sbin/groupadd -p x -k group_modification
-w /usr/sbin/groupmod -p x -k group_modification
-w /usr/sbin/addgroup -p x -k group_modification
-w /usr/sbin/useradd -p x -k user_modification
-w /usr/sbin/usermod -p x -k user_modification
-w /usr/sbin/adduser -p x -k user_modification

## Registro de configuraciones e informacion
-w /etc/login.defs -p wa -k login
-w /etc/securetty -p wa -k login
-w /var/log/faillog -p wa -k login
-w /var/log/lastlog -p wa -k login
-w /var/log/tallylog -p wa -k login

## Auditar la configuracion de red
-w /etc/hosts -p wa -k hosts
-w /etc/network/ -p wa -k network

## Auditar los scripts de arranque
-w /etc/inittab -p wa -k init
-w /etc/init.d/ -p wa -k init
-w /etc/init/ -p wa -k init

## Auditar las librerias de busqueda de los patch «por si hay cambios»
-w /etc/ld.so.conf -p wa -k libpath

## Auditar la zona horario local
-w /etc/localtime -p wa -k localtime

## Registro de los parametros del kernel
-w /etc/sysctl.conf -p wa -k sysctl

## Auditar la configuracion del modprobe
-w /etc/modprobe.conf -p wa -k modprobe

## Auditar la configuración de seguridad de PAM
-w /etc/pam.d/ -p wa -k pam
-w /etc/security/limits.conf -p wa  -k pam
-w /etc/security/pam_env.conf -p wa -k pam
-w /etc/security/namespace.conf -p wa -k pam
-w /etc/security/namespace.init -p wa -k pam
 

## Auditar la configuracion de postfix «para tema de mansajeria interna»
-w /etc/aliases -p wa -k mail
-w /etc/postfix/ -p wa -k mail

## Auditar la configuracion SSH
-w /etc/ssh/sshd_config -k sshd

## Auditar los cambios en el hostname
-a exit,always -F arch=b32 -S sethostname -k hostname
-a exit,always -F arch=b64 -S sethostname -k hostname

## Registrar cambios realizados en ISSUE
-w /etc/issue -p wa -k etcissue
-w /etc/issue.net -p wa -k etcissue

## Auditar comandos ejecutados correctamente por un id 0
-a exit,always -F arch=b64 -F euid=0 -S execve -k rootcmd
-a exit,always -F arch=b32 -F euid=0 -S execve -k rootcmd

## Registra todos los fallos de accesos a elementos criticos
-a exit,always -F arch=b64 -S open -F dir=/etc -F success=0 -k unauthedfileacess
-a exit,always -F arch=b64 -S open -F dir=/bin -F success=0 -k unauthedfileacess
-a exit,always -F arch=b64 -S open -F dir=/sbin -F success=0 -k unauthedfileacess
-a exit,always -F arch=b64 -S open -F dir=/usr/bin -F success=0 -k unauthedfileacess
-a exit,always -F arch=b64 -S open -F dir=/usr/sbin -F success=0 -k unauthedfileacess
-a exit,always -F arch=b64 -S open -F dir=/var -F success=0 -k unauthedfileacess
-a exit,always -F arch=b64 -S open -F dir=/home -F success=0 -k unauthedfileacess
-a exit,always -F arch=b64 -S open -F dir=/srv -F success=0 -k unauthedfileacess

## Auditar cambios en los ID de los procesos de aplicaciones «Para cambios de cuentas»
-w /bin/su -p x -k priv_esc
-w /usr/bin/sudo -p x -k priv_esc
-w /etc/sudoers -p rw -k priv_esc

## Modo de fallo en prinkt «1»
-f 1

## Implica que la configuración no puede tratarse de cambiar sin privilegios
-e 2

Finalmente, tendréis que reinicar el servicio de auditd de la siguiente forma:

sudo service auditd restart

Nota: recordad que podéis hacer uso de herramientas SIEM como SPLUNK, la cual a través de su ejecutable «splunkforwarder» os permitiría el envío de estos eventos para su posterior tratamiento. Si queréis hacer uso de splunkforwarder, simplemente añadir el fichero a monitorizar a través del siguiente comando:

./splunk add monitor /var/log/audit/audit.log

Visualización de eventos con splunk



Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Acerca de

Me llamo Iñigo Aramendi actualmente soy docente de formación profesional. Apasionado del mundo de las nuevas tecnologías, informática, ciberseguridad y la docencia. Siempre con ganas de seguir formándome y mejorando mis capacidades técnicas. Colegiado en el Colegio Oficial de Ingenieros en Informática.

suscríbete

Si quieres donarme uno o varios cafés…

1,00 €

Anuncios

Descubre más desde Crónicas de un informático

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo