我需要在Linux服务器上扫描上传的文件是否有病毒,但我不知道如何处理它。
如果有的话,我有哪些选择?我也对多个用户同时发送多个文件时扫描程序的执行情况感兴趣。
答案 0 :(得分:18)
以下是针对已知病毒进行测试时ClamAV的结果:
[被感染] => AdvancedXPFixerInstaller.exe
[pass] => auto.exe
[pass] => cartao.exe
[被感染] => cartoes_natal.exe
[pass] => codec.exe
[pass] => e421.exe
[pass] => fixtool.exe
[被感染] => flash_install.exe
[被感染] => issj.exe
[被感染] => iwmdo.exe
[被感染] => jobxxc.exe
[被感染] => kbmt.exe
[pass] => killer_cdj.exe
[pass] => killer_javqhc.exe
[被感染] => killer_rodog.exe
[被感染] => kl.exe
[被感染] => MacromediaFlash.exe
[被感染] => MacromediaFlashPlayer.exe
[被感染] => paraense.exe
[被感染] => pibzero.exe
[pass] => scan.exe
[pass] => uaqxtg.exe
[pass] => vejkcfu.exe
[被感染] => VIDeoSS.exe
[被感染] => wujowpq.exe
[pass] => X-IrCBOT.exe
问题是,这些都不应该通过。
答案 1 :(得分:14)
我会看看Clam AntiVirus。它提供了一个clamscan
程序,可以扫描给定文件并返回通过/失败指示。它是免费的,并定期自动更新其数据库。
至于将此类产品集成到文件上传过程中,这将特定于您实际使用的任何文件上传过程。
答案 2 :(得分:3)
如果您担心性能,请考虑使用clamd / clamdscan作为您的实现。 clamd作为守护进程运行,因此所有初始化成本只进行一次。然后,当您使用clamdscan扫描文件时,它只是将文件提供给分叉的clamd以进行实际扫描。如果你有大量的流量,它会更有效率。
如果您有超出此类的性能问题,则应考虑使用商业产品。如今,大多数大型玩家都拥有Linux / Unix版本。
答案 3 :(得分:2)
你应该研究opswat's MetaScan。此工具管理文件的更新和多引擎扫描。它与AVG,CA eTrust™捆绑在一起。 ClamWin,ESET NOD32防病毒引擎,MicroWorld eScan引擎,Norman病毒控制和VirusBuster EDK。此外,它将调用诺顿等。优点是您可以针对该文件运行多个引擎。
答案 4 :(得分:0)
您应该尝试找一个具有扫描仪公共API的反病毒软件供应商。这样您就可以以编程方式扫描文件。从长远来看,它会比通过上传脚本搞乱其他进程更容易。
答案 5 :(得分:0)
您是否通过商业扫描仪运行它们?我曾经是一个产品的管理员,它通过4个商用扫描仪并行运行文件。我有一个几百个测试病毒库,没有一个商业扫描仪能找到它们......
答案 6 :(得分:0)
Clamscan会在文件存储后扫描文件,而不会阻止上传或下载受感染的文件
我有一个鱿鱼(https +缓存)< - > HAVP ( clamAV )< - > Tomcat反向代理设置。 HAVP(http://www.server-side.de/)是一种通过ClamAV或任何其他商业防病毒软件扫描http流量的方法。它会阻止用户下载受感染的文件。
尽管如此,它在上传时不起作用,因此它不会阻止文件存储在服务器上,但会阻止文件下载并传播。因此,使用常规文件扫描(例如clamscan)