Linux 日志 | 常用系统日志

为了保证 Linux 系统正常运行,遇到问题时能及时解决,高效分析系统日志是非常必要的。

Linux 系统中的日志驱动进程通常为 syslog,系统日志都可在 syslog 配置文件中配置。

我们可以通过调用 syslog 的接口进行 log,syslogd 在取到 log 后进行处理,根据配置,将 log 保存到本地或发送到其他服务器上。

默认配置下,系统日志保存在 /var/log/ 目录下。

不同系统,不同版本略有差异,本文系统信息:
image


/var/log/audit/audit.log

  • 记录系统内核、内核、用户进程的行为事件

  • 是 Linux 安全体系的重要部分

  • 比 message 记录更详细的信息,可以

    • 查看文件权限

    • 监控系统调用

    • 记录用户指令

    • 记录系统安全事件

    • 监控网络访问


/var/log/boot.log

image

  • 记录开机自检过程显示的信息

/var/log/btmp

  • 记录登录失败的用户信息、时间及远程 ip

  • 通过 lastb 命令查看内容


/var/log/cron

  • 记录 crontab 执行情况

  • crontab 误删后可以根据日志快速回复命令及调度周期

  • 系统被植入恶意定时任务,通过日志内容确定受影响时间段,从而对症下药


/var/log/dmesg

  • 记录系统开机时,内核自检信息

  • 可以用 dmesg 命令查看


/var/log/lastlog

  • 记录最后一次登录的时间、IP 等信息

  • lastlog 命令查看,会根据 UID 排序显示


/var/log/maillog

  • 记录邮件收发详细信息

/var/log/messages

  • 记录内核消息及各种应用程序的日志信息,包括:启动、IO 错误、网络错误、程序自定义日志等

/var/log/secure

  • 系统安全日志,记录用户登录认证情况,如 pop3、ssh、telnet、ftp 等记录

  • 只要涉及到需要账号密码的操作,不管成功与否都会记录


/var/log/wtmp

image

  • 永久记录每个用户登录注销及系统启动停机事件

  • log 文件无法直接打开查看,用 last 命令查看文件信息

  • 上图中每列分别显示用户名、端口、从哪儿登录、登录时间、登出时间、登录时长

  • 用户登录时,

    • login 程序在 lastlog 中查看用户的 UID,存在则把用户上次登录、注销时间和主机名写到标准输出,

    • 然后在 lastlog 中记录新的登录时间,

    • 接着在 utmp 日志中记录用户新的登陆记录,在 wtmp 追加用户的登录记录。

    • 当用户退出时,更新 wtmp 记录。最后在 utmp 日志中删除该用户对应的登陆记录


/var/run/utmp

  • 记录当前登录的用户信息

  • 文件不能直接打开查看,原理可执行命令查看 man utmp

  • 查询当前用户信息的命令执行结果就从这个 log 中取得,如:who/w/users



各种日志对于应急响应非常重要,

及时做好备份,避免恶意篡改,无法还原真相

也有停止生成日志的方法,安全意识要加强

posted @ 2023-05-05 16:09  菜乌  阅读(3090)  评论(0编辑  收藏  举报