Linux 日志系统及分析
简介
在Centos 7.x / RHEL 7.x 的版本,系统日志是由一个名为 rsyslog的服务管理的,默认的日志守护进程为 rsyslog , rsyslog 是 syslog 的升级版本,默认安装,随机启动。
主配置文件:
/etc/rsyslog.conf
Linux系统日志的重要性无需多言,日志对管理员来说,是了解系统运行的主要途径,因此需要对 Linux 日志系统有个详细的了解。
Linux 系统内核和许多程序会产生各种错误信息、告警信息和其他的提示信息,这些各种信息都应该记录到日志文件中,完成这个过程的程序就是 rsyslog,rsyslog 可以根据日志的类别和优先级将日志保存到不同的文件中。
日志类型
常见的日志类型:
日志的优先级
常见的日志优先级:
常见的日志文件
系统日志一般存储于 /var/log 目录下,查看 rsyslog.conf:
通过查看 rsyslog.conf 可以总结出部分日志文件记录的信息。
/var/log/message:记录Linux操作系统常见的系统和服务错误信息
/var/log/boot.log:录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息
/var/log/lastlog :记录最后一次用户成功登陆的时间、登陆IP等信息(一般通过命令 lastlog 查看)
/var/log/secure :Linux系统安全日志,记录用户和工作组变坏情况、用户登陆认证情况
/var/log/btmp :记录Linux登陆失败的用户、时间以及远程IP地址
/var/log/wtmp:该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件,使用last命令查看
/var/log/message
记录了系统日常的一些操作,内核态和用户态的信息都有,对于这个文件,我们日常只需要关注一些错误和告警信息:
[root@192.168.118.15 ~]#egrep -ri 'error|warn' /var/log/messages
这里有必要记录下最近查看 messsage 遇到的问题:
查看 message 时,发现了大量 类似 开启 session 会话的东西,一看是 root 立刻提高警惕。查看时间,发现规律:每 10 分钟执行一次,因此怀疑是 crond 计划任务,转而查看 /var/log/cron 日志:
查看后,发现时间刚好能匹配上。分析:
- cron 每小时默认每小时执行的任务在 /etc/cron.hourly/ 目录下
- 每十分钟执行的命令: /usr/lib64/sa/sa1 1 1
归根到底,我们发现原来是 sysstat 包生成的这个计划任务,每10分钟就会去执行一次,这个命令是为了收集系统运行数据,以供 sar 命令使用。
该疑问解除,又产生了疑问:
- 为什么会产生这样的 session 日志?
- 如果正常登录系统,会怎么记录 session
第一个问题:
经过测试,这种会话的产生是系统执行了一个 bash脚本,查看了一个新的bash环境。执行完毕就退出了,关键字(starting、started)
如下的日志,表示运行了一个shell脚本,starting开启一个shell,started的时候结束一个shell
而真正登录一个会话,会有一个 logind 的过程记录:
因此不要胡乱猜测是谁在不停的扫描或者在不停的通过 root 登录。
/var/log/boot.log
该日志记录的是系统启动的过程
可以通过该日志,查看某些服务启动成功或者失败。
/var/log/lastlog
不用直接查看该日志文件,通过命令:lastlog 查看:
查看的某系统用户最后一次登录的记录,一些系统用户从来不登录最后一次就是 **Never logged in**
通过 last 可以查看那些会话在线,什么时候重启。记录了登录会话的时间,但是无法查看是哪个用户执行了重启的操作。
/var/log/secure
主要记录用户登录认证。
如果出现大量: authentication failure; 就表示有程序或者人为在尝试登录。可以通过加强 ssh 或者 iptables 来管控登录次数。
/var/log/btmp
记录Linux登陆失败的用户、时间以及远程IP地址
该文件是一个二进制保存的文件,直接使用 lastb 命令查看。如果该日志文件过大,可以清空该文件。
上图所有记录的信息都是尝试登录失败的记录。
/var/log/wtmp
该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件,使用last命令查看
直接使用 last 命令查看:
Linux 日志系统及分析的更多相关文章
- Android应用程序框架层和系统运行库层日志系统源代码分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6598703 在开发Android应用程序时,少 ...
- Linux日志 系统日志及分析
Linux系统拥有非常灵活和强大的日志功能,可以保存几乎所有的操作记录,并可以从中检索出我们需要的信息. 大部分Linux发行版默认的日志守护进程为 syslog,位于 /etc/syslog 或 / ...
- Linux日志系统
常见的日志 常见的日志一般存储在/var/log中.常见的日志查看使用:ls/ll,cat/more/less查看即可:wtmp,lastlog使用last和lastlog提取其信息即可 配置日志 较 ...
- linux日志朔源分析记录
lastlog 记录用户最后一次登录情况 只有root最近登录过 lastlog -u 用户名或者uid uid 直接在passwd文件中的低三位可以看到 lastb 记录用户用户登录失败的用户记录, ...
- 升级你的Linux日志系统
650) this.width=650;" onclick='window.open("http://blog.51cto.com/viewpic.php?refimg=" ...
- Linux日志分析的实战专题
来自 日志也是用户应该注意的地方之一.不要低估日志文件对网络安全的重要作用,因为日志文件能够详细记录系统每天发生的各种各样的事件.用户可以通过日志文件 检查错误产生的原因,或者在受到攻击和黑客入侵 ...
- Android日志系统Logcat源代码简要分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6606957 在前面两篇文章Android日志系 ...
- Linux系统级日志系统
linux日志系统,在不同的发行版本名字不同.本质一样都是对系统运行非正常状态的记录... rhel5.x syslogrhel6.x rsyslog service rsyslog st ...
- Linux - 日志文件
Linux日志文件绝大多数存放在/var/log目录,其中一些日志文件由应用程序创建,其他的则通过syslog来创建. Linux系统日志文件通过syslog守护程序在syslog套接字/dev/lo ...
随机推荐
- 【题解】SDOI2009Bill的挑战
这题好像状压的做法比较的无脑?但想记录一下容斥的做法,感觉自己对于容斥简直一无所知.这道题目容斥的解法我也是看了题解才会的.如有雷同,是我看的(*/ω\*)我们可以首先枚举当前字符串与给定的哪 \(k ...
- Android 数据库升级中数据保持和导入已有数据库
一.数据库升级: 在我们的程序中,或多或少都会涉及到数据库,使用数据库必定会涉及到数据库的升级,数据库升级带来的一些问题,如旧版本数据库的数据记录的保持,对新表的字段的添加等等一系列问题,还记得当我来 ...
- BZOJ3236:[AHOI2013]作业——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=3236 第一种做法: 建两棵主席树分别处理两个问题. 第一个问题水,第二个问题参考SPOJ3267/ ...
- 怎么使用formBuilder以拖拽方式编写页面
1.以admin用户登录系统,打开formbuilder http://localhost:8081/framework/main/formbuilder 2.从右方组件中,用鼠标拖拽页面所需的组件到 ...
- 题解【luoguP3644 [APIO2015]八邻旁之桥】
题目链接 题解 家和公司在同侧 简单,直接预处理掉 若 \(k=1\) 取所有的居民的\(\frac{家坐标+公司坐标}{2}\)的所有坐标的正中间建一座桥,使所有居民到的距离最小. 实现方法:线段树 ...
- book_notes
http://139.196.8.158/ https://caomall.worktile.com/tasks/projects/58fd73047619c44427c0d719 http://lo ...
- ELK6.0环境搭建及配置
ELK环境搭建及配置 ElasticSearch在5.x后的安装和插件的官方执行更好了,head插件官方默认集成在kibana的dev tools里,支持rpm包方式安装,x-pack安装后支持权限及 ...
- Android之实现定位
基于android的定位无非就两种:network.gps.两者各有优劣. Network:定位快,准确度低,受环境影响小. GPS:定位慢,准确度高,受环境影响大. 本文要解决的问题: 1. ...
- UVA 1648 Business Center
https://vjudge.net/problem/UVA-1648 设上升x层,列个方程解出来,再把x带回去 #include<cmath> #include<cstdio> ...
- elasticsearch中Node的创建
要连接到集群,首先要告诉集群:你是谁,你有什么特征.在es中体现为实例化节点,elasticsearch通过org.elasticsearch.node.NodeBuilder的build()或者no ...