网站日志既是安全事件的“黑匣子”,也是性能排障与业务分析的基础数据。但多数站点在日志留存上存在两类极端:一类是磁盘写满即清理,出事时无据可查;另一类是全部永久保存,成本高企且调取困难。合理的做法是先按日志类型确定保存周期,再用防篡改与校验机制保证完整性,最后建立权限清晰、可快速检索的调取流程。

本文围绕保存周期、完整性保护与调取三个环节,给出可落地的参数建议与操作要点,帮助运维与合规负责人把日志从“被动堆积”变成“可用的证据链”。

一、先分类再定周期:不同日志的保存时长设计

日志留存的第一步不是买硬盘,而是分类。网站常见日志至少包括 Web 访问日志(Nginx/Apache access)、错误日志、应用业务日志、数据库慢查询与审计日志、安全设备日志(WAF、防火墙)以及系统与登录日志。这些日志的生成量、价值和合规要求差异很大,用统一周期管理往往造成浪费或缺口。

第一,访问日志建议在线保留 30 至 90 天,冷备归档 6 至 12 个月。访问日志量大,单站日均百万请求即可产生数 GB 数据,但在线查询需求主要集中在近 30 天,更早数据以压缩包形式存放于对象存储即可满足追溯需要。

第二,安全与登录相关日志建议不少于 6 个月,涉及等保测评或行业监管的按当地要求执行,常见要求为 6 个月以上。这类日志是入侵排查和责任认定的关键证据,删除前必须走审批流程。

第三,业务与交易类日志应结合业务生命周期确定,一般不少于 1 年。订单、支付、权限变更等记录往往与纠纷处理、财务对账挂钩,保存周期应不短于业务数据本身的保存期限。

第四,系统与应用错误日志建议保留 90 天以上,并保证滚动切割后不丢失。排障通常发生在故障后数小时内,但偶发问题可能数周后才复现,保留 90 天可覆盖多数场景。

第五,日志级别要分级管理。访问日志可采样或按状态码分流,4xx/5xx 与登录、上传等敏感路径全量保留,静态资源请求可缩短周期,从而在总量可控的前提下不丢失关键信息。

二、完整性保护:从生成到归档不被篡改

日志的法律与审计价值取决于其完整性。一旦日志可被随意修改或删除,再长的保存周期也没有意义。完整性保护要覆盖生成、传输、存储、归档四个环节,并保留可验证的痕迹。

第一,源头统一采集,禁止本地手工编辑。应用与中间件日志应通过 Filebeat、Fluent Bit 等采集器实时推送至日志平台,服务器本地只保留短期副本。采集器以只读方式读取文件,避免运维人员直接改动原始文件。

第二,传输与存储环节启用加密和访问控制。采集链路使用 TLS,存储侧对日志桶或索引设置最小权限,写入账号不允许删除和覆盖,删除操作由独立账号执行并全程留痕。

第三,使用哈希校验与只追加存储保证不可抵赖。可按小时对日志文件计算 SHA-256 摘要并单独保存摘要清单,归档时写入一次可写多次读的对象存储或启用 WORM 策略,事后通过比对哈希发现文件是否被改动。

第四,时间同步必须可靠。所有服务器接入统一 NTP 源,日志带毫秒级时间戳并记录时区,否则多机日志关联时会出现顺序错乱,证据链的证明力会被削弱。

第五,建立日志健康度监控。对采集断流、写入失败、磁盘使用率超过 80%、索引缺失等情况设置告警,避免出现“以为在存、其实早已中断”的静默故障。每月至少抽查一次采集完整性,比对源文件行数与平台入库条数。

三、调取机制:权限、检索与响应时限

日志调取既要快,也要可控。无权限约束的调取会带来隐私与数据泄露风险,而流程过重又会让故障排查错过黄金时间。建议按“日常排障”和“事件调查”两类场景分别设计。

第一,按角色分配查询权限。运维人员可查询近 30 天访问与错误日志;安全人员可查询全部安全日志;涉及用户个人信息(如 IP、手机号、邮箱)的字段默认脱敏,需要明文时单独申请并记录用途。

第二,为高频查询建立索引与检索模板。按域名、状态码、URI、客户端 IP、TraceID 建立索引,预置“5xx 突增”“登录失败集中”“单 IP 高频请求”等检索模板,把常见排障从十几分钟缩短到一两分钟。

第三,明确调取响应时限。一般排障请求应在 30 分钟内响应;安全事件调查应在 2 小时内提供初步日志,24 小时内提供完整时间线。对外部监管或司法调取,按法定程序由指定负责人审批后提供,并保留调取记录。

第四,调取过程本身要留痕。记录申请人、事由、时间范围、查询条件、导出文件哈希与接收人,导出文件加密并设置有效期,避免日志在流转环节失控。

第五,定期演练。每季度模拟一次“某 IP 在特定时段的可疑访问”调查,检验从提出需求到拿到完整证据的耗时,验证周期设置、索引结构和权限流程是否真的可用。

四、成本与合规的平衡:让留存策略可持续

日志留存是长期投入,必须考虑存储成本与人力成本。不加区分地永久保存,往往导致平台膨胀、查询变慢、费用失控,最终反而降低可用性。

第一,采用冷热分层。近 30 天热存储支持全文检索,30 天至 6 个月温存储支持按时间与关键字段查询,更早数据压缩归档到低频对象存储,综合成本通常可下降一半以上。

第二,设置合理的压缩与副本策略。文本日志压缩比通常可达 5 至 10 倍,归档副本保留两份即可,无需按在线标准做三副本。

第三,把清理动作制度化。删除必须依据到期规则自动执行,并生成删除清单;未到期日志的任何删除都要经过审批,禁止运维人员手工 rm 清理磁盘。

第四,定期复核策略有效性。每半年评估一次日志量增长趋势、查询命中率和监管要求变化,动态调整周期,而不是一次性设定后长期不管。

第五,明确责任人与文档。指定日志管理负责人,把日志类型、周期、存储位置、权限矩阵、调取流程写成文档并随架构变更同步更新,避免人员流动后策略失效。

FAQ问答

Q1:网站日志一般需要保存多久?

A:访问日志建议在线 30 至 90 天、归档 6 至 12 个月;安全与登录日志不少于 6 个月;交易类业务日志不少于 1 年。具体以行业监管和等保要求为准,取其中较严格者。

Q2:日志被篡改如何发现?

A:通过定时计算并单独保存文件哈希、使用只追加或 WORM 存储、限制删除权限来发现异常。比对哈希不一致或出现无记录的删除操作时即可判定完整性受损。

Q3:日志量太大,磁盘经常写满怎么办?

A:先按状态码和路径分流,静态资源与健康检查请求缩短周期或采样,敏感路径全量保留;同时启用压缩和冷热分层,并设置磁盘使用率 80% 的告警阈值。

Q4:调取日志需要哪些审批?

A:日常排障由运维负责人授权即可;涉及个人信息明文或对外提供时,需数据安全负责人审批并登记用途;司法或监管调取按法定程序由指定负责人办理。

Q5:没有专职日志平台,小站点怎么做?

A:可使用采集器加对象存储的轻量方案,按天切割压缩、开启版本控制与访问日志,配合哈希清单和到期自动清理,成本可控且满足基本追溯需求。

总之,网站日志留存的关键在于分类定周期、全程保完整、按权限快调取。建议先梳理现有日志类型与监管要求,明确每类日志的在线与归档时长,再落地哈希校验、只追加存储和告警监控,最后把调取流程与责任人写进文档并每季度演练一次。策略确定后应自动化执行,减少人工干预,让日志在真正需要时拿得出、说得清、靠得住。