为什么攻防演练中的日志如此重要
公司刚做完一次红蓝对抗,结果发现攻击路径查不清楚,溯源时像在黑屋子里摸墙。问题出在哪?不是技术不行,而是日志没记全。攻防演练不是走个过场,关键是要能复盘。没有完整的日志支撑,再漂亮的防守也经不起推敲。
很多单位把精力都放在“能不能拦住”上,却忽略了“能不能看清楚”。实际上,记录得越细,后期分析就越准。比如某次内部测试,攻击方通过一个低权限账户横向移动,如果系统只记录登录成功或失败,那可能就漏掉了关键行为;但如果日志里包含了源IP、目标主机、执行命令、时间戳这些信息,追踪起来就清晰多了。
日志要覆盖哪些核心环节
网络层流量进出必须留痕,尤其是边界防火墙和核心交换机上的会话日志。哪怕只是短暂的端口扫描,也要能查到来源和频率。服务器端的操作日志也不能少,特别是特权命令的执行记录。比如Linux系统的sudo命令、Windows的PowerShell脚本调用,都应该开启审计。
应用层面同样不能放松。Web服务器的访问日志不仅要保留常规的请求路径和状态码,还得记录User-Agent、Referer甚至POST参数摘要(注意脱敏)。数据库操作建议启用查询日志,至少对敏感表的增删改进行监控。
日志格式与存储规范
统一时间戳是基本要求,所有设备必须同步NTP时间,避免因时区差异导致分析错乱。推荐使用ISO 8601格式,例如:2024-05-20T14:30:25+08:00。字段命名尽量标准化,比如client_ip、action_type、result_code,方便后续聚合分析。
日志内容要具备可读性和机器解析能力。JSON是最常用的结构化格式,便于导入SIEM平台处理。
{"timestamp": "2024-05-20T14:30:25+08:00", "source_ip": "192.168.10.55", "target_host": "db-server-01", "event_type": "sql_query", "query_sample": "SELECT * FROM users WHERE id = ?", "status": "succeeded"}保留周期与安全防护
日志本身也是攻击目标。曾经有案例显示,攻击者入侵后第一件事就是清理日志。因此,日志文件必须实时传输到独立的日志服务器,并设置写入后不可篡改。推荐使用WORM(Write Once Read Many)存储策略,防止被恶意删除或修改。
保留时间至少满足90天,大型企业和重点行业建议保留180天以上。这不仅是合规需要,在慢速渗透场景下,早期的异常连接可能几个月后才显现价值。
自动化采集与告警联动
靠人工翻日志不现实。常见的做法是部署Filebeat、Fluentd这类工具自动收集各节点日志,集中送到Elasticsearch或Splunk中。配合规则引擎,可以实现简单行为的自动告警。例如连续5次失败登录后触发预警,或者检测到非常规时间的数据导出行为。
规则编写要有针对性。比如开发人员通常在上午9点到下午6点活动,如果凌晨2点有人用运维账号登录跳板机,系统就应该标记为高风险事件并通知值班人员。