服务器端病毒扫描

9

我需要在Linux服务器上扫描上传的文件以查找病毒,但我不确定如何进行。

如果有的话,我的选择是什么?我还想知道当多个用户同时发送多个文件时,扫描器的性能如何。


你想要在MTA上扫描共享文件系统或电子邮件流量吗? - Yaba
更像是检查用户提交的文档文件。如果有人通过输入表单发送了一个zip文件,我希望能够在允许其显示在讨论板上之前先检查一下。 - kari.patila
7个回答

18

以下是对ClamAV进行已知病毒测试的结果(问题在于,这些结果都不应该通过):

+-----------+------------------------------+
|  Results  |             File             |
+-----------+------------------------------+
| infected  | AdvancedXPFixerInstaller.exe |
| pass      | auto.exe                     |
| pass      | cartao.exe                   |
| infected  | cartoes_natal.exe            |
| pass      | codec.exe                    |
| pass      | e421.exe                     |
| pass      | fixtool.exe                  |
| infected  | flash_install.exe            |
| infected  | issj.exe                     |
| infected  | iwmdo.exe                    |
| infected  | jobxxc.exe                   |
| infected  | kbmt.exe                     |
| pass      | killer_cdj.exe               |
| pass      | killer_javqhc.exe            |
| infected  | killer_rodog.exe             |
| infected  | kl.exe                       |
| infected  | MacromediaFlash.exe          |
| infected  | MacromediaFlashPlayer.exe    |
| infected  | paraense.exe                 |
| infected  | pibzero.exe                  |
| pass      | scan.exe                     |
| pass      | uaqxtg.exe                   |
| pass      | vejkcfu.exe                  |
| infected  | VIDeoSS.exe                  |
| infected  | wujowpq.exe                  |
| pass      | X-IrCBOT.exe                 |
+-----------+------------------------------+

14

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

至于将这样的产品集成到您的文件上传流程中,那将取决于您实际使用的文件上传流程。


Clamav表现出色,而且让它与Python一起使用非常容易。 - kari.patila

3
如果您关心性能问题,请考虑使用clamd/clamdscan作为您的实现。 clamd作为守护程序运行,因此所有初始化成本只需执行一次。然后,当您使用clamdscan扫描文件时,它只是将文件提供给一个分叉的clamd来进行实际扫描。如果您有大量流量,这样更有效率。
如果您有超出此范围的性能问题,则应考虑使用商业产品。大多数主要厂商现在都有Linux/Unix版本。

我认为雅虎使用Symantec作为邮件服务。Hotmail选择了Trend,我猜测。目前我会尝试使用clamd/clamscan,并尝试向F-Secure寻求建议,因为他们几乎是唯一一家从事这种工作的芬兰公司。 - kari.patila

2

您应该了解一下opswat的MetaScan。这个工具可以管理文件的更新和多引擎扫描。它捆绑了AVG,CA eTrust™、ClamWin、ESET NOD32 Antivirus Engine、MicroWorld eScan Engine、Norman Virus Control和VirusBuster EDK。此外,它还会调用Nortons等引擎。优点是您可以对文件进行多引擎扫描。


0
你应该尝试找一个有公共API的杀毒软件供应商,这样你就可以通过编程方式扫描文件。这比通过上传脚本来搞其他进程要容易得多,从长远来看更加可靠。

确切地说,你有没有想到其中的一个可能是谁? - htm11h
关于iDisposable的评论,OPSWAT也有一个API(https://www.metascan-online.com/en/public-api)用于扫描文件(包括zip和其他存档文件)。 - Naimah Nash

0

你有用商业扫描器来检测过吗?我曾经是一个产品的管理员,该产品可以同时通过4个商业扫描器运行文件。我有一个测试病毒语料库,其中包含几百个病毒,但是没有一个商业扫描器能够找到它们所有的病毒...


还没有。这个测试包是当地反病毒社区推荐的,所以我想它们代表了最新和最常见的病毒。我知道检测率通常在20%-80%之间,这并不是很好。 - kari.patila

0

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

我有一个Squid(https+cache)<-> HAVP(带有clamAV)<-> Tomcat反向代理设置。HAVP(http://www.server-side.de/)是一种通过ClamAV或任何其他商业杀毒软件来扫描http流量的方法。它将防止用户下载感染的文件。

然而,它在上传时不起作用,因此它不会阻止文件存储在服务器上,但会防止文件被下载和传播。因此,请与常规文件扫描(例如clamscan)一起使用。


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