许多云服务使用自定义的内容配置头来提高应用程序的性能。这些自定义报头具有意外的副作用,防止网络安全解决方案(以及通过ICAP集成到它们的现场DLP解决方案)检查DLP的内容。
内容配置头到底是什么?为什么它们阻止网络解决方案检查内容?
根据微软 Content-disposition is an extension to the MIME protocol that instructs a MIME user agent on how it should display an attached file
发布于 2019-08-15 01:06:46
老实说,这是很奇怪的,许多搜索发现,除了这篇文章之外,我没有提到内容配置头在任何方面都与性能有关。
内容配置标头有效地告诉用户代理(浏览器)如何处理或显示直接请求的文件。它在HTTP响应中的主要用途是指定要下载文件,而不是内联显示文件。
响应头的有效语法如下:
Content-Disposition: inline
Content-Disposition: attachment
Content-Disposition: attachment; filename="some.file"
第一个是默认的,这意味着内容在用户代理中显示为正常。
第二个表示必须将内容作为附件处理,在浏览器上下文中,附件意味着要下载的文件而不是内联显示的文件。文件的默认名称是URI路径的最后一部分。例如,在URL https://foo.bar/downloads/fuzz.xyz
中,文件名默认为fuzz.xyz
。
第三个选项与以前相同,除非显式指定了默认文件名。
此外,内容处理头可以用作多部分HTTP请求的一部分,最常见的是为了启用文件上载:
Content-Disposition: form-data
Content-Disposition: form-data; name="fieldName"
Content-Disposition: form-data; name="fieldName"; filename="filename.jpg"
据我所知,没有任何性能原因使用这个,或使用任何非标准兼容的变体。我也找不到任何人这样做的参考资料。
我的猜测是,一些云平台以一些非标准的方式使用Content-Disposition
头(例如,使用它作为REST的一部分执行编程文件上载),这与DLP解决方案不兼容,后者天真地依赖指定文件名中的文件扩展名,导致它假设正在传输的数据是文件类型X,而文件类型不同(或否),从而导致对数据的错误解析。
就个人而言,我不相信您在DLP供应商编写的营销材料中找到的任何信息。我测试了许多产品,但没有一个产品能够正确地识别出违反政策的行为--即使是在数据泄露时也是如此(例如,将虚假的客户数据直接放到Pastebin上)。他们提出了很多主张,很少接近支持他们。
https://security.stackexchange.com/questions/215316
复制相似问题