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
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
Para comentar debe estar registrado.