校园网认证计费系统的日志审计合规检查,每次迎检的时候信息中心的人心脏都提到嗓子眼——原因很简单,合规检查不是看你的系统有多少功能,而是看你有没有在那些容易被忽略的细节上留下能追溯的记录。我参与过几次高校审计迎检的技术支撑工作,发现真正出问题的往往不是大框架没搭好,而是某些看起来不起眼的日志项没存或者存得不完整。
第一个容易漏掉的日志项是NAT转换前后的IP地址映射关系。校园网里学生用的是内网私有IP(比如192.168.x.x),经过NAT转换成公网IP之后访问互联网。合规要求是:能够根据任意一个公网IP在任意一个时间点,反向追溯到当时使用这个IP的具体账号和MAC地址。这就要求日志系统不仅要记录上网行为日志(源IP访问了什么目的IP),还要记录NAT映射日志(哪个内网IP在哪个时间段映射到了哪个公网IP的哪个端口)。很多系统只记录了上网行为日志,NAT映射日志是缺失的——或者NAT日志在代拨网关上有,但跟认证计费系统的用户日志没有做时间戳对齐。一旦公安要求溯源,查到了公网IP但找不到对应的人,整个审计就通不过。
第二个容易被检查出问题的是日志留存时间。《网络安全法》和等保2.0要求上网日志至少留存180天,但"留存"的定义不是"硬盘上存了就行"。检查的时候会要求现场查询——比如"请你查一下180天前某一个MAC地址的上网记录"。如果你的日志系统为了节省存储空间,把超过90天的日志归档到了冷存储,查询需要半个小时甚至更久才能出结果,检查人员可能不会给这么多时间。所以日志系统必须保证180天内的记录的热查询性能——查询响应时间控制在秒级。做得到这一点,通常需要在存储架构上做冷热分层——近30天数据用SSD热存储,31到180天数据用HDD但建立索引以支持快速检索。
第三个经常出问题的是日志的完整性验证。检查人员会关心一个问题:你存了这么多日志,怎么证明这些日志是完整的——没有被篡改、没有被删除、没有时间段缺失?如果只是把文件存在硬盘上,没有任何防篡改机制,在合规审计面前是不算数的。正规的做法是在日志生成时做数字签名或者哈希校验,每一段时间的日志打包后计算哈希值并存到一个独立的完整性校验文件中。定期审计的时候可以用这个校验文件来验证日志的完整性。有些地方还要求对关键日志做区块链存证,这个要求目前还比较少见但不是不存在。
第四个容易被扣分的点是实名认证记录的关联性。现在的校园网认证通常要求学生做短信实名认证——输入手机号和身份证号,系统跟第三方实名认证平台做比对。合规检查的要求是:任意一个上网账号,必须能找到对应的实名认证记录,而且这条记录要能证明认证时做了真实的身份比对,不是系统后台直接手动创建的。很多项目的实名认证在业务流程上是做了的,但认证日志里只记录了"认证成功"而没有记录完整的比对结果(比如比对流水号、比对时间戳、比对方式),导致审计的时候无法证明这个认证确实是走过了正式的比对流程。
第五个容易被查的点是管理操作的审计日志。合规审计不只关注学生上网行为,也关注管理员的行为——谁、在什么时间、登录了后台、做了什么操作(创建/删除/修改账号、修改套餐、导出数据)。如果管理后台没有操作审计日志,或者操作日志可以被管理员自己删除,这就是合规上的高危漏洞。操作日志必须强制记录,包括管理员登录IP、登录时间、操作类型、操作前后的数据变化,而且不能提供删除操作日志的功能。
第六个很多人没注意到的是日志存储的安全性问题。上网日志包含了学生的手机号、身份证号、上网行为(访问了哪些网站)等大量个人信息。这些数据的存储必须做加密——建议使用国密SM4算法做存储加密,并且日志查询需要二次身份验证(不能单凭管理员账号密码就能批量导出日志)。如果因为数据泄露被通报,这个代价比审计不合格还要大得多。
最后说一个实操层面的建议:建议每半年做一次内部模拟审计,不等正式检查来了才手忙脚乱地补日志。模拟审计的内容就是按合规检查的要求逐项自测——NAT映射能不能溯源、180天前的日志能不能快速查出来、实名认证记录的完整性怎么样、管理操作日志有没有缺失。把模拟审计的结果整理成报告,标明哪些项是达标的、哪些项有差距、差距需要怎么改。这样做有两个好处:一是可以提前发现并修复问题;二是在正式审计的时候,你可以拿出一份规范的自查报告,审计人员对你的印象分就高很多。