1. 基本介绍
1) 日志文件是重要的系统信息文件,其中记录了许多重要的系统事件,包括用户的登录信息、系统的启动信息、系统的安全信息、邮件相关信息、各种服务相关信息等。
2) 日志对于安全来说也很重要,它记录了系统每天发生的各种事情,通过日志来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。
3) 可以这样理解: 日志是用来记录重大事件的工具
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
- 编辑文件时的格式为:
*.*
存放日志文件 - 其中第一个
*
代表日志类型,第二个*
代表日志级别
1) 日志类型分为:
auth ## pam 产生的日志
authpriv ##ssh、ftp 等登录信息的验证信息
corn ##时间任务相关
kern ##内核
lpr ##打印
mail ##邮件
mark(syslog)-rsyslog ##服务内部的信息,时间标识
news ##新闻组
user ##用户程序产生的相关信息
uucp ##unix to nuix copy 主机之间相关的通信
local 1-7 ##自定义的日志设备
2) 日志级别分为:
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
- 上面自定义的类型和级别可以根据自身想要的情况去设置