1.
概述与准备工作
- 目标:把机房门禁、访客登记、门禁控制器、闸机、电子巡更和相关CCTV/视频事件的出入记录采集并接入企业SIEM(如Splunk、Elastic SIEM、QRadar)。
- 前提:SIEM已部署并可接收外部日志,网络可达,具备管理员权限与合规审批(香港个人资料隐私条例考虑)。
- 准备清单:资产清单(设备IP/厂商/型号)、采集协议支持(syslog/REST/FTP/CSV/DB)、证书或API凭证、NTP服务、临时测试索引/环境。
2.
识别数据源与字段清单
- 步骤:逐台设备确认输出方式(实时syslog、HTTP API、CSV导出、数据库表、SNMP trap)。
- 建议字段(必须项):事件时间、事件类型(开门、关门、刷卡失败、尾随)、设备ID、读卡器ID、卡号/证件号、人员姓名、门状态、事件序号、原始消息。
- 输出格式:优先JSON或CEF/LEEF;若仅有平面文本,需定义正则或Grok模板。
3.
时间同步与时区处理
- 必须操作:所有设备与SIEM服务器配置NTP,统一为香港时区(HKT,UTC+8)。
- 验证命令示例(Linux):ntpq -p 或 timedatectl status。
- 注意:若设备记录UTC时间,需在采集器或SIEM解析阶段转换,并在字段中保留原始时区信息以便审计。
4.
选择采集方式与架构设计
- 实时采集:优先 syslog/TCP-TLS 或 HTTP(S) API。部署中间层collector(如Filebeat、Winlogbeat、nxlog、rsyslog、syslog-ng)做接入与初步过滤。
- 批量导入:对旧记录或每天归档,使用SFTP/CSV拉取或数据库导出(ODBC/SSH)。
- 架构建议:设备 -> 边缘collector(解析、脱敏、加密)-> 企业消息队列(Kafka 可选)-> SIEM ingest。
5.
安全传输与加密
- 强制使用TLS:syslog/TCP-TLS、HTTPS API、SFTP。
- 证书管理:使用内部CA签发证书或受信任证书,定期轮换。
- 访问控制:API Key/HTTPS Basic + IP白名单,collector仅向SIEM出口,最小权限原则。
6.
配置示例:rsyslog 接收门禁 syslog(设备端配置)
- rsyslog.conf(collector端)示例片段:<ImtcpServerRun 6514> <InputTCPServerStreamDriver gtls>,并配置证书路径。
- 设备端:设置syslog服务器IP为collector并使用TCP/6514,消息优先级local0.info。
- 测试:使用logger命令或设备内置测试功能发送样本消息并在collector上观察。
7.
日志标准化与字段抽取
- 在collector或SIEM入库前做字段提取(推荐在Logstash/Filebeat processors或Splunk props/transforms中完成)。
- 常用转换:时间戳解析、JSON解码、正则提取(卡号、设备ID)、字段重命名(src_device等)、脱敏(屏蔽身份证号中间8位)。
- Grok示例(Logstash):匹配“2026-07-01 09:12:34 DeviceID=XXX Card=123456 Name=张三 Event=OPEN”。
8.
SIEM入库配置:Splunk/Elastic/QRadar示例
- Splunk:设置数据输入(TCP TLS或HTTP Event Collector),配置sourcetype、props.conf时间解析、transforms.conf字段抽取。
- Elastic:使用Logstash或Beats发送,定义Index模板、Ingest Pipelines(grok、date、geoip)、Kibana映射。
- QRadar:若无内置DSM,制作自定义log source type并配置Parsing Rules或DSM Editor。
9.
告警与检测规则设计
- 常见用例:深夜异常开门、刷卡失败超过阈值、同一卡在不同门短时间内出现、门长时间未关(门磁异常)、多人尾随检测结合CCTV事件。
- 规则配置:定义时间窗口(例如1小时内失败超过5次触发告警),配置告警分级与通知渠道(邮件/Slack/工单)。
- 流程:告警 -> 值班人员确认 -> 视频取证 -> 工单闭环。
10.
测试验证与上线流程
- 测试项:字段完整性、时间正确性、丢包率、重复事件、脱敏规则、告警触发准确性。
- 测试方法:用脚本或设备模拟大量正常/异常事件(例如使用curl/sendlog工具),比对原始与SIEM中的记录。
- 上线步骤:小批量先行(单楼层或单设备组),观察7-14天后全量切换,归档旧方式。
11.
合规、隐私与审计要求(香港适用)
- 注意PDP条例:个人资料最小化、告知与用途限制、保留期与销毁策略需明确。
- 审计链:保留原始日志、增设WORM或不可更改的存储以满足审计取证。
- 日志保存期:依据公司策略与法规要求(通常保留6个月-7年可配置),并记录访问日志。
12.
运维与异常处理建议
- 监控Collector状态(CPU、磁盘、连接数)、日志丢失率、队列长度。
- 应急:当collector异常时启用备用collector,确保设备可切换目标IP。
- 定期演练:每季度做一次故障切换/恢复演练,并检验告警流程与取证速度。
13.
示例Logstash pipeline(核心解析参考)
- 输入:tcp { port => 6514 ssl_enable => true ssl_cert => "/etc/logstash/cert.pem" }。
- 过滤:grok匹配事件、date解析时间、mutate重命名字段、geoip(若有)。
- 输出:elasticsearch { hosts => ["es:9200"] index => "access-%{+YYYY.MM.dd}" } 或 stdout/debug。
14.
验收标准与指标(KPI)
- KPI建议:事件入库延迟<1分钟(实时类)、日志丢失率<0.1%、解析正确率>99%、告警误报率<5%。
- 验收文档:包含测试脚本、样例事件、字段映射表、NTP/证书配置截图与合规审批单据。
15.
Q1:如何快速定位某天某人的进出记录?
- 答:在SIEM中用时间范围过滤(当地时区HKT),按人员ID或卡号做字段查询(例如 card_id:"123456"),再按时间排序并联合设备ID筛查。如使用Splunk:index=access sourcetype=door card_id=123456 | sort _time | table _time device_id event_type name。
16.
Q2:设备只支持CSV导出,该如何保证接入自动化?
- 答:部署边缘脚本(例如每天定时SCP/SFTP拉取CSV)或使用中间collector(Filebeat的log input或自写Python脚本),在拉取后自动触发解析流程(Logstash/Ingest Pipeline),并在解析阶段做时间与字段规范化与去重。
17.
Q3:如何处理跨系统的时间不一致及时区问题?
- 答:统一NTP为UTC或HKT并记录设备原始时间字段。若设备仅记录本地时间,在采集时标注时区并在SIEM解析阶段用date插件/props.conf转换,所有告警/报表统一显示为HKT以便运维与审计。
来源:系统实现建议香港审计机房出入记录怎么查并接入SIEM平台