2009-04-22 66 views
2

我的公司创建了一个应用程序,可以从一个邮件收件人发送大附件到另一个(因为大多数邮箱非常有限)。如何防止Warez的上传。 (asp.net,C#)

但是我们想知道如何防止warez上传? 目前所有的扩展都是允许的,但我们可以限制扩展到zip和图像。

但是,如果你压缩warez你仍然可以上传这些。

是否有任何工具,方法或类似的东西来防止通过我们的系统上传warez?

一些更多的信息:

这个项目是半公开的。它主要用于客户和公司之间的沟通。因此,我们公司的电子邮件地址始终是必需的(无论是在发件人内部的接收者中,但是您都知道操作这个邮件是多么容易)。

回答

6

编辑

如果你在你的编辑说,这是为客户送东西给你,那么我会非常小心允许的电子邮件地址。有没有什么可以阻止某人放入分发邮件地址。例如如果有些调皮的人发送大文件[email protected],将它分布还是会被封锁

ORIGINAL

如果这是一个开放/公共系统,那么它会被滥用。有办法可以随时解压缩zip文件以检查其内容,甚至可以检查文件mimetype头以执行更多限制,但它不会改变某人可能想要合法发送演示文稿的AVI文件的事实,而其他人则需要上传盗版电影。

如果这是公司内部使用的,我建议限制访问(将系统绑定到您的公司LDAP/ADSI系统并让用户登录系统。

也将在地方一些文件的大小限制,那里有没有什么可以阻止一些脚本小子只是发送1GB左右的垃圾文本文件,只是让人讨厌,吃了你的带宽可能是必要的

2

你永远可以重新命名,例如,扩展名为.jpg的.rar扩展名,并让下载者知道重命名该文件以打开“Warez”。 除了采取随机抽样,测试你的自我,然后手动删除你不想要的东西以外,没有办法阻止它。

2

简答:不,你不能。

你可以从列表中寻找文件名,但会失败(例如,你可能会禁止“MS Word”,但如果有人上传一个无辜的“MS Word.doc”,那么你失败了;或者如果这个坏人重命名了他EXE为“MS W0rd”你失败了

你可以查找文件中识别的序列。 - ,一旦他们申请甚至是简单的加密或压缩失败

您可以创建用户帐户和谁胡作非为禁止用户,但是这样做是失败的,因为你必须花费很多精力来监管它,并且无论如何用户可以使用网络邮件地址创建多个帐户。

我的建议是让这个别人的问题。让用户上传文件给别人的系统(微软SkyDrive,亚马逊S3等),然后他们可以担心法律方面。

1

如果有人发送密码保护的RAR档案以确保某些文档的安全会怎么样?你不可能看到它 - 而你也不应该 - 不是你的生意。

例如,我们在网络中遇到了一些访问权限问题。我需要在我的开发人员机器上安装一些第三方组件。由于当时我无法访问我们的存储库,我只是收到每封电子邮件发送给我的安装包。现在,外人怎么可能决定一个文件“SomeCoolComponent.msi”是从互联网下载的warez副本还是我有权使用的100%合法副本?

我们曾经在大学时,我们的电子邮件帐户突然封锁所有密码保护的档案作为附件。你猜怎么着?我并没有停止对它们进行加密。我停止使用该帐户。

0

假设你可以在建立解压支持,您可以使用此启发式方法来确定是否一个给定的上传档案的名单中(从现实世界warez的分配方法得出的):

  • 获得包含在存档文件名
  • 如果档案包含(.nfo或.diz文件)和(exe或ORMS或包含上述档案之一的档案),则会阻止上传文件包含一系列zip/rars/00X文件阻止上传
  • i f文件是一个exe文件,检查它是否是SFX,如果是zip,rar或7z SFX检查嵌入式存档

否则只要接受上传,请确保您在TOS中明确声明该公司是不对用户上传负责。

1

不 - 你不能用工具或框架来防止这种情况。

您可以通过禁止/列入违反政策的用户列表来阻止此行为。

试图在代码中做所有事情并不总是最好的主意 - 有时候一个简单的“打破规则,你被禁止”的政策是最好的。