在设计日志采集架构时,首要目标是保证日志的可用性与完整性。建议采用集中式与本地缓存相结合的方式:服务器本地使用轻量级日志代理(如Filebeat/Fluent Bit)做短期缓存并异步发送到集中存储或SIEM。
第一层:主机本地采集,捕获系统日志、网络连接、WAF/防火墙日志;第二层:边缘采集器聚合多台主机日志并做初步解析;第三层:集中存储(对象存储/Elasticsearch/Cloud SIEM)用于长期分析与告警。
为防止丢失,启用本地磁盘循环缓存并设置持久化队列;传输使用TLS加密并开启认证机制,确保日志在传输过程中的完整性与机密性。
建议采用“热-温-冷”分层存储:热层(最近7-30天)用于实时告警与查询;温层(30-90天)用于调查与取证;冷层(>90天)用于合规备份。结合对象存储(S3等)以降低成本。
对关键字段(IP、用户名、事件ID、时间戳)建立索引以提升检索效率,同时使用字段型压缩(如Lucene压缩或Parquet)减少存储开销。
对日志存储实施基于角色的访问控制(RBAC)和审计日志,确保只有经授权人员可以读取或导出日志,满足合规与取证要求。
告警策略应基于风险分级:关键事件(如入侵检测、流量异常、重要端口被扫描)配置实时高优先级告警;低风险事件(登录失败、非敏感端口扫描)采用聚合或样本告警。使用基于速率和行为的阈值,而非简单固定数值,以减少误报。
实现告警抑制策略(例如事件窗口内只告警一次)和告警去重(相同源IP/相同事件签名合并),配合降级告警与自愈脚本,降低告警风暴和运维干扰。
结合网络层(DDoS流量异常)、主机层(CPU/内存异常、文件修改)、应用层(异常请求率)多维度规则,设置告警链路(短信、邮件、工单、Webhook)并预定义响应等级与责任人。
整合前先定义统一的日志字段和事件格式(如CEF/LEEF/Elastic Common Schema),确保不同来源日志可被SIEM一致解析。通过ETL管道做字段映射与清洗。
利用SIEM的关联规则将分散事件串联成高价值告警(例如端口扫描+异常登录形成疑似入侵链),并结合SOAR实现自动化处置(如封禁IP、隔离主机、触发工单)。
定期对SIEM规则做回溯测试与调优,开展桌面演练(playbook)以验证告警链路与自动化响应的有效性,保证告警不仅“响”,还能“用”。
不是所有日志都必须详尽保存。对高频低价值日志(如健康检查、静态资源访问)可采用采样或只保留摘要;对关键安全事件保留详尽原文。这样能显著降低IO与存储成本,同时保证取证能力。
建立日志产生量与传输延迟监控,当日志速率异常上升时自动切换采样策略或临时提升存储资源。通过资源指标(带宽、CPU、磁盘IO)设定预警,避免日志系统成为性能瓶颈。
利用压缩、批量传输与分层存储降低长期开销;对云服务使用生命周期规则自动转移到归档层;定期清理不再需要的调试级别日志并采用按需检索的冷数据访问策略。