事件时间线记录方法
时间线记录的做法很简单:在处置过程中,每做一步就按固定格式写一行,内容包括 UTC 时间、主机、动作、结果与操作人。它的价值在事后才完全体现——复盘、取证报告与对外沟通都要靠这张表。关键要求是「先记录后执行」:动作一旦先做,原因与当时的判断依据就会被遗忘,写出来的只是不完整的回忆。
基本信息
| 记录格式 | UTC 时间 + 主机 + 动作 + 结果 + 操作人 |
|---|---|
| 载体 | 独立日志文件,处置结束后随证据一起归档 |
| 时间要求 | 先记录后执行,禁止事后补记 |
| 时区要求 | 统一 UTC;若必须用本地时间,每条都要显式标注时区 |
| 用途 | 复盘、取证报告、对外沟通、事件归档 |
| 配套记录 | 决策依据与授权过程也要记,不只是技术动作 |
典型使用场景
- 多人协作处置时保持动作顺序清晰可查
- 为事后复盘提供事实基础,避免靠记忆争论
- 向管理层或监管提交材料时附上时间线
- 跨团队交接时让对方快速了解已完成与未完成事项
- 把技术动作与决策依据对应起来,评估当时判断是否合理
一行一条,边处置边记录
一行一条,边处置边记录
date -u '+%F %T UTC' # 先看时间基准
export HISTTIMEFORMAT='%F %T ' # 让命令历史带时间戳
log=/evidence/ir_timeline.log
printf '%s | %s | %s | %s | %s\n' "$(date -u +%FT%TZ)" "web01" "隔离主机" "已断网并保留管理口" "zhang" | tee -a $log
printf '%s | %s | %s | %s | %s\n' "$(date -u +%FT%TZ)" "web01" "采集快照" "连接与进程已落盘" "zhang" | tee -a $log
wc -l $log # 行数就是动作数,便于复盘核对建议字段
| 字段 | 示例 | 作用 |
|---|---|---|
| 时间 | 2026-10-13T02:15:00Z | 统一基准,可直接排序 |
| 主机或资产 | web01、10.0.0.12 | 定位动作发生在哪台设备 |
| 动作 | 停机、隔离、采集、封禁 | 说明做了什么 |
| 结果 | 成功、失败、待验证 | 说明做到了什么程度 |
| 操作人 | 姓名或值班代号 | 责任可追溯 |
| 依据 | 告警编号、上级指令 | 说明为什么这么做 |
时区不统一是复盘最大的坑:主机日志常用本地时间,采集脚本习惯写 UTC,两者混在同一条时间线里会让先后顺序整体错乱。统一用 UTC,或在每条记录里显式标注时区。
时间线只记技术动作是不够的:谁批准的隔离、为什么决定不关机、为什么选择这个时间点恢复业务,这些决策记录在复盘与对外沟通时同样被追问,缺了就讲不完整。