首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >病毒扫描从Azure Web/Worker角色上传的文件

病毒扫描从Azure Web/Worker角色上传的文件
EN

Stack Overflow用户
提问于 2015-09-14 14:55:36
回答 3查看 10.9K关注 0票数 11

我们正在设计一个Azure网站,将允许用户上传内容(MP4,Docx...MSOffice文件),然后可以访问。

一些视频内容,我们将编码,以提供几种不同的质量格式,在它将被流(使用Azure媒体服务)。

我们需要添加一个中间步骤,以便我们可以扫描上传的文件,以确定潜在的病毒风险。是否有内置于azure (或第三方)中的功能,允许我们在处理内容之前调用API来扫描内容?我们在理想的情况下寻找一个API,而不仅仅是VM上的后台服务,因此我们可以获得反馈,以便在web或工作者角色中使用。

快速查看了Symantec Endpoint和,但不确定它们是否提供了API

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-09-14 15:00:20

我已经使用开源ClamAV成功地做到了这一点。您没有指定所使用的语言,但由于它是Azure,所以我将假定为.Net。

有一个.Net包装器应该提供您要寻找的API:

https://github.com/tekmaven/nClam

下面是一些示例代码(注意:,这是直接从nClam GitHub回购页面复制的,并在这里复制以防止链接腐烂)

代码语言:javascript
复制
using System;
using System.Linq;
using nClam;

class Program
{
    static void Main(string[] args)
    {

        var clam = new ClamClient("localhost", 3310);
        var scanResult = clam.ScanFileOnServer("C:\\test.txt");  //any file you would like!

        switch(scanResult.Result)
        {
            case ClamScanResults.Clean:
                Console.WriteLine("The file is clean!");
                break;
            case ClamScanResults.VirusDetected:
                Console.WriteLine("Virus Found!");
                Console.WriteLine("Virus name: {0}", scanResult.InfectedFiles.First().VirusName);
                break;
            case ClamScanResults.Error:
                Console.WriteLine("Woah an error occured! Error: {0}", scanResult.RawResult);
                break;
        }
    }
}

还有一些API可用于刷新病毒定义数据库。所有必要的ClamAV文件都可以包含在部署包中,任何配置都可以放入服务启动代码中。

票数 3
EN

Stack Overflow用户

发布于 2017-06-06 09:41:14

要做到这一点,有若干备选方案:

首先,您可以像前面提到的那样使用ClamAV。ClamAV的病毒数据库并不总是得到最好的报道,但正如其他人所指出的那样,它很容易使用,而且是可扩展的。

您还可以安装商业扫描仪,如avg、kaspersky等。其中许多带有一个C API,您可以直接与之交谈,尽管从许可的角度来看,通常访问这些功能的代价可能会很高。

或者,您可以直接调用可执行文件,使用如下所示来捕获输出:

代码语言:javascript
复制
var proc = new Process {
    StartInfo = new ProcessStartInfo {
        FileName = "scanner.exe",
        Arguments = "arguments needed",
        UseShellExecute = false,
        RedirectStandardOutput = true,
        CreateNoWindow = true
    }
};
proc.Start();
while (!proc.StandardOutput.EndOfStream) {
    string line = proc.StandardOutput.ReadLine();
}

然后,您需要解析输出以获得结果并在应用程序中使用它。

最后,现在有一些商业API可以用来做这类事情,例如追踪扫描器 (与此产品相关的免责声明)或斯堪的尼。它们将为您提供一个API和一个更可伸缩的选项,以扫描特定的文件并从至少一个病毒检查引擎接收响应。

票数 0
EN

Stack Overflow用户

发布于 2020-03-17 21:30:45

2020年春夏新事物。Azure存储的高级威胁保护包括恶意软件声誉筛选,它使用利用Microsoft威胁智能(包括针对病毒、木马、间谍软件和Ransomware的散列)功能的散列信誉分析来检测恶意软件上载。注意:不能保证使用散列信誉分析技术检测到每个恶意软件。

https://techcommunity.microsoft.com/t5/Azure-Security-Center/Validating-ATP-for-Azure-Storage-Detections-in-Azure-Security/ba-p/1068131

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32567922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档