1. 主机日志审计与异常检测导论

主机日志是操作系统与运行在其上的服务、应用、驱动在运行过程中留下的结构化或半结构化记录。它不像网络流量那样转瞬即逝,也不像内存取证那样依赖特定时刻,而是以“时间序列证据”的形式长期留存:谁在什么时间、从哪个来源、以什么身份、对哪个对象做了什么、结果如何。安全运营中,主机日志的价值不在于“记录了多少行”,而在于能否把分散的事件还原成一条可解释的行为链。

本课程的目标是建立一条从“日志产生”到“异常判定”的完整能力链:理解主机日志的来源与格式,掌握采集、归一化与存储的基本方法,能够围绕账号、进程、网络、文件、服务等维度设计审计策略,并在此基础上用规则、基线和关联分析识别异常。最终要能回答三个问题:发生了什么(事件还原)、是否正常(基线比对)、是否需要响应(风险判定)。

主机日志在安全运营中的定位

安全运营通常同时依赖网络侧、终端侧与身份侧的数据。主机日志处在“终端侧”的核心位置,它既能提供进程创建、命令行参数、父子进程关系这类高价值细节,也能提供登录失败、权限提升、服务安装、计划任务创建等关键行为。与网络日志相比,主机日志更接近“行为发生地”;与纯告警相比,它更接近“原始证据”。因此,主机日志既是检测的数据源,也是溯源与取证的基础材料。

从数据形态看,主机日志大致分为三类:系统日志(如 Linux 的 syslog、Windows 的事件日志)、安全审计日志(如 auditd、Windows 安全审核策略产生的登录、对象访问、进程跟踪事件)、应用与服务日志(Web、数据库、容器运行时等)。三类日志的字段、时间精度、轮转策略和可信度不同,审计设计时必须先明确“用哪一类日志回答哪一类问题”。

主机日志审计与异常检测:数据源 → 审计 → 检测 → 判定 数据源层 系统日志 syslog / Event Log 安全审计日志 auditd / 安全审核 应用与服务日志 Web / DB / 容器 身份与访问 登录 / 提权 / 令牌 审计层:采集 · 归一化 · 存储 · 策略 采集与转发 Agent / 转发器 / API 字段归一化 时间 / 用户 / 进程 / 对象 存储与检索 索引 / 冷热分层 / 保留 审计策略 范围 / 粒度 / 优先级 检测层:规则 · 基线 · 关联 · 评分 特征规则 已知恶意模式匹配 行为基线 频率 / 时段 / 主体偏离 关联分析 跨主机 / 跨事件链 风险评分 优先级 / 置信度 输出:告警 / 事件 / 证据链 / 响应建议

审计与检测的关系

审计与检测常被混用,但两者解决的问题不同。审计回答“有没有记录、记录得够不够、能不能还原”,关注覆盖范围、字段完整性、时间一致性和留存周期;检测回答“这些记录里有没有可疑行为”,关注规则、基线、关联和评分。审计是检测的前提:如果登录事件没有记录来源 IP,或进程创建没有记录命令行,再好的检测规则也无法落地。反过来,检测会不断暴露审计盲区,例如某类横向移动行为无法判定,往往是因为缺少远程服务创建或计划任务的日志。

因此,实际工作中应把两者当作一个闭环:先根据检测需求定义审计策略,再用检测结果反推审计缺口,最后通过调优采集范围和字段补齐来收敛。这个闭环不是一次性的,而是随资产变化、攻击手法变化持续迭代。

典型应用场景

主机日志审计与异常检测的典型场景包括:账号安全(暴力破解、异常时段登录、特权账号滥用)、进程与命令执行(可疑命令行、异常父进程、无文件执行)、持久化(计划任务、服务安装、启动项修改)、横向移动(远程登录、远程服务创建、凭据传递)、数据访问与外传(敏感文件读取、异常压缩与上传)。这些场景的共同点是:单条日志往往不足以定性,需要把多个事件按主体、时间、主机串联起来看。

教学示例:假设某 Linux 主机在 02:13 出现 5 次 SSH 登录失败,随后 02:15 出现一次成功登录,02:16 出现 sudo 提权,02:18 创建了一个 /tmp/.cache 可执行文件并加入 crontab。单看每条日志都可能是正常运维,但按时间链关联后,就构成“爆破成功 → 提权 → 持久化”的高风险序列。这里的参数与时间均为示例,用于说明关联思路。

合规要求与落地要点

合规要求通常从三个维度约束主机日志:记录范围(哪些行为必须留痕)、留存周期(日志保存多久)、完整性(防篡改、可追溯)。常见要求包括:对特权操作、登录认证、对象访问、策略变更进行审计;日志集中存储并设置访问控制;时间同步以保证跨主机事件可关联。落地时,建议先明确“关键资产清单”和“关键行为清单”,再据此配置审计策略,避免全量采集导致成本失控、关键事件被淹没。

一个可执行的起步做法是:对核心服务器开启登录、提权、进程创建、服务与计划任务变更四类审计;统一时间源;将日志转发到集中平台并保留至少 90 天热存储、更长周期冷存储;为每类关键行为定义一条最小检测规则,并记录规则对应的日志字段来源。这样既能满足基本合规,也能为后续异常检测提供可用的数据基础。

注意:审计策略过粗会漏掉关键行为,过细会带来性能开销与噪声。应优先保证“关键主体 + 关键对象 + 关键结果”三类字段完整,而不是盲目扩大采集范围。