我的老板来找我,询问如何确保通过网页上传的文件是安全的。他希望人们能够上传 pdf 和 tiff 图像(等等),而他真正担心的是有人在 pdf 中嵌入病毒,然后查看/更改(并执行病毒)。我刚刚读到了一些有关程序的内容,该程序可用于通过更改最不重要的位来破坏嵌入图像中的速记信息。是否可以使用类似的过程来确保病毒不被植入?有谁知道有什么程序可以清理文件吗?

更新:因此,团队对此进行了一些争论,一位开发人员发现了一篇关于让文件下载到文件系统并让保护网络的防病毒软件检查那里的文件的帖子。发帖者实质上是说,对于一些产品来说,使用 API 或命令行太困难了。这对我来说似乎有点笨拙,因为我们计划将文件存储在数据库中,但我以前不需要扫描文件是否有病毒。有人对此有什么想法或经验吗?

http://www.softwarebyrob.com/2008/05/15/virus-scanning-from-code/

有帮助吗?

解决方案

我建议通过防病毒软件运行您上传的文件,例如 蛤蜊病毒. 。我不知道如何清理文件以删除病毒,但这至少可以让您在查看受感染的文件之前检测并删除它们。

其他提示

图像文件中嵌入的病毒不太可能成为您的应用程序的主要问题。问题是 JAR 文件。带有 JAR 预告片的图像文件可以作为 Java 小程序从 Internet 上的任何页面加载,并使用指向您的应用程序和服务器的同源绑定 (cookie)。

处理图像上传的最佳方法是裁剪、缩放并将其转换为不同的图像格式。图像在转换之前和之后应该具有不同的大小、哈希值和校验和。例如,Gravatar 为 Stack Overflow 提供“好友图标”,它会强制您裁剪图像,然后将其转换为 PNG。

是否有可能构建利用 Word 或 Acrobat 中的漏洞的恶意 PDF 或 DOC 文件?大概。但 ClamAV 不会很好地阻止这些攻击;这些不是“病毒”,而是查看器软件中的漏洞。

这取决于您公司的预算,但有一些硬件设备和软件应用程序可以位于您的网络服务器和外部世界之间来执行这些功能。其中一些是内置防病毒软件的硬件防火墙。有时它们被称为应用程序网关或应用程序代理。

以下是使用 Clam-AV 的开源网关的链接:http://en.wikipedia.org/wiki/Gateway_Anti-Virus http://gatewayav.sourceforge.net/faq.html

您可能需要将实际的病毒扫描程序链接到上传过程(就像许多病毒扫描程序确保您在浏览器中下载的文件是安全的一样)。

为了自己执行此操作,您必须使其保持最新,这意味着保留病毒定义库,这可能超出您的应用程序的范围(甚至可能不可行,具体取决于您组织的规模) )。

是的,ClamAV 应该扫描文件,无论扩展名如何。

使用反向代理设置,例如

www<-> HAVP <-> 网络服务器

HAVP(http://www.server-side.de/) 是 一种扫描http流量的方法 通过 ClamAV 或任何其他商业防病毒软件。它将阻止用户下载受感染的文件。如果您需要 https 或其他任何内容,那么您可以将另一个反向代理或 Web 服务器置于反向代理模式,以便在 HAVP 之前处理 SSL

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

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