2. 日志检索基础:日志的定义、分类与格式标准
2.1 日志的定义与核心价值
在信息安全与系统运维领域,日志(Log)是系统、设备或应用程序按时间顺序自动生成的、记录事件发生过程的数据集合。每一条日志都是对某一时刻系统状态或用户行为的客观描述。
核心价值:日志是安全审计、故障排查、合规取证和性能分析的唯一可信数据源。没有日志,安全事件将无法追溯,系统故障将难以定位。
2.2 日志的分类
根据来源和用途,日志通常分为以下三大类:
| 分类 | 来源 | 典型内容 | 示例 |
|---|---|---|---|
| 系统日志 | 操作系统、硬件驱动、内核 | 启动/关机、硬件错误、驱动加载、内核告警 | Windows 事件日志(Event ID 41)、Linux /var/log/messages |
| 应用日志 | 业务软件、中间件、数据库 | 用户登录、交易记录、API 调用、异常堆栈 | Web 服务器 access.log、数据库 slow query log |
| 安全日志 | 防火墙、IDS/IPS、VPN、准入网关 | 登录失败、权限变更、网络攻击、策略阻断 | 防火墙 deny 记录、AD 域控登录审计 |
分类要点:系统日志关注“机器健康”,应用日志关注“业务行为”,安全日志关注“威胁与合规”。在准入门禁场景中,安全日志是权限审计的核心依据。
2.3 日志格式标准
为了在不同系统间实现日志的统一采集、解析和关联分析,业界形成了三种主流格式标准:
2.3.1 Syslog(RFC 5424)
Syslog 是最传统的日志传输协议,采用纯文本格式,以空格和冒号分隔字段。其基本结构为:
<PRI>TIMESTAMP HOSTNAME APP_NAME PROCID MSGID STRUCTURED-DATA MSG
示例:
<34>2025-03-21T10:15:30Z srv-auth01 sshd[1234]: Failed password for root from 192.168.1.100 port 22 ssh2
2.3.2 JSON(JavaScript Object Notation)
JSON 格式以键值对结构存储日志,易于程序解析和嵌套。现代云原生和 API 网关普遍采用此格式。
示例:
{
"timestamp": "2025-03-21T10:15:30.123Z",
"host": "srv-auth01",
"source": "sshd",
"event": "authentication_failure",
"user": "root",
"src_ip": "192.168.1.100",
"port": 22,
"severity": "error"
}
2.3.3 CEF(Common Event Format)
CEF 由 ArcSight 定义,专为安全事件设计,采用竖线分隔的标准化字段,便于 SIEM 系统解析。
格式模板:
CEF:Version|Device Vendor|Device Product|Device Version|Signature ID|Name|Severity|Extension
示例:
CEF:0|Huawei|Firewall|V600R007|1001|Login Failed|5|src=192.168.1.100 dst=10.0.0.1 duser=admin msg=Invalid password
2.4 三种格式对比
| 特性 | Syslog | JSON | CEF |
|---|---|---|---|
| 可读性 | 中(依赖位置解析) | 高(键值对清晰) | 中(竖线分隔) |
| 结构化程度 | 低 | 高(支持嵌套) | 中(固定字段+扩展) |
| 安全领域适配 | 一般 | 良好 | 专为安全设计 |
| 解析性能 | 快(无嵌套) | 中(需解析树) | 快(固定分隔) |
| 典型场景 | 网络设备、Linux 系统 | Web API、微服务 | SIEM、安全设备 |
2.5 日志格式与准入门禁的关联
在自助服务日志检索与准入门禁安全权限集成场景中,日志格式的选择直接影响后续的检索效率和权限审计能力:
- Syslog 常用于网络准入设备(如交换机、防火墙)的原始日志输出。
- JSON 适合自助服务平台的 API 调用日志,便于前端检索和权限字段提取。
- CEF 是安全权限审计的首选格式,其标准化字段(如源IP、目标用户、动作)可直接映射到权限变更事件。
实践注意:在集成准入门禁系统时,建议统一将日志格式转换为 JSON 或 CEF 后再存入检索平台,避免因格式混杂导致权限审计遗漏。