一分钟Linux日志分析

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Linux日志分析

 当服务器发生错误或被攻击的情况下,可以通过查看日志,迅速定位、及时解决故障。

640.png

日志类型

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

内核和系统日志:这种日志主要由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/ 文件夹下

 640.png

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

日志分析

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

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

例如

1. 定位有多少个IProot帐号进行爆破

grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more

2. 对爆破的IP进行定位

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

grep "Accepted" /var/log/secure | awk '{print $1,$2,$3,$9,$11}'

4.增加和删除用户

grep “useradd”or “userdel”/var/log/secure

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

split -b 5MB /var/log/message -d -a 2 message

640.jpg

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

grep " 200 " *.log > *.log

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

 640.jpg

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

Nfuzz:

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

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

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


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
3月前
|
存储 监控 安全
在Linux中,如何进行日志审计?
在Linux中,如何进行日志审计?
|
10天前
|
监控 Linux 开发者
如何在 Linux 中优雅的使用 head 命令,用来看日志简直溜的不行
`head` 命令是 Linux 系统中一个非常实用的工具,用于快速查看文件的开头部分内容。本文介绍了 `head` 命令的基本用法、高级用法、实际应用案例及注意事项,帮助用户高效处理文件和日志,提升工作效率。
22 7
|
1月前
|
监控 网络协议 安全
Linux系统日志管理
Linux系统日志管理
42 3
|
1月前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控总结
Linux系统命令与网络,磁盘和日志监控总结
55 0
|
1月前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控三
Linux系统命令与网络,磁盘和日志监控三
38 0
|
3月前
|
缓存 NoSQL Linux
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
128 1
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
|
3月前
|
Ubuntu Linux 测试技术
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
|
3月前
|
应用服务中间件 Linux nginx
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
|
3月前
|
监控 安全 Linux
在Linux中,某个账号登陆linux后,系统会在哪些日志文件中记录相关信息?
在Linux中,某个账号登陆linux后,系统会在哪些日志文件中记录相关信息?
|
3月前
|
运维 监控 Ubuntu
在Linux中,如何查看系统日志文件?
在Linux中,如何查看系统日志文件?