Некоторые картинки не загружаются из РФ и РК, используйте VPN.

четверг, 9 ноября 2023 г.

SAMBA Подключение аудита

Спустя два года я таки настроил на Ubuntu 14 с Samba 4.3.11 аудит действий с файлами.

Это оказалось не так просто, как описывалось во всех инструкциях:

  1. Нужно установить samba-vfs-modules, мне не понадобилось, но возможно
  2. В настройках rsyslog все по другому
  3. Priority не безграничен
  4. У syslog:adm должны быть права записи в каталог с логами. При этом оповещений нету, просто не создаются файлы логов
Я было хотел на каждую шару отдельный лог, но так просто сделать нельзя, поэтому решил  поделить шары по своей логике. В итоге у меня вышло 5 разных групп, вот для них я и покажу как делал.

В конфигурационном файле в блок global я вбил настройки общие для всех общих папок, а вот "facility, priority" и подключение в каждой сетевой папке отдельно.
[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

Комментариев нет:

Отправить комментарий