Спустя два года я таки настроил на Ubuntu 14 с Samba 4.3.11 аудит действий с файлами.
Это оказалось не так просто, как описывалось во всех инструкциях:
- Нужно установить samba-vfs-modules, мне не понадобилось, но возможно
- В настройках rsyslog все по другому
- Priority не безграничен
- У syslog:adm должны быть права записи в каталог с логами. При этом оповещений нету, просто не создаются файлы логов
[global]
......
log level = 1 vfs:1
# full_audit
full_audit:prefix = %S|%U|%u|%I|%M
full_audit:success = open, !opendir, mkdir, rmdir, unlink, write, rename
full_audit:failure = open, !opendir, mkdir, rmdir, unlink, write, rename
......
[share_1]
path = /io/share_1
writeable = yes
browseable = yes
valid users = @DOMAIN
invalid users = @labor
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777
force group = nogroup
force user = nobody
vfs objects = recycle full_audit
recycle:keeptree = yes
recycle:touch_mtime = yes
full_audit:facility = LOCAL5
full_audit:priority = ALERT
[share_2]
path = /io/share_2
browseable = yes
writeable = yes
valid users = @lightbox
invalid users = @labor
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777
force group = nogroup
force user = nobody
vfs objects = recycle full_audit
recycle:keeptree = yes
recycle:touch_mtime = yes
full_audit:facility = LOCAL5
full_audit:priority = INFO
[share_3]
path = /io/share_3
browseable = yes
writeable = yes
valid users = @recep
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777
force group = nogroup
force user = nobody
vfs objects = recycle full_audit
recycle:keeptree = yes
recycle:touch_mtime = yes
full_audit:facility = LOCAL5
full_audit:priority = NOTICE
[share_4]
path = /io/share_4
browseable = yes
writeable = yes
valid users = @buh
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777
force group = nogroup
force user = nobody
vfs objects = recycle full_audit
recycle:keeptree = yes
recycle:touch_mtime = yes
full_audit:facility = LOCAL6
full_audit:priority = NOTICE
[share_5]
path = /io/share_5
browseable = yes
writeable = yes
valid users = @DOMAIN
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777
force group = nogroup
force user = nobody
vfs objects = recycle full_audit
recycle:keeptree = yes
recycle:touch_mtime = yes
full_audit:facility = LOCAL7
full_audit:priority = NOTICE
[share_6]
path = /io/share_6
browseable = yes
writeable = yes
valid users = @DOMAIN
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777
force group = nogroup
force user = nobody
vfs objects = recycle full_audit
recycle:keeptree = yes
recycle:touch_mtime = yes
full_audit:facility = LOCAL5
full_audit:priority = NOTICE
Хоть и пишут, что LOCAL работает от LOCAL0 до LOCAL9, я получил ошибку ("Присоединенное к системе устройство не работает") уже на LOCAL8.
Поэтому пришлось добавить разнообразия при помощи priority.
Это только кусок конфига, в нем стоит обратить внимание на share_6 и share_3, писаться они будут в один файл, но в секции global есть параметр full_audit:prefix = %S|%U|%u|%I|%M, в его формате определено %S - имя общей папки. Таким образом я отделил нагруженные ресурсы, а не нагруженные будут писать в один файл лога.
Также стоит обратить внимание на vfs objects = recycle full_audit, здесь указано подключение сетевой корзины и аудита. Если их описать разными строками, то работать будет только что то одно, а testparm ошибок не найдет.
Дальше правим /etc/rsyslog.d/50-default.conf, в строке с syslog говорим не пиши такое то, в строках LOCAL* описываем куда писать.
auth,authpriv.* /var/log/auth.log
*.*;LOCAL5.ALERT,LOCAL5.NOTICE,LOCAL5.INFO,LOCAL6.NOTICE,LOCAL7.NOTICE,auth,authpriv.none -/var/log/$
#cron.* /var/log/cron.log
#daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
#lpr.* -/var/log/lpr.log
mail.* -/var/log/mail.log
LOCAL5.ALERT -/var/log/samba/audit/share_1.log
LOCAL5.NOTICE -/var/log/samba/audit/other_share.log
LOCAL5.INFO -/var/log/samba/audit/share_2.log
LOCAL6.NOTICE -/var/log/samba/audit/share_4.log
LOCAL7.NOTICE -/var/log/samba/audit/share_5.log
Ротацию логов правим здесь /etc/logrotate.d/samba
/var/log/samba/audit/share_1.log {
daily
notifempty
olddir /var/log/samba/audit/old
missingok
sharedscripts
copytruncate
rotate 60
compress
}
/var/log/samba/audit/other_share.log {
daily
notifempty
olddir /var/log/samba/audit/old
missingok
sharedscripts
copytruncate
rotate 60
compress
}
/var/log/samba/audit/share_2.log {
daily
notifempty
olddir /var/log/samba/audit/old
missingok
sharedscripts
copytruncate
rotate 60
compress
}
/var/log/samba/audit/share_4.log {
daily
notifempty
olddir /var/log/samba/audit/old
missingok
sharedscripts
copytruncate
rotate 60
compress
}
/var/log/samba/audit/share_5.log {
daily
notifempty
olddir /var/log/samba/audit/old
missingok
sharedscripts
copytruncate
rotate 60
compress
}
Operations для smb 4.15.3 пришлось выставить другие, иначе ведется full аудит
full_audit:success = mkdirat renameat pwrite unlinkat linkat
Комментариев нет:
Отправить комментарий