一分钟Linux日志分析

2020-03-20 17:18:05 浏览数 (1)

日志类型

日志类型大致可以分为三类,内核和系统日志、用户日志、应用日志。

内核和系统日志:这种日志主要由syslog管理、根据其配置文件/etc/syslog.conf中的设置决定内核消息和各种系统程序信息记录到哪个位置。

用户日志:用户日志主要记录系统用户登录或者退出的信息,包括用户名账号、登录时间、源IP等。

应用日志:记录应用程序运行过程中的各种事件信息。

常见的日志文件

日志文件

说明

/var/log/messages

记录系统重要信息日志

/var/log/secure

记录验证和授权方面的信息,例如ssh登录、su切换用户、添加用户等

/var/log/maillog

记录系统运行电子邮件服务器的日志信息。

/var/log/cron

记录系统定时任务相关日志

/var/log/boot.log

记录系统启动时候的日志,包括自启动的服务

/var/log/dmesg

记录内核缓冲信息

/var/log/bmtp

记录所有登录失败的日志

/var/log/wtmp

用户每次登录进入和退出时间的永久记录

/var/log/lastlog

记录所有用户的最近信息。

通常日志文件都会存放在/var/log/ 文件夹下

对linux日志有所熟悉,才能在需要的时候快速地找出问题所在,及时解决问题。

日志分析

在日志分析的过程中,大部分日志文件都可以通过使用cat、tail、more等文本处理工具就可以查看日志内容。举例栗子:

针对secure日志,可以使用grep、awk、sort等命令工具对secure日志进行分析,

例如

1. 定位有多少个IP对root帐号进行爆破

代码语言:javascript复制
grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more

2. 对爆破的IP进行定位

代码语言:javascript复制
grep "Failed password" /var/log/secure | grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" | uniq -c

3. 登录成功的日期、用户名、IP

代码语言:javascript复制
grep "Accepted" /var/log/secure | awk '{print $1,$2,$3,$9,$11}'

4.增加和删除用户

代码语言:javascript复制
grep “useradd”or “userdel”/var/log/secure

针对应用程序的日志,也可以使用以上命令组合使用。如果日志容量过大的话,可以使用split命令工具对其进行分割,对应的命令为 split -b ***MB/BB/KB filename -d -a 数字后缀长度 文件名前缀,例如:

代码语言:javascript复制
split -b 5MB /var/log/message -d -a 2 message

如果服务器是通过网站被入侵的情况下,可以把应用程序的access.log日志中状态码为200的记录,grep定向到文本中,再进行整理分析,这样能快速地入侵定位IP、上传的文件等。

代码语言:javascript复制
grep " 200 " *.log > *.log

针对用户日志的话,只能使用last,w,who等命令工具进行分析。例如我们对wtmp日志进行查看,使用last -f wtmp

last 可以添加-t参数,查看特定日期之前登录的IP等信息。

我学会了你呢?


Nfuzz:

2020-3-11更新,修复报错,目录扫描模块修改(现 在 目 录 扫 描 也 需 要 "FUZZ" 占位符)

项目地址:http://www.khan.org.cn/index.php/2020/03/12/nfuzz/

https://github.com/n00B-ToT/nfuzz

0 人点赞