明确审计目标和范围
在开始部署网络审计跟踪前,得先搞清楚为什么要审计。是为了满足合规要求?比如等保、GDPR?还是为了排查内部异常行为,比如员工私自外传数据?不同目标决定了采集哪些日志、监控哪些系统。
举个例子,某公司发现服务器频繁在凌晨被访问,但没有记录是谁操作的。这时候审计的目标就很明确:追踪所有登录行为和命令执行记录。范围自然就锁定在身份认证系统、堡垒机和核心服务器的日志源上。
梳理现有网络架构与日志源
不是所有设备都默认开启详细日志。路由器、防火墙、交换机、服务器、应用系统,每个节点都要检查是否支持日志输出,以及能输出什么级别。
比如一台华为防火墙,默认只记录阻断事件,要审计完整的连接轨迹,就得手动开启会话日志,并配置syslog发送到集中服务器。Linux服务器则需要确保rsyslog或journalctl正常运行,并把auth.log、secure等关键文件纳入收集范围。
部署集中日志管理系统
分散的日志没法查。必须有个中心平台统一接收、存储和分析。常见的方案有ELK(Elasticsearch + Logstash + Kibana)、Splunk或者国产的如日志易、安恒日日顺。
以ELK为例,可以在内网部署一台专用服务器:
<!-- 安装Filebeat收集日志 -->
sudo apt-get install filebeat
<!-- 配置filebeat.yml指向Logstash -->
output.logstash:
hosts: ["logserver.internal:5044"]
<!-- 启动服务 -->
systemctl enable filebeat && systemctl start filebeat
网络设备通过syslog协议转发,Windows用Winlogbeat,数据库操作可通过触发器或审计插件捕获后接入。
定义关键审计事件类型
不是每条日志都有价值。重点盯住几类高风险行为:
- 用户登录失败超过5次
- 特权账户(如root、administrator)的使用
- 敏感文件的访问或删除
- 非工作时间的系统操作
- 外部IP对核心系统的异常连接
把这些规则写进SIEM(安全信息与事件管理)系统,设置实时告警。比如在Kibana里创建一个检测规则,一旦出现连续10次SSH失败就触发邮件通知管理员。
保障日志完整性与防篡改
如果攻击者入侵后删了日志,审计就成摆设。必须做到日志不可逆向修改。
做法之一是启用远程日志写入,所有设备只允许向日志服务器发送,本地不留完整记录;二是对重要日志做哈希存证,定期备份到离线存储。还可以结合WORM(一次写入多次读取)磁盘技术,防止覆盖。
制定审查流程与响应机制
有了数据还得有人看。建议每周安排专人抽查审计报表,重点关注权限变更、批量导出操作等。
某次例行检查发现市场部员工账号突然访问了财务数据库,进一步核查发现是账号共享导致。及时回收权限并加强培训,避免了更大风险。
同时建立响应流程:发现可疑行为→隔离源头→取证分析→修复漏洞→更新策略。形成闭环,才能让审计真正起作用。