Habilitando auditoria completa no compartilhamento do samba
Esse método de auditoria é similar ao uso do módulo audit, porem, o full_audit nos maior flexibilidade na geração de logs além de informações adicionais que o audit não fornece.
Com ele, conseguimos monitorar o uso dos dados no serviço samba obtendo informações de pastas e arquivos criados, excluídos, movidos além de obter data, hora e máquina a qual originou a requisição.
Ajustando o Samba
Primeiramente vamos editar o arquivo de configuração do samba para adicionar as linhas para que a auditoria funcione corretamente.
root@debian:~# vi /etc/samba/smb.conf #--------------------------- Full Audit Options ---------------------------- ; vfs objects = full_audit full_audit:prefix = %U|%I|%m ; full_audit:success = all ; full_audit:success = chdir close closedir mkdir open opendir read readdir rename rmdir write full_audit:success = mkdir rename rmdir ; full_audit:failure = all full_audit:failure = none full_audit:facility = LOCAL6 full_audit:priority = ALERT #------------------------------ Data Shares -------------------------------- [dados] path = /srv/dados browsable = yes writable = yes valid users = @usuarios create mask = 666 directory mask = 777 vfs objects = full_audit veto files = /*.scr/*.com/*.exe/*.bat/*.inf/*.ogg/*.pif
Note que na opção full_audit:success podemos especificar as opções que queremos que seja auditorada. Maiores informações poderão ser obtidas na página de manual do módulo.
root@debian:~# man vfs_full_audit
Variáveis disponíveis
Variáveis referentes a maquina cliente de rede :
- %a Client’s architecture (Samba, WinNT, WfWg, Win95, or UNKNOWN)
- %I Client’s IP address
- %m Client’s NetBIOS name
- %M Client’s DNS name
Variáveis referentes ao usuário :
- %g Primary group of %u
- %G Primary group of %U
- %H Home directory of %u
- %u Current Unix username
- %U Requested client username (not always used by Samba)
Variáveis referentes ao servidor :
- %d Current server process ID
- %h Samba server’s DNS hostname
- %L Samba server’s NetBIOS name
- %N Home directory server, from automount map
- %v Samba version
Variáveis miscelaneas :
- %R The SMB protocol level that was negotiated
- %T The current date and time
Variáveis referentes ao compartilhamento :
- %p Automouter’s path to the share’s root directory, if different from %P
- %P Current share’s root directory
- %S Current share’s name
Ajustando o syslog
Nesta etapa, precisamos ajustar o syslog para que os dados auditados pelo samba.
root@debian:~# vi /etc/rsyslog.conf # Logs de auditoria do samba local6.* -/var/log/samba/full_audit.log
Reiniciando os serviços
root@debian:~# /etc/init.d/rsyslog stop root@debian:~# /etc/init.d/rsyslog start root@debian:~# /etc/init.d/samba stop root@debian:~# /etc/init.d/samba start