linux系统日志文件的详细介绍

日志文件的作用

日志文件用于记录linux系统的各种运行信息的文件,相当于linux主机的日记,不同的日志文件记载了不同类型的信息,如Linux内核消息、用户登录事件、程序错误等。.
日志文件对于诊断和解决问题很有帮助,因为linux运行的程序通常把系统的消息和错误写入对应的日志文件,这样系统可以有据可查, 此外,当主机遭受攻击时,日志文件还可以帮助寻找攻击者留下的痕迹。

日志文件的分类

1.内核及系统日志:
内核及系统日志:这种日志数据由系统服务rsyslog同-管理,根据其主配置文件/etc/rsyslog.conf中的设置决定将内核消息及各种系统程序消息记录到什么位置。系统中大部分的程序会把自己的日志文件交由rsyslog管理,因而这些应用程序使用的日志记录格式都很相似。

/etc/rsyslog.conf 常见配置格式为:
. 比后面等级高的(包含自己) *.info
.= 只记录该等级 .=debug
! 除了该等级都记录 ! info

  • 有记录需要记录时,先缓存到一定大小,一次性写入

2.用户日志:
用于记录Linux系统用户登录及退出系统的相关信息,包括用户名、登录的终端、登录时间、来源主机、正在使用的进程操作等。
3.程序旧志
:有些应用程序会选择独立管理一份日志文件 ,而不是交给rsyslog服务管理,用于记录本程序运行过程中的各种事件信息。于这些程序只负责管理自己的日志文件,因此不同程序所使用的日志记录格式也会存在较大的差异。

日志文件的位置

Linux系统本身和大部分服务器程序的日志文件默认放在/var/log/下。
部分程序共用一个日志文件,一部分程序使用单个日志文件。
而有些大型服务器程序日志由于日志文件不止一个,所以会在/var/log/目录中建立相应的子绿来存放日志文件,这样既保证了日志文件目录的结构清晰,又可以快速定位日志文件。有一部分日志文件只有root用户才有权限读取,这保证了相关日志信息的安全性。

常见的日志文件及查看方式

日志文件 存放内容
/var/log/message 内核消息及各种应用程序的公共日志信息,包括启动、I/O错误、 网络错误、
/var/log/cron Crond周期性计划任务产生的时间信息
/var/log/dmesg 弓|导过程中的各种时间信息
/var/log/ maillog 进入或发出系统的电子邮件活动
/var/log/lastlog 每个用户最近的登录事件
/var/log/secure 用户认证相关的安全事件信息
/var/log/wtmp 每个用户登录注销及系统启动和停机事件
/var/log/btmp 失败的、错误的登录尝试及验证事件

做一个表格,便于查看:
在这里插入图片描述

日志消息的级别

根据日志信息的重要程度不同,分为不同的级别
数字级别越小,优先级越高,消息越重要
级别 英文表示 意义
0 EMERG(紧急) 导致主机系统不可用的情况
1 ALERT(警告) 必须马上采取解决措施
2 CRIT 严重 比较严重的情况
3 ERR 错误 运行出现错误
4 WARNING 提醒 提醒用户的重要事件
5 NOTICE 注意 不会儿影响系统,提醒用户
6 INFO 信息 一般信息
7 DEBUG 调式 程序调式
8 None 没有 不做记录
在这里插入图片描述
[root@localhost ~]#grep -E -iw “emerg|alert|critical|error” /var/log/messages 查看出现的重大的错误

日志文件分析

内核及大多数系统消息
内核及系统日志主要由默认安装的rsyslog软件包提供, rsyslog服务所使用的配置文件为/etc/rsyslog.conf ,通过查看配置文件内容可以了解到系统默认的日志位置。

[root@localhost ~]# grep -Ev “$|#” /etc/rsyslog.conf
在这里插入图片描述
可以看出大部分存放到公共日志文件/var/log/message中,其他的日志文件直接发送给用户或者放到自己独立的日志文件中

[root@localhost ~]# tail -f /var/log/messages
在这里插入图片描述
时间标签:消息发出的日期时间
主机名 生产消息的计算机的名称
子系统名称:发出消息的应用程序的名称
消息 消息级别的具体内容

扫描二维码关注公众号,回复: 9637921 查看本文章

rsyslog日志服务是一个常会被攻击的目标,破坏了它将使运维员很难发现入侵及入侵的痕,因此要特别注意监控其守护进程及配置文件。

用户日志:

存放位置: /var/og/wtmp. /var/log/btmp、 /var/log/lastlog
查询命令: users、who、w、last、 lastlog、 lastb等
users命令:只是简单的输出当前登录的用户名, 每个显示的用户名对应一个会话。

who命令:报告当前登录到系统的每个用户的信息,包括用户名,终端,登录日期,远程主机

w 显示当前操作系统的每个用户及其远程所运行的进程信息

last命令:用于查询成功登录到系统的用户记录,最近的登录情况在最前面。
通过last命令可以及时掌握Linux主机的登录情况,若发现未经授权的用户登陆过,则表示当前主机可能已被入侵。
-a :把从何处登录系统的主机名称或IP地址,显示在最后一 行
-d :将IP地址转换成主机名称
-f 记录文件] :指定记录文件
-R :不显示登入系统的主机名称或IP地址
-x :显示系统关闭,重新开机,以及执行等级的改变等
-n : n代表数字,表示最近n次登录的记录

lastlog命令:用于显示系统中所有用户最近一次登录信息

lastb命令:用于显显用户错误的登录列表,此指令可以发现系统的登录异常。如登录的用户名错误,密码不正确等情况都会记录在案,登录失败的情况属于安全事件,因此消失可能有人在尝试破解密码。除了使用lastb命令以外,可以直接从安全日志文件/var/log/secure中获得相关信息。

分析日志的注意事项

总的来说,作为一名合格的系统管理人员,应该提高警惕,随时注意各种可疑的状况定期并随机的检查各种系统日志文件,包括-般信息日志、 网络连接日志、文件传输日志及用户登录日志记录等。在检查这些日志时,要注 意是否有不合常理的时间或操作记录。
例如出现以下一些现象就应该多加注意:

1用户在非常规的时间登绿,或者用户登录系统的IP地址和以往不一样的

2登录失败的日志记录,尤其是那些一再连续尝试进入 失败的日志记录

3非法使用或不正当使用超级用户权限

4无故或者非法重新启动各项网络服务的记录

5不正常的日志记录,如日志残缺不全,或者是诸如wtmp这样的日志文件无故缺少了中间的记录文件

注意:需要提醒运维人员的是,日志并不是完全可靠的,高明的黑客在入侵系统后经常会打扫现场,所以管理人员需要运用综上的所有知识,全面、综合的进行审查和检测。

日志管理:

针对日志定期备份、异地备份(保留1~3个月的日志记录)

针对日志定期切割

针对日志的权限要严格(为了防止敏感信息泄露)

针对日志做集中管理

对于日志文件的保护

chattr +a日志文件, a选项为append (追加) only ,即给日志文件加上a权限后,将只可以追加,不可以删除和修改之前的内容。
[root@localhost ~]# cp /ar/log/secure ./seccure.txt
[root@localhost ~]# chattr +a /var/log/secure
[root@localhost ~]# Isattr /var/og/secure

[root@localhost ~]# rm -rf /var/log/secure
rm:无法删除’ /var/log/secure":不允许的操作
root用户在v编辑器的命令模式按dd删除了两行内容后进行wq !强制保存退出,也会报错

课外补充: chattr +a -R递归式增加a权限
[root@localhost ~]# Isattr /var/log/

发布了39 篇原创文章 · 获赞 19 · 访问量 2230

猜你喜欢

转载自blog.csdn.net/aaaa_xiebiao/article/details/104661671
今日推荐