首页/安全/取证与溯源速查/wtmp 与认证日志联合核对
Linux 取证135 条

wtmp 与认证日志联合核对

last 输出与会话日志按时间对齐,可验证两端记录是否一致:登录时刻、来源主机与终端号都是对齐的锚点。

取证与溯源速查安全更新于 2026-10-13

wtmp 与认证日志互校

wtmp 记录会话的建立与结束,认证日志记录认证过程,两者来源不同、更新方式也不同。配合使用能发现单看一份看不出的缺口:如果 wtmp 里有登录记录而认证日志没有对应的成功行,说明日志链路存在问题或者被清理过。

基本信息

一侧last -F,输出含来源主机与完整时间
另一侧auth.log 或 secure 中的 Accepted 行
对齐键时间、用户名、来源地址与终端
观察点两侧条数与时间是否吻合
常见差异日志轮转、远端转发中断、系统时钟跳变
权限要求读取 wtmp 与认证日志通常需要 root

典型使用场景

  • 交叉验证登录记录的真实性
  • 发现认证日志被删改的线索
  • 确认会话的结束时间
  • 处理时钟跳变导致的时间错位
  • 为报告提供双来源支撑的登录证据

最小示例

最小示例
last -F | head -10                                   # wtmp 侧记录,含来源与完整时间
grep -E 'Accepted (password|publickey)' /var/log/auth.log | tail -10
grep -c 'Accepted password' /var/log/auth.log        # 认证侧成功条数
last -F | grep -c 'still logged in'                  # 仍在线的会话数
utmpdump /var/log/wtmp | tail -10                    # 二进制原始记录
journalctl -u sshd --since today | tail -20          # journal 环境下的另一视图

观察点与处理

观察点含义处理方式
时间与账号两侧应对应先排查时区与时钟是否一致
来源地址wtmp 中的来源字段与认证日志来源逐条比对
条数差异两侧统计不一致确认轮转与日志保存位置
结束时间wtmp 的会话结束记录缺失时用近似边界并注明
still logged in未正常注销断电或崩溃会留下这种状态
wtmp 有登录记录而认证日志缺失对应行时,说明日志链路存在缺口或被清理,这个差异本身就是一个重要发现。
来源字段可能为空:本地控制台登录不记录主机,比对时应改用终端字段而不是来源地址。
系统时间被调整过时两侧时间必然对不上,先确认时钟来源与调整记录,再判断是否属于证据矛盾。
不要手动编辑 wtmp 或认证日志来对齐数据:任何改动都会破坏原始性,使后续比对失去意义。

易错点

  • 只信一份日志:单侧记录证明不了完整性,两份互校才能发现缺口
  • 忽略时区与时钟跳变:时间对不上时先排查时钟,直接判定日志被删会得出错误结论
  • 忘记轮转文件:认证日志被轮转后条数自然减少,与 wtmp 的差异不等于异常
  • 编辑日志来对齐数据:破坏原始性,也令后续所有比对失去价值

数据来源与参考

  • util-linux 手册(last(1))
  • OpenSSH 手册(sshd 日志)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌