我试图了解文件完整性监控的工作原理,但我觉得我错过了一些东西。根据我的阅读,要监控的文件的加密哈希存储在数据库中。然后,定期重新计算这些文件的哈希值并进行比较以检查更改。这是我的问题:
如果定期检查当前哈希值的代码与我们正在检查的代码在同一台服务器上,并且服务器受到威胁,那么攻击者是否也不能修改完整性检查器?这似乎会打败整个观点。
但是,如果检查器位于另一台机器上,则您必须将所有文件从服务器传输到检查器机器以计算哈希值。这可能非常耗时且占用大量带宽。
我错过了什么?
更新:我徒劳地遇到了一个有趣的想法。对于类似的问题,有人建议使用 rsync来比较哈希。我知道这不是 rsync 的用途,但经过一些初步测试后,它似乎可以工作(而且速度非常快)。想法?