: | : |
‹ | › | |||||
Пн | Вт | Ср | Чт | Пт | Сб | Вс |
2017-11-13 16:55:33 5424 0
Настройка логирования файлового сервера Samba на CentOS7
Настройки будем производить на сервере CentOS7 с настроенным файловым сервером Samba
Включаем логирование операций в Samba
Для логирования действий пользователей на файловом сервере будем использовать модуль самбы full_audit. Если вы хотите выполнять логирование операций с файлами в один лог файл по всем доступным шарам, то добавляйте настройки аудита в глобальную секцию. Если же захотите разделить по шарам, то отдельно в каждую шару с небольшими изменениями. Я рассмотрю оба варианта. Для начала, настроим аудит по всем шарам в один общий файл. Добавляем в /etc/samba/smb.conf в секцию [global] следующие строки:
Для сбора логов действия пользователей на сервере будет использоваться модуль full_audit.
Для сбора логов со всех общих файловых директорий настройки аудита необходимо поместить в глобальгую секцию. Если необходимо проводить аудит только конкретных общих директорий, то помещаем секцию аудита в каждую из них.
Рассмотрим настройку для всех директорий
Вставляем секцию аудита в файл /etc/samba/smb.conf
log level = 1 vfs:1 full_audit:prefix = %u|%I|%S full_audit:success = open, mkdir, rmdir, unlink, write, rename full_audit:failure = open, mkdir, rmdir, unlink, write, rename full_audit:facility = local4 full_audit:priority = notice
Пояснение секций:
full_audit:prefix - В каком формате будет выводиться информация о подключении: %u — имя пользователя, %I — его ip адрес, %S — название шары.
full_audit:success - Какие удачные события будут логироваться.
full_audit:failure - Какие удачные события будут логироваться.
Полный список событий: chdir, chflags, chmod, chmod_acl, chown, close, closedir, connect, disconnect, disk_free, fchmod, fchmod_acl, fchown, fget_nt_acl, fgetxattr, flistxattr, fremovexattr, fset_nt_acl, fsetxattr, fstat, fsync, ftruncate, get_nt_acl, get_quota, get_shadow_copy_data, getlock, getwd, getxattr, kernel_flock, link, linux_setlease, listxattr, lock, lseek, lstat, mkdir, mknod, open, opendir, pread, pwrite, read, readdir, readlink, realpath, removexattr, rename, rewinddir, rmdir, seekdir, sendfile, set_nt_acl, set_quota, setxattr, stat, statvfs, symlink, sys_acl_delete_def_file, sys_acl_get_fd, sys_acl_get_file, sys_acl_set_fd, sys_acl_set_file, telldir, unlink, utime, write.
full_audit:facility - Категория событий syslog, в которую будут попадать записи.
full_audit:priority - Приоритет записей для syslog.
Если вы хотите настроить вывод лога доступа с разных шар в отдельные файлы, то указанные выше параметры поместите не в глобальную, а отдельно в каждую секцию с шарой, изменив категории событий, сделав их в каждой шаре уникальными, например local5 и local6.
Так же нужно будет в каждую шару отдельно добавить еще один параметр:
vfs objects = full_audit
Перезапускаем Samba
systemct restart smb
Если больше ничего не делать, то логи посещений самбы польются в стандартный поток вывода для системных логов. В Centos в /var/log/messages. Это очень неудобно, поэтому далее настроим вывод логов в отдельный файл.Логи действий пользователей Samba будут посылаться в стандартный поток вывода для системных логов, файл /var/log/messages. Что не очень удобно, настроим вывод логов в отдельный файл
Вывод лога доступа к файлам Samba в отдельный файл
Редактируем файл конфигураций демона rsyslog (/etc/rsyslog.conf), добавляем в самый конец файла:
local4.notice -/var/log/samba/audit.log
Этим мы направили вывод логов аудита посещений в отдельный файл audit.log. Если все оставить как есть, то информация о посещениях будет писаться как в отдельный файл, так и в общий системный. Чтобы в общий не писалось, редактируем еще одну строку, добавляя туда выделенный фрагмент:
*.info;mail.none;authpriv.none;cron.none;local4.none /var/log/messages
Сохраняем файл и перезапускаем rsyslog.
systemctl restart rsyslog
Осталось малось — настроить ротацию логов. Сделать это надо обязательно, так как файл аудита будет расти очень быстро. Здесь ничего особенного, используем logrotate. Скорее всего у вас уже есть фал конфигурации logrotate для самбы. Он создается в момент установки. Отредактируем его, добавив новые параметры.Так как файл аудита растет очень быстро, необходимо настроить его ротацию.
После установки Samba у нас в ситеме уже должен быть файл отвечающий за ротацию всех файлов ее логов, поэтому просто правим его и добавляем необходимые секции
cat /etc/logrotate.d/samba
/etc/logrotate.d/samba /var/log/samba/audit.log { notifempty olddir /var/log/samba/old missingok sharedscripts copytruncate rotate 30 compress }
Храним последние 30 файлов логов, ротацию делаем по достижению текущим файлом логов размера 10М. Старые логи складываем в отдельную папку.
Введите ответ:
+
=