🔗 使用 StoreID 的风险
- 作者:Eliezer Croitoru
我想描述一下维护缓存过程中存在的一些风险。
信息安全的基本原则是保密性、完整性和可用性。
🔗 保密性
由于我们讨论的是 HTTP,因此在读取和共享 URL 及其他信息方面存在一个实际问题。
我记得有一位教授,他能够根据 tcpdump 中的 TCP 数据包判断出其来自何种操作系统及其具体版本。
因此,通过代理的 access.log 或 cache.log 可以提取出更详细的信息。
这要求缓存管理员是一个可以被信任、能够处理所有这些信息的人。
🔗 完整性
在操作缓存时,存在一个非常有诱惑力的方法来修改数据或过度缓存。
上述行为可能会违反对客户端请求响应的完整性。
🔗 可用性
缓存确实允许提高可用性,这不应该影响任何用户。
缓存代理的全部目的是允许上述操作,而缓存管理员应确保缓存带来了可用性,而不是相反。
🔗 几个真实的例子
为了让您理解上述内容的含义,我将描述一个场景。
这些问题对于终端用户和在互联网上进行交易的企业来说是主要问题。有些甚至可能危及生命。它们是由代理配置不当引起的,但代理管理员却很少被告知问题。由于代理使网站看起来像坏掉了一样,网站管理员将承担所有的抱怨。
🔗 ISP
用户尝试写一篇短文,当页面加载时,读了两页后,教授告诉这个可怜的用户阅读的日期并非交付文章的日期。
一个非常快速的 F5、SHIFT-F5 或 CTRL-F5 操作可以改变页面内容,可怜的用户会认为页面是在两周前更新的(教授谈论的是最新发表的论文……)。
🔗 医疗机构
当生命受到威胁时,医生或其他辅助人员可以更快地获取一些信息,因此 Squid 是一个直接的救命辅助工具。
在此提醒缓存管理员要谨慎设置缓存,因为它们可能会直接伤害到患者及其他人。
过去在医疗机构中缓存配置错误的案例示例
- 医生无法了解特定领域的最新新闻,因为缓存的页面不是最新的。
- 由于生产和市场需求之间存在巨大差距,且库存仪表不正确,患者无法购买药品。
- 通过互联网或内网传输的 X 光/CT/MRI 等扫描结果被过度缓存,导致下载了错误且过时的文件,造成了错误的诊断。
🔗 警察、军队和国家安全
警方可能会将 Squid 用作取证工具,以帮助抓捕恋童癖者、军火贩、毒品走私者以及其他可能存在的犯罪分子。
- Squid 目前的形式可能无法证明事情,除非由 Squid Master 使用。
- 为了使 Squid 在法庭上被接受为电子取证辅助工具,有一些东西需要进行调整。
- 如果您正在寻找一个不修改 Squid 的解决方案,您可以运行一个 ICAP 服务,它可以比 Squid 的调试输出更清晰地阐明许多案例。(GreasySpoon、c-icap、pyicap)
军队和国家安全部门可以使用 Squid 来协助实时应用程序在需要传播公众警报时命中,或者作为士兵辅助设备和服务的网关。
🔗 育儿
父母不希望孩子看到的图片出现在干净的网站上,因为 StoreID 算法在模式匹配上存在问题,将干净的网站误匹配为色情网站。
🔗 银行/贸易
一个不过时的银行账户页面会让可怜的用户购买他实际上付不起的东西。
管理员选择忽略图像的缓存规则会导致向用户提供错误的验证码图片。输入验证码登录中的嵌入文本无法正常工作。阻止用户访问他们的银行账户或进行在线购物。
🔗 结论
维护缓存存在风险,也存在好处。
我们是人,我们有权犯一两次甚至更多的错误,但我们有义务尽力而为。
在配置 refresh_pattern、url_rewrite_program、store_id_program、ICAP 服务/客户端或其他功能时,请吃顿好的,喝杯好的。然后,当您精力充沛时,坐下来完成您应该做的事情,使其做到最好。
🔗 以上内容与 Squid 有何关系?
我猜想,在听到有人遇到互联网问题,然后一个小小的 F5 就能解决时,人们就会明白这一切。
作为 StoreID 的作者,我想说它可以帮助使 WWW 更快,并提高一个可靠性水平。
类别: 知识库
导航:网站搜索、网站页面、分类、🔼 向上