文章目录
- 1. 基本介绍
- 2. 系统常用的日志
- 3. 日志管理服务 rsyslogd
1. 基本介绍
- 日志文件是重要的系统信息文件,其中记录了许多重要的系统事件,包括用户的登录信息、系统的启动信息、系统的安全信息、邮件相关信息、各种服务相关信息等。
- 日志对于安全来说也很重要,它记录了系统每天发生的各种事情,通过日志来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。
- 可以这样理解: 日志是用来记录重大事件的工具
2. 系统常用的日志
- /
var/log/
目录就是系统日志文件的保存位置,看张图
- 系统常用的日志
- 如查看
lastlog
日志,打开的时候不能使用cat
等命令,直接lastlog
就能查看了,可以清晰地看到最后一次用户登录的信息等
应用案例
-
使用
root
用户通过 xshell 登陆,第一次使用错误的密码,第二次使用正确的密码登录成功,看看在日志文件/var/log/secure
里有没有记录相关信息 -
由于现在
secure
信息太多了,先清空下:
echo '' > secure
- 先输入 两次错误 的密码
- 再输入 一次正确 的密码登录成功
- 查看
secure
日志记录了什么信息,分别记录了两次失败的登录和一次成功的登录
- 可以通过
secure
查看相关的安全方面的日志信息
3. 日志管理服务 rsyslogd
-
CentOS 7.6 日志服务是
rsyslogd
, CentOS 6.x 日志服务是syslogd
。 -
rsyslogd
功能更强大。rsyslogd
的使用、日志文件的格式,和syslogd
服务是兼容的。 -
原理示意图:
-
查看
rsyslogd
配置文件
more /etc/rsyslog.conf
- 查询 Linux 中的
rsyslogd
服务是否启动
ps aux | grep "rsyslog" | grep -v "grep"
-v 表示反向选择,挑选出前面不包含 grep
man grep 查看该参数的含义
- 查询
rsyslogd
服务的自启动状态
systemctl list-unit-files | grep rsyslog
- 配置文件:
/etc/rsyslog.conf
- 编辑文件时的格式为:
*.*
存放日志文件 - 其中第一个
*
代表日志类型,第二个*
代表日志级别
- 日志类型分为:
auth ## pam 产生的日志
authpriv ##ssh、ftp 等登录信息的验证信息
corn ##时间任务相关
kern ##内核
lpr ##打印
mail ##邮件
mark(syslog)-rsyslog ##服务内部的信息,时间标识
news ##新闻组
user ##用户程序产生的相关信息
uucp ##unix to nuix copy 主机之间相关的通信
local 1-7 ##自定义的日志设备
- 日志级别分为:
debug ##有调试信息的,日志通信最多
info ##一般信息日志,最常用
notice ##最具有重要性的普通条件的信息
warning ##警告级别
err ##错误级别,阻止某个功能或者模块不能正常工作的信息
crit ##严重级别,阻止整个系统或者整个软件不能正常工作的信息
alert ##需要立刻修改的信息
emerg ##内核崩溃等重要信息
none ##什么都不记录注意:从上到下,级别从低到高,记录信息越来越少
-
如:
local7
表示日志类型,后面的*
表示任何一个级别的日志都需要记录
-
日志服务
rsyslogd
记录的日志文件,日志文件的格式包含以下四列:
1) 事件产生的时间
2) 产生事件的服务器的主机名
3) 产生事件的服务名或程序名
4) 事件的具体信息
- 日志如何查看实例
/var/log/secure
日志,这个日志中记录的是用户验证和授权方面的信息
- 日志管理服务应用实例
在/etc/rsyslog.conf
中添加一个日志文件/var/log/xdr.log
,当有事件发送时(比如 sshd 服务相关事件),该文件会接收到信息并保存,(重启、登录的情况),看是否有日志保存
-
如:增加所有类型和级别都记录的情况
-
创建日志文件:
> /var/log/xdr.log
- 重启:
reboot
- 查看 sshd 服务相关的信息
cat xdr.log | grep sshd
- 上面自定义的类型和级别可以根据自身想要的情况去设置