1

我们需要扫描用户上传的文件,检查是否有病毒,然后将其标记为受感染。我检查了一些博客和其他 stackoverflow 答案,并知道我们可以使用冷静扫描。

但是,我对 clamscan 配置中病毒扫描的路径感到困惑。另外,有没有教程可以参考。我们的应用程序后端位于 Node.js 中。

我也对其他图书馆/服务开放

4

2 回答 2

1

很难说没有更多信息(即您的代码运行的架构等)。

我想说实现您想要的最简单的方法是在您的 S3 存储桶上的每个 PUT 事件上连接一个触发器。我从未使用过任何病毒扫描工具,但我相信它们都作为服务器中的守护进程运行,因此您可以为 S3 Bucket 事件订阅 SQS 队列并拥有服务器(可以是 EC2 实例或 ECS任务)安装了病毒扫描工具后,轮询 SQS 队列以获取新消息。

处理完消息并检测到漏洞后,您可以简单地调用putObjectTagging恶意对象的 API。

于 2019-09-25T11:07:03.057 回答
0

我们一直在做类似的事情,但在我们的例子中,它是在文件存储在S3. 没关系,我认为,解决方案仍然适用于您。

我们有一个安装了clamav. 然后编写了一个接受多部分文件并获取该文件内容并在内部调用ClamAv命令以扫描该文件的网络服务。作为响应,该服务返回文件是Infected还是not.

您的解决方案可能是,

  1. 如上所述创建一个 Web 服务并将其托管在 EC2 上(让我们称之为,virus scan service)。
  2. 在 Lambda 函数上,virus scan service通过传递内容来调用 。
  3. 根据Virus Scan service响应,适当地标记您的 S3 文件。

如果您也开放付费服务,那么在上述步骤中,#1 将不适用,只需调用Virus-Scan 服务Symantec其他此类提供商等即可。

我希望它有所帮助。

于 2019-09-25T11:04:33.567 回答