如何检查Azure的Blob存储中是否存在病毒?

16
我们的应用程序将客户上传的文件存储到 Blob 存储中。这些文件在不同方之间(我们的客户和他们的供应商)进行交换。是否有一种方法可以检查已上传的文件是否感染了病毒?Antimalware 服务似乎只检查虚拟机,但我无法获取任何关于如何将其用作服务来检查文件的信息。
一个好的解决方案是,我们可以将这样的文件存储为 Azure 存储中的“等待”文件,直到对其进行检查。然后我们需要一个服务来检查此文件并返回结果。如果文件没有病毒,我们就可以将其移动到最终目标地点。
5个回答

6
Azure存储只是...存储。没有内置的实用程序,例如防病毒软件。您需要自己进行防病毒检查。由于防病毒工具通常仅适用于本地操作系统存储,因此您需要将“暂停”内容(如您所说)放在某个安装了防病毒软件的本地磁盘上,然后在完成防病毒检查后将其复制到Blob存储中。
您如何管理此过程以及使用哪个软件取决于您。但是,VM、App服务和Cloud服务(Web/Worker角色)都有可用的本地磁盘。

1
谢谢你,David!很遗憾。也许这可以成为一个利基产品:病毒检查作为一项服务。只需将服务指向流/文件,即可获得结果。我理解你的方法,但是你如何知道文件是否被感染了呢? - Raul

4
作为其他答案所述,Azure Storage只是存储。您可以有几种方法来实现这一点,第一种解决方案是运行自己的反病毒软件,并将其用作网关或以编程方式从Blob存储下载文件,检查文件,然后采取适当的措施。您可以像使用ClamAV这样的工具来自己完成这项任务。另外,您也可以使用第三方服务,例如AttachmentScanner(这正是您在评论中提到的),它将接受URL或直接文件上传。使用Azure,您可以生成一个临时URL,指向具有几分钟到期时间的文件,将URL传递给AttachmentScanner,然后根据结果采取适当的操作。

刚刚去看了一下AttachmentScanner,看起来很有意思。尽管当我去他们的注册/登录页面时,我真的很惊讶它没有强制使用SSL。我倾向于避免那些不费心保护我的信息而不强制实施SSL的公司。 - Nick Albrecht
两年半后,我注意到这个服务仍处于测试阶段。这个项目仍保持在进行中吗? - Andy
我会谨慎使用需要上传文件/提供URL的第三方解决方案;如果这样做,您将为每个扫描在Azure存储中存在的文件支付出站数据费用。 - GFoley83

2
您可以使用Azure Defender for Storage来检测以下内容:
  • 可疑的访问模式-例如从Tor出口节点或从Microsoft威胁情报认为可疑的IP成功访问
  • 可疑活动-例如异常数据提取或访问权限的不寻常更改
  • 上传恶意内容-例如潜在的恶意软件文件(基于哈希声誉分析)或托管网络钓鱼内容
要启用它,您需要进入高级安全性enter image description here

1

0
我在Azure文件存储容器上设置了一个名为“azinbox”的文件夹。我在虚拟机上设置了一个控制台应用程序(作业),每30秒检查该文件夹中是否有文件。如果作业找到了文件,它会将文件从azinbox移动到VM上的vminbox文件夹中。一旦文件出现在VM上,如果它有病毒,它就会被隔离,并且文件会从vminbox中删除。然后vm上的作业再过30秒检查文件是否仍在vminbox中。如果是,则必须是OK的。作业将已验证的文件移动到Azure文件存储容器上的azoutbox文件夹中。从网站的角度来看,1)将文件上传到azinbox 2)等待一分钟并检查azoutbox。如果找到文件,则网站将文件从azoutbox移动到其最终目的地。
我承认这是一个糟糕的解决方案,因为完成文件上传需要很长时间。对于用户来说,一两分钟似乎是上传简单PDF的漫长时间,特别是如果他们有多个文件要上传。
此外,这需要您设置一个完整的VM服务器,仅用于验证病毒文件。
如果有更好的选择,请告诉我。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接