Apartamento En Familia

Apartamento En Familia
Apartamento de playa para vacaciones. http://www.apartamentoenfamilia.es. Número registro HUTT-005768

viernes, 11 de abril de 2014

Auditando Samba con Ubuntu


El módulo Stackable VFS (Virtual File System) inició con Samba3 y se ha hecho muy popular. Samba pasa cada petición de acceso al sistema de archivos UNIX através the los módulos VFS cargados. Y.... ¿en que no puede ayudar esto? Pues podemos hacer muchas cosas como por ejemplo controlar las quotas de disco o auditar quien crea, modifica o borra un archivo o carpeta (entre muchas más cosas).

Módulos incluídos:
audit
default_quota
extd_audit
fake_perms
recycle
netatalk
shadow_copy
Más info en:

http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/VFS.html

Pues bien, ahora vamos a mirar de auditar nuestro Samba mediante VFS. Para ello nos bastará con añadir unas lineas en nuestro smb.conf:

/etc/samba/smb.conf

# Audit settings
full_audit:prefix = %u|%I|%S
full_audit:failure = connect
full_audit:success = connect disconnect opendir mkdir rmdir closedir open close read pread write pwrite sendfile rename unlink chmod fchmod chown fchown chdir ftruncate lock symlink readlink link mknod realpath
full_audit:facility = local5
full_audit:priority = notice




%u - Usuario
%I - IP del usuario
%S - Nombre del recurso compartido

Tenemos más variables que podemos poner como prefijo de full_audit:prefix que corresponden con las variables de sustitución de :
http://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html

Sobre que acciones podemos auditar tenemos un listado extenso que podemos consultar en esta web:
http://www.samba.org/samba/docs/man/manpages-3/vfs_full_audit.8.html

¿Con esto ya abre acabado?. No, ahora tenemos a nuestro Samba preparado para poder auditar, pero le tenemos que decir que queremos que audite. Eso lo haremos en el recurso que deseemos auditar poniendo la directriz vfs object:

[Mi Recurso Samba]

vfs object = full_audit


y ya podremos ver en el /var/log/syslog entradas como esta:

Apr 10 13:00:54 miserver smbd[21816]: ediaz|85.81.69.244|Support|opendir|ok|Prueba/test

Si no queremos que todo el log acabe en syslog y lo que preferimos es tenerlo todo en un archivo separado, podemos hacerlo fácilmente editando los archivos de rsyslog:

sudo vim /etc/rsyslog.d/50-default.conf

Modifica la linia donde aparezca:
*.*;auth,authpriv.none -/var/log/syslog
por esta otra:
*.*;local5,auth,authpriv.none -/var/log/syslog

Insertamos esta linea a continuación de la anterior (ojo!! tiene que estar en /var/log porque sino no funcionará)

local5.* /var/log/samba-audit.log

Y ahora reiniciamos tanto el rsyslog como el samba:
sudo service smbd restart
service rsyslog restart


Con esto ya podremos auditar los accesos al Samba
sudo tail -f /var/log/samba-audit.log

Si aun queremos dejarlo un poco más depurado, lo que deberíamos hacer es un logrotate. Es decir, rotar los logs para que el samba-audit.log no crezca indefinidamente hasta que nos deje sin espacio. Para ello os aconsejo mirar un artículo anterior en donde se explica como hacerlo:


http://eithel-inside.blogspot.com.es/2010/05/logrotate-para-mantener-nuestros-logs.html




That u don't know what you've got 'til it's gone