Linux 服务器日志文件查找技巧精粹

2009-05-13 00:51:46来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

用来在日志文件里搜索特定活动事件的工具不下几十种,本文将介绍搜索日志文件时应该采取的策略。然后,通过几个具体示例介绍一些使用grep命令手动搜索日志文件的办法。接下来,我们将看到logwatch工具和logsurfer工具的用法。最后,将看到需要自行下载和安装的工具,如swatch等。

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工具做得还要好。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:使用 Nginx 提升网站访问速度

下一篇:如何在 Ubuntu 8.04 上安装KDE 4.1