Está en la página 1de 4

Auditar la actividad de los usuarios en Samba

Una de estas funcionalidades es, precisamente los VFS Modules, pequeos trozos
de software que aaden funcionalidades a Samba, uno de estos mdulos VFS es
full_audit, un VFS que te permite loguer toda la actividad de tus usuarios en el
servidor Samba


Vamos a ver como instalarlo y como configurarlo.

Lo primero:
Es muy importante contar con una versin de samba igual o superior a la 3, pues
los VFS fueron implementados a partir de esta.

Lo segundo:
A nuestro archivo smb.conf agregamos dentro de la directiva [Global] las siguientes
lneas:


vfs objects = full_audit
full_audit:prefix = %u|%I|%m|%S
full_audit:success = mkdir rename unlink rmdir pwrite pread connect disconnect
full_audit:failure = none
full_audit:facility = LOCAL7
full_audit:priority = NOTICE








Vamos a ver que significa cada lnea:

vfs objects = full_audit: Le decimos a samba que queremos cargar el mdulo
full_audit.

full_audit:prefix = %u|%I|%m|%S: Indicamos las variables que se almacenarn en
el log.

full_audit:success = mkdir rename unlink rmdir pwrite pread connect disconnect: Le
indicamos a samba que tipo de operaciones almacenar en el log, para este caso
almacenaremos:

Registros de creacin de carpetas
Registros de renombrado de archivos
Registros de archivos borrados
Registros de archivos creados
Registro de directorios borrados
Registro de archivos abiertos
Registro de conexiones
Registro de desconexiones

full_audit:failure = none: Le indicamos a Samba que no queremos almacenar
registros de error en el log

full_audit:facility = LOCAL7: Le indicamos a Samba que queremos enviar los
registros al syslog utilizando el facility LOCAL7

full_audit:priority = NOTICE: Le indicamos a Samba el nivel de detalle que
queremos usar en los registros

Una vez guardado nuestro smb.conf, procederemos a configurar rsyslog o syslog
para que almacene en un lugar predeterminado nuestros registros, para ello
editamos el archivo /etc/rsyslog.conf (Centos 6.x) o en /etc/syslog.conf (Centos 5.x) y
agregamos la siguiente lnea:

local7.* /var/log/samba/audit/log.audit
Con esto le indicamos al syslog que todos los registros originados desde el
facility LOCAL7 se almacenarn en /var/log/samba/audit/log.audit.
Reiniciamos rsyslog y samba con el siguiente comando:
service rsyslog restart && service smbd restart
Y ya podremos tener un registro de lo que hacen nuestros usuarios en el servidor
Samba.Para poder revisar los registros podemos utilizar el siguiente comando:
tail -f /var/log/samba/audit/log.audit
Para que el archivo log.audit no llegue a ocupar un tamao desmesurado configuraremos un
archivo dentro del directorio /etc/lograte.d/samba.audit con el siguiente contenido:
/var/log/samba/audit/log.audit {
daily
missingok
rotate 7
size=100k
postrotate
/etc/init.d/rsyslog reload > /dev/null 2>&1 || true
endscript
compress
notifempty
}

Rotate: La "gira" comando determina cuntos registros archivados se mantendr
alrededor antes logrotate comienza borrando los ms antiguos.
Daily: Se puede especificar un comando que le dir la frecuencia de logrotate para
rotar un registro particular.
Size: Se puede especificar un tamao de archivo que logrotate comprobar la hora
de determinar si debe o no realizar una rotacin con el comando "tamao".
Compres: Si desea los archivos de registro archivados para ser comprimido (en
formato gzip) puede incluir el siguiente comando, generalmente en / etc /
logrotate.conf:
Postrotate: La secuencia de comandos "postrotate" est dirigido por logrotate
cada vez que hace girar un registro especificado en un bloque de
configuracin. Por lo general, quiere usar esto para reiniciar una aplicacin
despus de la rotacin de los registros por lo que la aplicacin puede cambiar a un
nuevo registro.
Ese "> / dev /null" poco al final dice logrotate a la tubera de salida del comando
para, as, en ninguna parte. De lo contrario, la salida de ese comando ser enviado
a la consola o en el registro o por correo electrnico o lo que sea, y en este caso,
que realmente no se preocupan por la salida si todo est bien reiniciar.
El comando "postrotate" dice logrotate que la secuencia de comandos para
ejecutar comenzar en la siguiente lnea, y el comando "endscript" dice que el
guin est hecho.

También podría gustarte