使用full_audit插件,记录samba账号操作日志,增删改查等(安全审计)

环境:centos系统

目的:记录samba账号的操作行为

full_audit 是一个用于审计文件操作的功能或插件,通常与 Samba 文件共享服务结合使用,增强 Samba 的审计能力。它允许管理员记录共享上的所有操作,如创建文件、删除文件、更改路径等,从而提供事后溯源的重要工具。

full_audit 功能介绍:
   - 记录共享上的所有操作,包括文件创建、删除、修改等。
   - 提供用户、客户端IP地址、客户端名称和共享名称等详细信息的日志前缀。

具体步骤

1. 修改samba配置

看需求,是想记录某个共享目录,还是整个共享盘
- 所有共享盘:global下添加如下配置项,适用于全局
- 某个网盘:某共享目录下添加

...
   vfs objects = full_audit
   full_audit:prefix = %u|%I|%m|%S
   full_audit:success = connect disconnect mkdir rmdir open pread pwrite write rename unlink chmod chown
   full_audit:failure = none
   full_audit:facility = LOCAL7
   full_audit:priority = NOTICE
...

在这里插入图片描述

① 配置项说明:

  • vfs objects = full_audit:启用full_audit虚拟文件系统对象,以便记录文件操作。

  • full_audit:prefix = %u|%I|%m|%S 这行确保日志前缀中包含:
    - Samba账户名 (%u)
    - 客户端IP地址 (%I)
    - 客户端名称(%m)
    - 共享名 (%S)

  • full_audit:success 列出需要记录的成功操作。

    • 连接(connect)、
    • 断开连接(disconnect)、
    • 创建目录(mkdir)、
    • 删除目录(rmdir)、
    • 打开文件(open)、
    • 读取文件(pread)、
    • 写入文件(pwrite和write)、
    • 重命名文件(rename)、
    • 删除文件(unlink)、
    • 修改文件权限(chmod)
    • 修改文件所有者(chown)
      可以多试试权限,
  • full_audit:failure = none:不记录失败操作。
    意义:这个配置可能表示在审计日志中不记录失败的操作。
    可能的替代值:
    full_audit:failure = all:记录所有失败的操作。
    full_audit:failure = <具体的操作类型>:只记录特定类型的失败操作。
    注意:具体的替代值取决于你的系统或日志框架所支持的设置。

  • full_audit:facility = LOCAL7
    意义:这个配置指定了日志消息的“设施”(facility)。在Unix-like系统中,设施是系统日志机制的一部分,用于分类日志消息。LOCAL7是一个用户定义的本地设施,通常用于非标准的、自定义的应用程序日志。
    可能的替代值:
    full_audit:facility = auth:安全/授权消息。
    full_audit:facility = cron:cron守护进程的日志。
    full_audit:facility = daemon:系统守护进程的日志。
    …以及其他标准设施,如kern, lpr, mail, news, syslog, user, uucp等。
    你也可以使用其他本地设施,如LOCAL0到LOCAL6。

  • full_audit:priority = NOTICE
    意义:这个配置指定了日志消息的优先级。NOTICE是一个中等级别的日志优先级,通常用于正常的但值得注意的事件。
    可能的替代值:
    full_audit:priority = debug:调试信息,通常只在调试时启用。
    full_audit:priority = info:信息性消息,通常表示系统正常运行。
    full_audit:priority = warn:警告,表示可能出现问题,但系统仍能正常运行。
    full_audit:priority = err 或 full_audit:priority = error:错误,表示已经发生了问题,可能会影响系统的正常运行。
    full_audit:priority = crit:临界错误,表示系统或应用程序已经不能正常工作。
    full_audit:priority = alert:需要立即采取行动的情况。
    full_audit:priority = emerg 或 full_audit:priority = panic:系统处于无法使用的状态。

② 额外配置项

[global]
	log file = /var/log/samba/log.%u.%I.%m.%S
	log level = 1
	max log size = 1000
  • log file :指定Samba日志文件的位置,按客户端区分:日志文件名中包含用户、客户端 IP 地址、NetBIOS 名称和共享服务名称的组合
  • log level:设置日志记录级别
    • 0:只记录错误信息。
    • 1:记录错误和警告信息。
    • 2及以上:记录更详细的调试信息。
  • max log size :最大日志文件大小,当日志文件达到此大小时,将会创建一个新的日志文件。

3. 重启Samba服务

配置完成后,重启Samba服务以应用新配置:

sudo systemctl restart smb
sudo systemctl restart nmb

smbd 负责记录用户对共享文件和目录的具体操作日志。
nmbd 负责记录 NetBIOS 名称解析和网络浏览相关的日志。

4.配置 /etc/rsyslog.d/samba.conf,定义日志路径

编辑syslog配置文件 /etc/rsyslog.conf 或 /etc/rsyslog.d/ 中的相关配置文件,没有的手动新建
添加以下行以记录Samba审计日志:

vim  /etc/rsyslog.d/samba.conf 
添加
local7.notice   /var/log/samba/audit.log

说明:/var/log/samba/audit.log 为日志路径,可自定义

重启rsyslog服务:

sudo systemctl restart rsyslog

5. 验证配置

尝试连接Samba共享并执行一些文件操作(如创建、修改、删除文件等),然后检查 /var/log/samba-audit.log 文件,确保日志记录正常。

tail -f  /var/log/samba/audit.log 
效果嘎嘎好!
Jun 18 12:34:56 servername smbd_audit[pid]: user|192.168.1.100|shared|desktop|connect|ok
Jun 18 12:35:01 servername smbd_audit[pid]: user|192.168.1.100|shared|desktop|open|ok|path/to/file
Jun 18 12:35:05 servername smbd_audit[pid]: user|192.168.1.100|shared|desktop|unlink|ok|path/to/deleted_file
Jun 18 12:35:10 servername smbd_audit[pid]: user|192.168.1.100|shared|desktop|disconnect|ok

由于编辑器的不同,记录行为会有所差异
比如修改333.xlsx表格内容:会记录为rename
以下使用full_audit、inotify两种监控对比!

full_audit 监控

Aug 19 15:27:29 metas smbd_audit: yy|192.168.2.125|sy-x01|mmmt|rename|ok|/home/yy/all/data/mmmt/新建文件夹/333.xlsx|/home/yy/all/data/mmmt/新建文件夹/333~F79557.tmp
Aug 19 15:27:29 metas smbd_audit: yy|192.168.2.125|sy-x01|mmmt|rename|ok|/home/yy/all/data/mmmt/新建文件夹/~tmp17240524493521
840794.TMP|/home/yy/all/data/mmmt/新建文件夹/333.xlsx
Aug 19 15:27:29 metas smbd_audit: yy|192.168.2.125|sy-x01|mmmt|unlink|ok|/home/yy/all/data/mmmt/新建文件夹/333~F79557.tmp
inotify 监控
/home/yy/all/data/mmmt/新建文件夹/ CREATE ~$333.xlsx
/home/yy/all/data/mmmt/新建文件夹/ MODIFY ~$333.xlsx
/home/yy/all/data/mmmt/新建文件夹/ CREATE ~tmp17240524493521840794.TMP
/home/yy/all/data/mmmt/新建文件夹/ MODIFY ~tmp17240524493521840794.TMP
/home/yy/all/data/mmmt/新建文件夹/ MODIFY ~tmp17240524493521840794.TMP
/home/yy/all/data/mmmt/新建文件夹/ MOVED_FROM 333.xlsx
/home/yy/all/data/mmmt/新建文件夹/ MOVED_TO 333~F79557.tmp
/home/yy/all/data/mmmt/新建文件夹/ MOVED_FROM ~tmp17240524493521840794.TMP
/home/yy/all/data/mmmt/新建文件夹/ MOVED_TO 333.xlsx
/home/yy/all/data/mmmt/新建文件夹/ DELETE 333~F79557.tmp

修改333.xls表格内容:① 创建临时会①rename333.xls为临时文件tmp、②

日志说明:

servername : 服务器名称
user: 表示samba账户名,
192.168.1.100 :表示客户端IP地址,
shared :表示共享盘的名称,
desktop : 表示samba账号登录的客户端名
connect 、open 、unlink :表示文件操作。
path/to/file :表示操作的文件路径

有用的话,点赞再走咩~

不需要安装audit,两个不是一回事~

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bessssss

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值