Linux 服务器日志文件查找技巧精粹[阮胜昌]

用来在日志文件里搜索特定活动事件的工具不下几十种,本文将介绍搜索日志文件时应该采取的策略。
1、查找日志文件简单方法
一般来说,系统日志文件几乎都保存在/var/子目录(该路径由syslog.conf文件定义)。如果想让所有的应用程序都把日志文件集中存放到/var/子目录下,需要依次对每一个应用程序的配置文件进行编辑。把日志集中到/var/子目录下是个很好的主意。首先,当需要查看它们、修改它们的权限或者对它们进行备份的时候,只要到一个地方就可以找到所有的日志文件。
其次,/var/子目录通常是在一个独立于根目录(/)的文件系统里,这有助于防止日志文件迅速变大并占满可用空间,避免操作系统和应用程序受到影响。可以利用find命令把你不知道的日志文件查找出来具体做法是:先切换到根目录下,然后以根用户(root)身份执行下面这条命令把最近被修改过的文件全部找出来:
find . -type f -mtime -5 –print \
| grep -v proc | grep -v lock
2、搜索日志文件时的策略
日志文件分析工作中的第一个挑战是把异常活动从正常活动中识别出来。完成这项挑战的前提是你必须知道系统和网络上的正常活动在日志文件里是什么样子。如果没有事先积累的经验,很难知道按规律发生的事件在日志文件里的表现。熟悉正常的日志文件活动要有一个时间过程,要求大家一上来就把日志文件看明白显然不现实,这是个需要时间积累的过程。
随着网络上的应用程序和用户的数量不断增减和变化,日志文件的内容肯定会发生相应的改变。把异常情况孤立出来之后,接下来的步骤是正确地判断这种异常情况是否属于警报条件。要想正确地做出判断,只能通过加深对公司日常活动的了解才能做到。往往需要在系统的可用性与防范风险之间把握一种平衡。
3、以手动方式搜索日志文件
grep是Unix系统上功能最强大的shell命令之一。利用grep命令在日志文件里搜索各种可疑线索是这个文本文件搜索命令的绝佳用途。grep命令的用法很简单——在命令行上输入:
grep "failed" /var/log/messages
上面这条grep命令将把/var/log/messages文件里包含单词 “failed”的文本行全部找出来。在默认情况下,grep命令是大小写敏感的,你可能需要根据具体情况使用grep命令和它的“-i”选项来进行对大小写不敏感的搜索。搜索日志文件的挑战之一是你必须先知道自己想找什么东西,然后才可以把可能存在的这个东西找出来。有几种办法可以帮助解决这一问题。
如果你知道自己想找的事件或活动——比如,用户试图使用su命令切换为根用户——可以先自己进行一次这样的活动,然后去日志文件里看看它是什么样子。比如,在SUSE Linux系统上,执行失败的su命令将在日志文件里留下这样一条记录:
Apr 1 11:15:54 chim su: FAILED SU (to root) rreck on /dev/pts/1
于是,如果想把所有这类活动都查出来,应该使用下面这样的命令:grep "FAILED SU" /var/log/messages
上面示例里的活动是黑客攻击的一种标志。如果grep命令只在日志文件里零零散散地找到了几个这样的失败事件,那很可能是有人忘记了口令字或者是打字时出现了错误。反之,如果grep命令在日志文件里找到几十个这样的失败事件,很可能是有人在试图闯入你的系统,应立刻采取措施在网络级拒绝他们的访问。
4、使用logsurfer工具搜索日志文件
logsurfer是一个日志文件搜索工具。与swatch等日志搜索工具相比,logsurfer允许人们做出更细致的决定。与其他日志搜索程序相似,logsurfer工具也是把日志文件里的每一行与一些规则表达式进行匹配,每找到一个匹配就相应地执行某个动作,而那些动作被表达为“规则”。logsurfer工具在某些方面比swatch工具做得还要好。
首先,logsurfer工具使用两组规则表达式匹配文本行;日志文件中的文本行必须匹配第一组表达式,但不需要匹配可选的第二组表达式。这种安排在某些场合非常有用,它可以让人们方便地排除异常情况。logsurfer工具的另外一个突出优点是它可以结合上下文进行检查而不是只检查单个的文本行。这很方便,因为日志文件里的单独一行文本往往不足以包含做出某个决定所需要的信息。不少人认为logsurfer工具比较难以配置,因为对它进行配置必须精通规则表达式,而且它本身提供的配置示例不够多。
5、使用swatch工具搜索日志文件
swatch工具不是Red Hat Enterprise Linux发行版本的标准组成部分,但因为swatch工具很容易安装、配置和使用,所以你应该考虑下载并安装它。在开始使用它之前,还需要一个配置文件。在默认情况下,swatch工具将在启动它的那个用户的登录子目录里寻找.swatchrc文件(例如/home/rreck/.swatchrc),但你可以用“-f”选项为它另外指定一个配置文件,如下所示:
swatch –f /etc/.swatchrc
接下来,看看如何使用swatch工具从日志文件里发现黑客活动的踪迹以及发现之后该做些什么。


 

你可能感兴趣的:(linux,服务器,技巧,胜)