我需要在Linux服务器上扫描上传的文件是否有病毒,但我不知道如何处理它。

如果有的话,我有哪些选择?我也对多个用户同时发送多个文件时扫描程序的执行情况感兴趣。

有帮助吗?

解决方案

我想看看 Clam AntiVirus 。它提供了一个clamscan程序,可以扫描给定文件并返回通过/失败指示。它是免费的,并定期自动更新其数据库。

至于将此类产品集成到文件上传过程中,这将特定于您实际使用的任何文件上传过程。

其他提示

以下是针对已知病毒进行测试时ClamAV的结果:

[infected] = <!> gt; AdvancedXPFixerInstaller.exe

[pass] = <!> gt; auto.exe

[pass] = <!> gt; cartao.exe

[infected] = <!> gt; cartoes_natal.exe

[pass] = <!> gt; codec.exe

[pass] = <!> gt; e421.exe

[pass] = <!> gt; fixtool.exe

[infected] = <!> gt; flash_install.exe

[infected] = <!> gt; issj.exe

[infected] = <!> gt; iwmdo.exe

[infected] = <!> gt; jobxxc.exe

[infected] = <!> gt; kbmt.exe

[pass] = <!> gt; killer_cdj.exe

[pass] = <!> gt; killer_javqhc.exe

[infected] = <!> gt; killer_rodog.exe

[infected] = <!> gt; kl.exe

[infected] = <!> gt; MacromediaFlash.exe

[infected] = <!> gt; MacromediaFlashPlayer.exe

[infected] = <!> gt; paraense.exe

[infected] = <!> gt; pibzero.exe

[pass] = <!> gt; scan.exe

[pass] = <!> gt; uaqxtg.exe

[pass] = <!> gt; vejkcfu.exe

[infected] = <!> gt; VIDeoSS.exe

[infected] = <!> gt; wujowpq.exe

[pass] = <!> gt; X-IrCBOT.exe

问题是,这些都不应该通过。

如果您担心性能,请考虑使用clamd / clamdscan作为您的实现。 clamd作为守护进程运行,因此所有初始化成本只进行一次。然后,当您使用clamdscan扫描文件时,它只是将文件提供给分叉的clamd以进行实际扫描。如果你有大量的流量,它会更有效率。

如果您有超出此类的性能问题,则应考虑使用商业产品。如今,大多数大型玩家都拥有Linux / Unix版本。

您应该查看 opswat的MetaScan 。此工具管理文件的更新和多引擎扫描。它捆绑了AVG,CA eTrust <!>#8482;。 ClamWin,ESET NOD32防病毒引擎,MicroWorld eScan引擎,Norman病毒控制和VirusBuster EDK。此外,它将调用诺顿等。优点是您可以针对该文件运行多个引擎。

您应该尝试找一个具有扫描仪公共API的反病毒软件供应商。这样您就可以以编程方式扫描文件。从长远来看,它会比通过上传脚本搞乱其他进程更容易。

您是否通过商业扫描仪运行它们?我曾经是一个产品的管理员,它通过4个商用扫描仪并行运行文件。我有一个几百个测试病毒库,没有一个商业扫描仪能找到它们......

Clamscan会在文件存储后扫描文件,而不会阻止上传或下载受感染的文件

我有一个鱿鱼(https +缓存)<!> lt; - <!> gt; HAVP clamAV )<!> lt; - <!> gt; Tomcat反向代理设置。 HAVP( http://www.server-side.de/ )是扫描http流量虽然是ClamAV或任何其他商业防病毒软件。它会阻止用户下载受感染的文件。

尽管如此,它在上传时不起作用,因此它不会阻止文件存储在服务器上,但会阻止文件下载并传播。因此,使用常规文件扫描(例如clamscan)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top