Samba日志分析

Samba日志分析

随着我们文件共享安全级别的提高,越来越多的情况下需要对日志进行记录并审计。Linux平台下的Samba服务的配置文件是smb.conf,有不少图形化配置工具例如Webmin、smbconftool、SWAT及RedHat提供的system-config-samba等工具都可以为您简化配置smb.conf的过程,但这些工具的细致程度却无法满足samba的需求。

1 .Samba默认提供的日志

具体怎么配置samba就不讲了,下面的实例用以跟踪查询客户端通过SMB访问共享资源的情况。命令netstat –na |grep ESTABLISHED  代表显示TCP已连接情况,如图1所示。

图 1  Samba日志分析

如图1中倒数第二行的PID 10600,代表smbd的进程ID号,用“ps -ef |grep 10600”可查看到。与此同时,系统会把samba进程启动日志写到/var/log/messages中。

通常,所有客户机访问日志都放在一个日志里不但查询不便而且文件容易变得很大不便于管理,如何做到将每个客户端的连接信息存放在单独的文件呢?我们需要在smb.conf上动点脑筋了。在smb.conf文件中已有一行代码可以实现以上目的。

log file = /var/log/samba/%m.log

去掉前面的";"号然后,重启smbd服务,如果担心日志过大则启用下面这条命令

max log size = 500 最大日志容量为500KB

注意:PID起什么作用呢?通常大家不会关注PID号,有时在调试故障时却能发现问题。

这里解释PID在调试故障时发挥得作用,如图2所示。

图2  strace分析PID

#ps -ef |grep smb

上述命令用于查找samba进程列表,根据所连用户身份(这里是test用户)可以轻松的指导PID是13778就是该用户的进程,接着运行带有两个参数的strace命令限制于文件相关的系统调用输出。“-p 13778”参数告诉strace使用这个进程ID连接到运行的进程中。这条命令执行后,结果输出会比较长。你会看到smb会不停的扫描目录看看有无变化,当用户尝试有问题的操作时,就会非常详细的信息了,这些信息给用户解决问题(尤其是权限带来的问题,例如出现拒绝访问等权限问题)带来了不小的帮助。

2 Samba审计

如果你觉得记录日志不详细,那么还可以通过log level参数来调整日志记录级别,级别越高,记录越详细。Samba使用LOG_DAEMON将日志级别分为10级,下表1列出常用的4级。

表1 Samba日志级别




LOG_ERR


0


LOG_WARNING


1


LOG_NOTICE


2


LOG_INFO


3

使用审计模块获得更多详细信息,下面介绍samba的full_audit模块,方法如下:

在全局配置项目中加入如下代码

#Audit settings

full_audit:prefix = %u|%I|s

full_audit:failure = connect

full_audit:sucess = connect disconnect opendir mkdir rmdir closedir open close fchmod chown fchown chdir

full_audit:facility = local5

full_audit:priority = notice

%u:表示用户

%I: 用户IP地址

%S Samba服务器共享名称

同时在共享目录例如[public]配置项下,添加

vfs object=full_audit

修改完smb.conf配置保存退出然后用testparm测试配置文件正确性。下面为 samba审计日志一条样本:

#cat 192.168.150.154.log.old |grep audit

Initialising custom vfs hooks from [full_audit]

Module ‘/usr/lib/samba/vfs/full_audit.so’ loaded

[2013/05/05 04:02:06,0] modules/vfs_full audit.c:log_success(689)

下面我们将升级日志记录到Mysql数据库并通过web发布以便查询。

3.用Mysql记录Samba审计日志

为了使用 Mysql数据库记录 samba audit log日志, 并实现通WEB方式查阅Samba审计日志,我们做了如下实验,首先在Centos Linux 5.5系统下用源代码方式安裝 Samba ,然后到SMBD Audit 官网: http://smbdaudit.sourceforge.net/下载smb_audit软件,具体步骤如下:

1)下载 smb_audit-0.3.7

#cd /usr/local/src/

#wget "http://sourceforge.net/settings/mirror_choices?projectname=smbdaudit&filename=smbdaudit/smb_audit-0.3.7/smb_audit-0.3.7.i386.tar.bz2"

#tar jxf smb_audit-0.3.7.i386.tar.bz2

2.)建立 MySQL 资料库

cd /usr/local/src/smb_audit-0.3.7

mysql -u root -p -A mysql

mysql> create database smbd;

mysql> grant all on smbd.* to ‘smbd‘@‘localhost‘ identified by ‘smbd001‘;

mysql> exit

mysql -p smbd < smbd_mysql.sql

3).重新编译 mysql_audit.so 给 samba-3.0.28 使用

#cd /usr/local/smb_audit-0.3.7/src2

#yum install mysql-devel

#mv 3.0.28a 3.0.28a-bak

#ln -s /usr/local/src/samba-3.0.28/source 3.0.28a

#cp 3.0.28a/popt/popt.h 3.0.28a/include/

#make

#cp mysql_audit.so /opt/samba/lib/vfs/

4).配置 smb.conf 使用 mysql_audit

#vi /etc/samba/smb.conf

#vfs object = mysql_audit

#service smb restart

5).WEB配置

#cd /var/www/html/

#ln -s /usr/local/src/smb_audit-0.3.7 smb_audit

6).浏览器访问效果http://ip/smb_audit/ ,如图3所示。

图3 通过web浏览samba日志

有关Samba传输安全大家可参考博文:http://chenguang.blog.51cto.com/350944/237380

更多精彩内容请参阅《UNIX/Linux网络日志分析与流量监控》一书。

时间: 2025-01-05 05:31:07

Samba日志分析的相关文章

Linux下安装部署AWStats日志分析系统实例

AWStats是使用Perl语言开发的一款开放性日志分析系统,可分析Apache网站服务器的访问日志,还可以用来分析Samba.Vsftpd.IIS等日志信息.       此文章主要讲解如何在linux系统下安装部署关于对Apache网站服务站日志分析的AWStats. 实验步骤一,安装部署AWStats分析软件. 一,安装AWStats软件包. 直接将其解压到/usr/local/awstats目录下即可完成安装. 使用命令:mkdir -p /usr/local/awstats tar z

《UNIX/Linux网络日志分析与流量监控》新书发布

本书从UNIX/Linux系统的原始日志(Raw Log)采集与分析讲起,逐步深入到日志审计与计算机取证环节.书中提供了多个案例,每个案例都以一种生动的记事手法讲述了网络遭到入侵之后,管理人员开展系统取证和恢复的过程,案例分析手法带有故事情节,使读者身临其境地检验自己的应急响应和计算机取证能力. 本书使用的案例都是作者从系统维护和取证工作中总结.筛选出来的,这些内容对提高网络维护水平和事件分析能力有重要的参考价值.如果你关注网络安全,那么书中的案例一定会引起你的共鸣.本书适合有一定经验的UNIX

AWStats日志分析系统

部署AWStats日志分析系统 AWStats可以为Apache,samba,vsftpd,IIS等服务进行日志分析 这里我们对Apache网站进行日志分析 安装AWStats软件包 为要统计的站点建立配置文件 进入交互式操作 之后的几步都是按Enter键 画箭头上方的路径是我们配置为之后,要访问的AWStats日志分析系统的页面. 修改站点统计配置文件      (指定日志路径) 需添加                       (统计数据的目录) 可以查找到 创建目录 更新所有的站点 创建

大话日志分析与管理,答题赠书活动

大话日志分析与管理,有奖赠书活动,欢迎大家参与~ 随着IT运维管理工作的复杂程度不断增加,仅靠几个"技术大拿"来包打天下的已不能满足要求,每当系统或网络故障来临时再去被动的查找原因,已不适应现在的企业发展,企业需要一种安全的运维平台,满足专业化.标准化和流程化的需要来实现运维工作的自动化管理,下面就日志分析与管理的话题展开讨论. 讨论话题: 1.请举例说明CLI方式下如何分析系统日志? 2.谈谈你对开源日志分析工具和商业日志分析工具使用的感受或心得? 3.谈谈你是如何收集Unix/Li

Linux系统日志及日志分析

Linux系统日志及日志分析 Linux系统拥有非常灵活和强大的日志功能,可以保存几乎所有的操作记录,并可以从中检索出我们需要的信息. 大部分Linux发行版默认的日志守护进程为 syslog,位于 /etc/syslog 或 /etc/syslogd,默认配置文件为 /etc/syslog.conf,任何希望生成日志的程序都可以向 syslog 发送信息. Linux系统内核和许多程序会产生各种错误信息.警告信息和其他的提示信息,这些信息对管理员了解系统的运行状态是非常有用的,所以应该把它们写

Linux环境下安装部署AWStats日志分析系统实例

AWStats是使用Perl语言开发的一款开放性日志分析系统,可分析Apache网站服务器的访问日志,还可以用来分析Samba.Vsftpd.IIS等日志信息.       此文章主要讲解如何在linux系统下安装部署关于对Apache网站服务站日志分析的AWStats. 实验步骤一,安装部署AWStats分析软件. 一,安装AWStats软件包. 直接将其解压到/usr/local/awstats目录下即可完成安装. 使用命令:mkdir -p /usr/local/awstats tar z

日志分析基础

日志分析基础________________________________________补充知识:________________________________________1.sed:处理缓冲区中的字符串,然后输出的标准输出.(1)行单位增删 sed '2,7d' 但是删除,2起始行,7结尾行($代表最后一行)(2)行单位替换 sed '2,5c xxxxxxx',把2到5行替换成xxxxx(3)行单位显示 sed -n '3,13p' p显示(4)数据搜索 sed '/root/p'

Web服务之部署AWStats日志分析系统

AWStats是使用Perl语言开发的一款开源日志分析系统,不仅可以用来分析Apache网站日志,也可以用来分析Samba.Vsftpd.IIS等服务的日志信息.结合crond等任务计划服务,可以对不断增长的日志内容定期进行分析 部署AWStats分析系统 ? ? AWStats的软件包可以从官网上下载 1. 安装AWStats软件包 ? ? 安装非常简单,只需将软件包解压到httpd服务器的/usr/local/目录下即可 2. 为统计的站点建立配置文件 ? ? AWStats系统支持统计多个

部署Awstats日志分析系统

知识部分·什么是AWStats:AWStats分析系统是使用Perl语言开发的一款开源日志分析系统.可用于分析Apache.Samba.Vsftpd.IIS等服务的日志信息.也可以结合crond等计划任务,不断对增长的日志进行定期分析.操作步骤1.解压软件包,并将文件移动到/usr/local下2.为要统计的站点建立配置文件.首先切换到../awstats/tools下,授予awstats_configure.pl一个可执行的权限,然后执行该文件.3.在该位置添加apache的配置文件4.继续,