基本上,我希望将文件上传(在将它们写入磁盘之前)扫描到Web应用程序。
特别是,我想与“McAfee VirusScan Enterprise”(最新版本)集成。
从设计和维护的角度来看,使用第三方产品扫描防火墙上的某些路径可能会更好吗?这样,Web应用程序就不必关心病毒扫描。为了最大限度地减少开销,典型的病毒扫描防火墙允许您指定URL模式以及特定的POST数据模式。如果它是一个HTTPS站点,这当然是行不通的(除非有一些方法)。
This post from stackoverflow似乎暗示McAfee的SDK不再可用,但有开源替代品吗?
答案 0 :(得分:40)
查看Clamv(http://www.clamav.net/) 它是一个开源的反病毒软件,您可以扫描流。 因此,您无需保存文件进行扫描。
http://linux.die.net/man/1/clamscan
扫描数据流: cat testfile | clamscan -
所以很容易,用 - arg启动clamscan过程。将文件内容写入stdin,然后等待结果代码。
在测试期间,您可以使用EICAR文件,该文件专用于检查防病毒是否正常工作。 http://en.wikipedia.org/wiki/EICAR_test_file
答案 1 :(得分:1)
您可以调查ClamAV或ClamWin。它们是开源病毒扫描程序,ClamWin基于ClamAV。你应该能够修改其中一个(如果有人还没有)做你想做的事。
另一方面,您可以考虑简单地将流式文件放入目录并让扫描程序监视该特定目录。
答案 2 :(得分:0)
卡巴斯基(以及其他人可能)似乎有几种方法可以在企业级别处理这个问题: http://usa.kaspersky.com/business-security/targeted-solutions
互联网网关产品可能最相关。看起来它支持Checkpoint,Squid Proxy Server和Microsoft。
这里有试用和文档的下载页面: http://usa.kaspersky.com/downloads/documentation
在企业级别,您可能决定购买一个设备(例如Cisco ACE),该设备可以卸载SSL,然后使用其中一个选项(或Cisco IOS入侵防御系统(IPS)与思科防火墙)。我有几个客户端使用Cisco ACE设备,但我正在调查防火墙上的病毒检测。