服务器上的安全措施和防病毒措施,以减轻作为传播媒介的作用

信息安全 linux 杀毒软件 上传文件 传染媒介
2021-09-07 06:31:48

我们有一个 Web 应用程序,我被要求添加让用户上传文档的功能,然后其他用户可以看到和下载这些文档。这些文件通常是图像和审计文件,最初是 PDF 格式,但将来可能会扩展到其他办公格式。每个可以上传或下载文件的用户都必须先进行身份验证。服务器运行 Debian。

在我看来,有了这个功能,我们的服务器可能会通过以下场景成为病毒的传播媒介:

  1. 用户 1 上传了一个包含病毒的文件,
  2. 服务器使文件可供下载,
  3. 用户 2 下载受感染的文件并传播病毒。

为了减轻这种威胁,我正在考虑实施一种隔离机制,将每个文件上传到我们服务器的安全文件夹中,经过检查,只有在所有检查通过后才可供下载。我想到的安全检查是:

  • 有一个文件类型的白名单,我们接受和拒绝任何不属于该类型的文件,
  • 检查实际文件的类型是否与 POST 请求中公布的相同,并拒绝任何不匹配的文件,
  • 对文件运行防病毒软件。

我们还可能包含特定于给定文件类型的过滤器。例如,我们可以让图像通过 ImageMagick 以存储“净化”版本。同样,我们应该能够部分解析文档文件以从中提取一些信息并执行进一步的检查。

我目前实施这些检查的想法是:

  • file -i使用,检查文件类型
  • 使用 ClamAV 作为防病毒软件。

是否还有其他我应该考虑的攻击媒介或我应该实施的其他检查?

ClamAV 是检查文件病毒的正确工具吗?

1个回答

就其本身而言,Clamav 无法与最好的商业替代品相提并论。为获得最佳结果,请使用比较评论中获得好评的多个检测引擎检测率最高的引擎通常会遭受更多误报,因此请考虑隔离不一致的结果以供以后手动检查。还可以使用自动沙盒分析工具,例如 cuckoo沙盒和在线第三方服务,例如virustotal 的 API(最新的仅适用于公共文档,尽管其他服务可能附带NDA)。

文件类型和扩展名应该在白名单的基础上进行过滤。服务器端语言通常包括一个文件识别库,您可以使用它作为file -i. 不应允许用户上传内容无法扫描的加密文档或 ZIP 文件。

责任义务将帮助用户在愚蠢或粗心之前三思而后行。要求他们立即报告感染情况。跟踪那些上传恶意软件的人,因为他们更有可能再次这样做。网站使用模式可能会揭示泄露的凭据和恶意行为。

对整体安全性最有效的缓解措施可能是与指定的公司部门协调准备的用户意识网页。这将首先防止感染用户计算机。请注意,这不是一项技术措施,它超出了您的范围,并且可能会最小化您其他努力的感知价值。