: :

ПнВтСрЧтПтСбВс

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М. Старые логи складываем в отдельную папку.






Введите ответ:

+

=