Samba日志分析

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

下一篇: Squid日志分析: http://chenguang.blog.51cto.com/350944/1607385

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

Samba日志分析的更多相关文章

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

    本书从UNIX/Linux系统的原始日志(Raw Log)采集与分析讲起,逐步深入到日志审计与计算机取证环节.书中提供了多个案例,每个案例都以一种生动的记事手法讲述了网络遭到入侵之后,管理人员开展系统 ...

  2. Linux系统日志及日志分析

    Linux系统日志及日志分析   Linux系统拥有非常灵活和强大的日志功能,可以保存几乎所有的操作记录,并可以从中检索出我们需要的信息. 大部分Linux发行版默认的日志守护进程为 syslog,位 ...

  3. Linux 日志分析工具之awstats

    一.awstats 是什么 官方网站:AWStats is a free powerful and featureful tool that generates advanced web, strea ...

  4. 【转】gc日志分析工具

    性能测试排查定位问题,分析调优过程中,会遇到要分析gc日志,人肉分析gc日志有时比较困难,相关图形化或命令行工具可以有效地帮助辅助分析. Gc日志参数 通过在tomcat启动脚本中添加相关参数生成gc ...

  5. 海量日志分析方案--logstash+kibnana+kafka

    下图为唯品会在qcon上面公开的日志处理平台架构图.听后觉得有些意思,好像也可以很容易的copy一个,就动手尝试了一下. 目前只对flume===>kafka===>elacsticSea ...

  6. ELK+Kafka集群日志分析系统

    ELK+Kafka集群分析系统部署 因为是自己本地写好的word文档复制进来的.格式有些出入还望体谅.如有错误请回复.谢谢! 一. 系统介绍 2 二. 版本说明 3 三. 服务部署 3 1) JDK部 ...

  7. Hadoop学习笔记—20.网站日志分析项目案例(一)项目介绍

    网站日志分析项目案例(一)项目介绍:当前页面 网站日志分析项目案例(二)数据清洗:http://www.cnblogs.com/edisonchou/p/4458219.html 网站日志分析项目案例 ...

  8. Hadoop学习笔记—20.网站日志分析项目案例(二)数据清洗

    网站日志分析项目案例(一)项目介绍:http://www.cnblogs.com/edisonchou/p/4449082.html 网站日志分析项目案例(二)数据清洗:当前页面 网站日志分析项目案例 ...

  9. Hadoop学习笔记—20.网站日志分析项目案例(三)统计分析

    网站日志分析项目案例(一)项目介绍:http://www.cnblogs.com/edisonchou/p/4449082.html 网站日志分析项目案例(二)数据清洗:http://www.cnbl ...

随机推荐

  1. 取得系统属性和Java环境

    代码如下: import java.util.Enumeration; import java.util.Iterator; import java.util.Map; import java.uti ...

  2. HttpModule & HttpHandler

    ASP.NET 处理请求的过程 inetinfo.exe:www 服务进程,IIS 服务 和 ASPNET_ISAPI.dll 都寄存在此进程中. ASPNET_ISAPI.dll:处理 .aspx ...

  3. .net 创建计划任务开机后自动以管理员身份启动运行 win7 ~ win10

    假如要启动 this.exe.以下逻辑中会启动先后关联启动三个实例分别是ABC.先启动第一个实例A,A启动实例B,B启动实例C. 要求: 1.如果没有以管理员权限运行,则请求管理员权限运行,即使没有请 ...

  4. C#动态编译并执行代码

    先来张运行时截图: using System; using System.Collections.Generic; using System.ComponentModel; using System. ...

  5. 【转】GPU 与CPU的作用协调,工作流程、GPU整合到CPU得好处

    在不少人的心目中,显卡最大的用途可能就只有两点--玩游戏.看电影,除此之外,GPU并没有其他的作用了.但是随着微软IE9的正式发布,不少人突然发现,微软一直提到一个名词:GPU硬件加速,从而也让不少人 ...

  6. Arrays数组的常用方法

    下面代码主要说明了Arrays数组的几个常用方法(红色字体) import java.util.Scanner;import java.util.Arrays;      public class T ...

  7. PHP eof的使用

    PHP eof的使用 也就是heredoc技术,来部分实现界面与代码的分离 <?php $name = '张三'; print <<<EOT <html> < ...

  8. JavaScript中常见的数组操作函数及用法

    JavaScript中常见的数组操作函数及用法 昨天写了个帖子,汇总了下常见的JavaScript中的字符串操作函数及用法.今天正好有时间,也去把JavaScript中常见的数组操作函数及用法总结一下 ...

  9. 让CSS布局更加直观:box-sizing

    让CSS布局更加直观:box-sizing 如果你写过CSS或者你接触过CSS,相信你一定对盒子模型一点都不陌生.CSS其中一个让人比较困惑的地方就在于它的盒子模型中关于高度和宽度的计算,别说那些初学 ...

  10. Nim Game,Reverse String,Sum of Two Integers

    下面是今天写的几道题: 292. Nim Game You are playing the following Nim Game with your friend: There is a heap o ...