分享

Linux 日志系统及分析

 XeonGate 2020-03-25

简介

https://www.cnblogs.com/hukey/p/10108811.html

在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 日志:


查看后,发现时间刚好能匹配上。分析:

  1. cron 每小时默认每小时执行的任务在 /etc/cron.hourly/ 目录下
  2. 每十分钟执行的命令: /usr/lib64/sa/sa1 1 1

 

归根到底,我们发现原来是 sysstat 包生成的这个计划任务,每10分钟就会去执行一次,这个命令是为了收集系统运行数据,以供 sar 命令使用。

该疑问解除,又产生了疑问:

  1.   为什么会产生这样的 session 日志?
  2.   如果正常登录系统,会怎么记录 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 命令查看:

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多