导出哪些日志
Linux 侧的日志导出要覆盖三类:audit.log 审计记录、syslog 族日志(messages、secure 或 auth.log)、以及 wtmp、btmp、lastlog 这类二进制登录记录。打包后计算哈希并标明采集时间窗。
二进制记录容易被漏
wtmp、btmp 与 lastlog 保存登录成功、失败与最后一次登录的信息,是判断爆破与登录来源的重要材料。它们不能用文本方式处理,必须保留原始格式复制。
基本信息
| 文本日志 | /var/log/audit/audit.log、messages、secure 或 auth.log |
|---|---|
| 二进制记录 | wtmp、btmp、lastlog |
| journal | journalctl 可按时间窗导出为文本 |
| 打包方式 | tar 打包后计算 sha256 并登记清单 |
| 属性保留 | 用 cp -a 或 tar 保留权限与时间戳 |
| 权限要求 | 读取审计与认证日志需 root |
典型使用场景
- 事件处置时系统化固定日志证据
- 移交分析前保证文件完整
- 还原登录与提权时间线
- 满足合规留存与审计要求
- 与其他证据一起登记清单
打包日志并导出 journal
打包日志并导出 journal
tar -zcf /evidence/logs_$(date +%F_%H%M).tgz /var/log/audit /var/log/messages /var/log/secure /var/log/wtmp /var/log/btmp 2>/dev/null
sha256sum /evidence/logs_*.tgz > /evidence/logs.sha256
journalctl --since "2026-10-01" --no-pager > /evidence/journal_dump.txt
ls -la /var/log/ | head -n 30
last -Fai | head -n 20输出逐列读法
| 检查项 | 含义 | 正常/异常 |
|---|---|---|
| 日志文件时间 | 最后写入时间 | 用于判断该日志是否仍在记录 |
| 打包体积 | 与日志总量对应 | 明显过小说明部分文件未被打包 |
| journal 导出内容 | 按时间窗的系统日志 | 与落盘日志互相补充 |
| last 输出 | 登录历史 | 含来源地址与时间,可直接用于时间线 |
wtmp 与 btmp 是二进制文件:用文本方式导出会得到乱码并丢失内容,应用 tar 或 cp -a 直接保留原始文件。
journal 是否持久化取决于配置:未开启持久化时重启后只剩本次启动的记录,缺失部分需要从日志转发或集中日志系统中补齐。
容易漏掉的日志来源
- 容器与编排平台的日志需要单独导出
- Web 与应用服务的日志常在站点目录中
- 登录横幅与登录脚本产生的输出也可能有用
- 内核消息与启动日志可用于确认重启与崩溃
导出后的整理
- 记录采集时间窗与操作人
- 计算并保存每个打包文件的哈希
- 在清单中注明每个文件的来源主机
- 把副本分别存放在不同介质上