通过电子邮件发送zip文件的最可靠方法是什么?[关闭]


9

我经常让客户通过电子邮件将zip文件发送给我,只是发现他们的公司防火墙已删除附件。通过电子邮件发送压缩文件并避免因急切的防火墙剥夺附件的最直接方法是什么?

澄清一下,我不担心发送文件,因为我可以将文件托管在自己的Web服务器上进行下载。我正在寻找一种让客户通过电子邮件将文件发送给我的简单好解决方案。

进一步说明:由于我可以控制在脱机客户端系统上运行的软件,并且可以控制数据文件的创建方式,因此我仍想探索如何打包数据以使其尽可能容易地打包的选项。专门发送电子邮件。我想避免要求我的客户安装任何其他软件或在其末端使用第三方网站。

Answers:


2

我认为您实际上在采用加密方法方面正处于正确的轨道上。问题的一部分是加密的zip仍然是zip,仅出于该原因,它可能会被某些防火墙阻止。

让您的软件压缩数据,然后加密文件,但不在zip框架内。您最终将获得一个文件,该文件不会以任何禁止的文件类型出现在防火墙中。一个简单的替换密码可能就足够了。保存没有扩展名的文件。

  • 客户端:数据->压缩-> rot128->转储文件
  • 客户端发送“ dumpfile”作为附件
  • 您的结尾:dumpfile-> rot128->解压缩->享受

感谢大家提供的所有出色答案。我认为这与我一开始就担心的唯一答案是最接近的-在可靠地发送zip文件之前对其进行完全加密和重命名。我确实希望答案是第三方文件上传站点之一,但是最初的问题指定了电子邮件,并且我已经尝试了一些建议,并发现它们在客户端的防火墙处被阻止。
jacobsee

18

通常,我要做的只是将文件上传到可以从服务器下载内容的位置。这样,它也不会阻塞他们的收件箱。

如果您空间有限,Dropbox是一项很棒的服务,可为您免费提供2GB的公共可用空间(也提供出色的同步工具!)。

更新:看来我一开始误读了您的问题;您实际上是在询问客户向您提供文件,而不是您向他们提供文件。无论如何,我的答案保持不变。如果他们完全精通技术,则可以设置一个SFTP服务器以将内容上传到该服务器。但是,使用Dropbox仍然是小菜一碟。为每个客户端设置一个共享文件夹,然后他们可以将文件放入该文件夹中,这些文件将自动同步到您的计算机。


我也开始为此目的使用Dropbox。我可以将压缩文件放入计算机上dropbox的公用文件夹中,获取共享URL,然后将其粘贴到电子邮件中。收件人下载文件后,您可以将文件移动到PC上的其他位置,也可以将其删除以使其无法访问。
伯贝里希

我的解决方案通常是WinSCP,它具有类似资源管理器的界面(看起来非常像CuteFTP一样,许多公司用户都很熟悉)。但是,由于这不是电子邮件解决方案,因此我将避免使用。我要补充一点,尽管Dropbox可能优于SCP / WinSCP,因为(1)我相信它使用HTTP,因此它可以穿透更多的防火墙,以及(2)您不需要设置SSH主机。
jhs,2009年

+1为SFTP服务器建议。你可能有Dropbox的问题和客户端把一个文件的第三者的服务器上
马修·法威尔

14

我发现发送.7z文件或发送FILE.zip.potato时幸运。然后,我指示收件人将文件重命名为.zip。它出奇地好。

你会觉得有更多的电子邮件客户端/服务器将检查,看看它到底是怎样类型的文件,但我想这个问题不发送压缩文件,它发送病毒压缩文件。如果收件人必须重命名文件才能使其正常工作,则他们必须相当了解自己的工作,因此他们不太可能会意外重命名,提取和运行病毒。


1
我总是让他们将文件扩展名重命名为.dat,但是在这种情况下不起作用-防火墙仍然将其删除,直到我更改为7z格式并添加了密码。下次,我将不得不尝试.potato :)
jacobsee

确实,重命名附件的人们通常知道他们在做什么,但是总有Dancing Bunnies问题< codinghorror.com/blog/archives/000347.html >。

大多数商用扫描仪不够智能,无法解决双重命名的问题。是的,它有效。是的,这是一个很大的安全漏洞。
艾利·佩恩

禁止所有zip文件是处理病毒的一种愚蠢的愚蠢方法。向扫描仪添加zip支持很简单。
亚当·拉瑟克

@亚当·罗森菲尔德(Adam Rosenfield):“跳舞兔子”链接已断开
凯利·S·

6

那里有许多文件发送服务,可以通过其网站接收上载的文件,并会向您发送链接以供下载。这使处理电子邮件服务器文件的工作变得很紧张。这样的服务之一就是SendThisFile


当您必须发送“大量”的数据(对于您的邮件服务器而言,“大”是什么)时,SendThisFile也是一种解决方案。将它们拆分成成千上万个拉链是很痛苦的。
马丁

2
我曾经用过yousendit.com并祝您好运。有时,这些类型的网站也会受到公司政策的阻止。我不知道他们如何期望人们发出东西。
jacobsee

这里的另一个选项是mailbigfile.com
Hamish Downer

6

我认为您遇到的是社会问题,而不是技术问题。

如果我没看错您的问题,那么您有很多客户会不时地向您发送(压缩)文件,其中很大一部分由于其公司的防火墙而无法发送。如果我说的没错,我建议您需要向客户表明,他们的企业防火墙急切需要他们,他们需要包括防火墙维护者,最重要的是,将策略制定者纳入其中。讨论。

大多数体面的IT安全人员将理解该问题,并希望将其包含在寻找解决方案中,而不是四处寻找。这意味着他们会有所帮助。这是假设您的客户实际上有不错的IT安全人员,这当然不是给定的。:-/


5

没有100%的解决方案。例如,我的垃圾邮件/恶意软件探针不仅查看文件扩展名,还查看文件类型。重命名一个压缩到.zi_将无法工作,因为它“闻香”的zip(查看文件的结构和指纹)。双扩展名不仅被简化为“内部”扩展名(再次,用名称将其捕获),而且还被扩展了。它会自动将拉链扩展到12层以上(同时避免拉链爆炸),因此将拉链隐藏在拉链中也不起作用。即使是作为EXE文件到达的自动提取程序,也将使用相同的逻辑进行自动扩展。

只要您可以将拉链中的东西隐藏起来以“绕过扫描仪”,攻击者就可以这样做。这不是一件好事。尽管目前尚不常见,但大约2-3年前,通常压缩并发送病毒有效载荷非常普遍,因为他们充分了解许多男性最终用户无法抵御“勉强看到”的诱饵。衣服的女性在您的工作计算机上私底下,只需将其解压缩并运行程序即可”,最终使IT员工陷入混乱。令您大为烦恼的是管理员为自己的理智而在其他地方制定的一种安全措施。

对于某些站点,允许zip文件就很好了,因为安全性问题不是很大,或者计算机锁定得很好并且具有严格的扫描防御。对于其他人来说,这可能是一个定时炸弹,它在没有桌面扫描的情况下等待在柔软的目标网络上爆炸。其他站点可能仍在禁止它们,因为它们不希望最终用户从外部引入程序,这可能会干扰企业所需的“该”应用程序所需的特定配置。

我们仍然时不时会收到病毒警告,是的,其中一些已被压缩。

我将文件托管在其他位置,并由具有适当访问权限的人员使用网络浏览器将其提取。


我看不出这种逻辑。电子邮件文件受到严格控制,但是http通信是否可以自由通过?如有任何漏洞……^^
Oskar Duveborn

HTTP流量受到严格监管。可执行文件仅由IT人员下载。因此,除非有一个员工在脑海中钻出一个洞,否则就不会有洞。
艾利·佩恩

4

如果您的客户是技术人员,并且会理解此处列出的建议和答案,那么您就很好了。

您可以尝试发送带有样板文本的电子邮件,该电子邮件包含按照步骤发送文件的步骤。他们将有一些要回答的东西,并希望能回答所有可能出现的问题。不要忘记自定义主题行,这样您就可以在收到的回复中找到各个回复。甚至是一个小型应用程序,您都可以运行,同时按需(在电话或与客户端的IM上)按需发送此类电子邮件。

但是,如果您的客户不太熟练(那种将屏幕快照嵌入到幻灯片中的类型),那么您还会遇到其他麻烦。其他建议很可能会引起很多混乱并引发更多问题。在这种情况下,您最好使用自定义网站(或页面),该网站可以引导他们通过您的网页直接向您上传文件(或者至少看起来像直接向您上传文件)。您的某些客户可能会对将他们认为敏感的数据放到看起来是公共站点的内容上有所保留,即使它确实是安全的。他们会更好地直接与您的网站而不是第三方打交道。


与我打交道的客户不使用Power Point。而是将屏幕截图粘贴到Word文档中。我也喜欢使用自己的网站来处理此问题。
雅各布·斯科恩

如果您能够托管自己的网站,则创建简单的文件上传表单将变得很简单。然后,您可以让该页面通过电子邮件向您发送附件,或者,如果防火墙也将其剥离,则将该页面转储到您从中检索的驱动器或网络共享中。您甚至可以要求他们提供客户编号,然后动态更改文件名以包括该编号(以区分许多上传的文件)。如果安全性成问题,请为您的站点获取SSL证书并将其隐藏在该站点后面。如果出现匿名使用问题,则需要一些客户端数据来验证上传。
米尔纳2009年

2

我想到的一种解决方案是让他们使用带有密码(AES-256加密)和7z格式的7-zip而不是zip。它工作了一次,但不确定我是否很幸运。

重命名文件扩展名是我尝试的第一件事,但没有帮助。


2

最好的选择是不要将其联机,而是将其上传到许多文件托管站点之一。没有万无一失的方法可以绕过防火墙和防病毒软件。


2

您可以尝试使用uuencoding或base64编码,以避免邮件网关剥离multi-mime附件

cat testfile | uuencode | mail you@domain.com

2

基于我在FogBugz重命名“可疑”文件并添加.unsafe扩展名的经验,我通常会发送所有带有.unsafe扩展名的二进制附件,并指示用户对其进行重命名。

使用诸如这样的扩展名,该扩展名.unsafe不可能与任何其他程序相关联,因此即使用户打开了“隐藏已知文件类型的扩展名”,该扩展名也将显示在Windows资源管理器中。此外,这些文件扩展名不会被Outlook阻止。

对于仅查看文件类型而不是扩展名的防火墙,没有任何解决方案,它们更有可能阻止文件类型与扩展名不同的内容。唯一的解决方法是使用服务

最重要的是,使用该.unsafe方法可以绕过GMail过滤器。我们大多数员工的电子邮件都抄送给服务器端的Gmail,因此,如果我们在ZIP内包含可执行文件并将它们复制到Gmail帐户中,那么我们总是会从各种内部邮件列表中反弹。



1

当压缩文件被客户端的防火墙过滤掉时,最好的选择是询问一个SFTP帐户。我曾经有过这样的经历。解决方案是SFTP ;-)


SFTP,您的意思是。;)
Sophie Alpert

@Ben Alpert,是SFTP。刚刚编辑了我的答案。感谢您指出;-)
MarlonRibunal

1

因为我可以控制在客户端系统上运行的软件,而且可以控制如何创建数据文件

您没有指定它们正在运行哪种软件,但这似乎是一件很“正常”的事情。

从您的软件中,为什么不联系您的服务(例如WCF)并发送带有附件文件(或日志文件,或者您认为有可能帮助您解决此文件将要解决的任何问题的信息)的消息,我可以给您一个例:

在“日志”组下名为“ SendToSuperOffice”的程序集文件(Windows和Web版本)中,可以将SuperOffice CRM作为一个选项(如果设置为true,则它们将使用数据库密钥从客户端软件中获取日志文件(客户端序列号)以及所有错误和失败,并以这种方式帮助客户...与最终用户打交道,其中有些人甚至在电子邮件中发送文件都遇到问题时,无需让客户端发送文件或信息就太神奇了!


+1,因为您已经有了客户端代码,因此完全不需要电子邮件,并通过网络服务呼叫发送文件。如果您仍要发送电子邮件,请通过网络服务呼叫发送文件,然后发送电子邮件告知您文件已上传。
WaldenL,2009年

糟糕,还应该提到这是一个离线应用程序-会再次更新我的问题!
jacobsee

离线...完全没有互联网连接?甚至没有创建带有附件的电子邮件并将其发送或什至将其放置在队列中?
balexandre,2009年

1

这完全是不可能的,对于您来说可能不是理想的解决方案,但是请考虑编写一个小型独立应用程序,该应用程序将文件作为输入并写入该文件的新副本,并将所有字节与0xFF进行XOR运算。也许给它相同的路径,但是有一个额外的扩展名,例如.dat。客户可以将其放在桌面上,只需将文件拖到桌面上即可。Windows应使用源文件的完整路径名作为参数来运行程序。

对于一半的编码,这应该几乎不超过几十行代码。

是啊 是啊 我知道,对吧!我能说什么,我们都是半程序员。


我还要补充一点,如果恶意软件扫描程序已经很熟悉XOR 0xFF技巧,那么您可以仅使用带有硬编码密钥的对称加密。对于大多数脚本环境的标准库,.NET,Java或任何其他工具,这仍然应该非常简单。
jhs,2009年

哦,您会得到很好的工作保障。
jhs,2009年

1

我将文件上传到senduit。您可以将其在那里最多保存一周,完全免费。您最多可以上传100MB,不需要任何软件。


1

我们使用共享文件,它不是免费的,但确实可以使人们轻松地向您发送文件。您可以向他们发送一封电子邮件,其中包含指向.sharefile.com /的链接(该站点可以拥有您自己的品牌,如果您担心它看起来像是第三方网站),则他们可以通过HTTP上传文件。

我们需要这样做,以允许客户端向我们发送大文件(范围在100mb至2gb之间),并且由于防火墙策略的缘故,无法设置和设置ftp服务器。


看起来真的很圆滑-一定会对此进行调查。
jacobsee

我已经找到一位同时封锁了yousendit.com和sharefile.com的客户
jacobsee

1

如果您正在寻找客户解决方案,那么这显然需要尽可能简单明了。由于通过电子邮件发送ZIP文件本质上是不可靠的,并且要求客户通过FTP上传非常麻烦,因此基于Web的文件上传器将是最熟悉,最可靠的方法。YouSendIt的Business Plus计划非常适合这里。

  • 托管的保管箱页面,客户可以在其中发送文件
  • 品牌页面和电子邮件可匹配您的业务

我认为,YouSendIt的SiteDrop附加组件可提供最佳体验。客户可以使用嵌入式上传器直接在您的网站上上传文件,上传完成后,您和他们双方都将收到确认电子邮件。


我真的很喜欢这种想法-ShareFile.com与此类似。不幸的是,我确实知道某些客户无法访问yousendit.com,因为我们以前使用的是免费版本。
jacobsee

1

如果我没看错,那是在问您的客户端,当防火墙过滤zip文件时,客户端如何能够可靠地通过电子邮件向您发送zip文件,而您的客户端不必安装任何其他软件。

假设防火墙实际上检查的是文件结构,而不仅仅是扩展名,您不能。不受这些约束。

我们可以建议其他解决方案(对文件进行加密,使用防火墙无法理解的zip程序,修复防火墙等),但是如果不了解有关防火墙实际上是如何进行过滤的更多信息,就无法知道它们是否会帮助。一些基本问题:

  • 防火墙的型号/型号是什么?
  • 为什么有时会“剥离”附件?为什么不总是这样?
  • 防火墙可以检查哪些附件?
  • 防火墙对未知附件类型有何作用?
  • 为什么不能停止剥离附件?

对于当前的信息,正确的答案是停止剥离附件或使用非电子邮件解决方案。


不,不是我的防火墙,而是发送端的防火墙,不仅是一个防火墙,而且通常是所有公司防火墙。都是不同的。这是一个棘手的问题:)
jacobsee

1

这个问题长期以来一直是封闭的,但偶然发现了这个问题,也被发现它的其他人发现:我使用的一种解决方案是对电子邮件本身进行加密。在Apple的Mail.app上执行此操作很简单,在Outlook上也非常容易。它确实依赖于双方都有数字证书-您可以从http://www.comodo.com/home/email-security/free-email-certificate.php免费获得个人使用(或少量业务费用)-当然还有许多其他数字证书提供商。我刚选了Comodo,因为这是我用过的。


0

我通常只是将zip文件重命名为.zi_,然后告诉他们将_更改为p。没让我失败(至今)。

-唐


0

如果您不想绕过数据检测,则可以使用隐写术 -也就是说,将文件隐藏在(最常见的)图像文件中。Wikipedia链接上有一堆免费应用程序的链接,可以为您执行此操作。


0

去除.zip或任何其他压缩存档的防火墙/邮件服务器是错误的处理问题的方式,恕我直言。为了“保护” 0.01%的外部用户的安全性,这些系统管理员正在惩罚其余100%的内部用户。

好的防病毒软件(客户端和服务器端)是一个好的解决方案。

我在一家公司(4000名员工)工作,该公司允许使用.zip附件,而且几乎没有人遇到任何病毒/恶意软件问题。


0

鉴于您控制着交换的两端,一个丑陋但可能可行的解决方案基本上是在滚动您自己的MIME:就SMTP而言,发送纯文本的电子邮件,并在您自己的分隔符和您的分隔符中包含base64编码的数据自己的内容描述标记。


0

您的问题特别表明希望他们发送电子邮件给您。如果确实需要,那么确实没有万无一失的解决方案。电子邮件不是为移动大块数据而构建的!

您可以在Web服务器上打开FTP(或SFTP)服务器。如果您使用的是IIS,则很简单。您可以为客户设置用户,并启用基于Web的文件上传。


0

如果您不是在谈论发送文件,而只是在接收文件,那么您是否不控制自己的邮件过滤器?您可以不对其进行调整以允许特定内容吗?(发送邮件服务器通常不会删除任何附件,只会删除接收附件)

邮件扫描程序通常会打开它们可以压缩的任何附件,以便它们可以扫描附件的内容。未知的压缩技术可能会导致文件被隔离。但也有一般一套禁止扩展未被允许被接收。(例如.exe,.bin-等)。一些邮件过滤器将这些反弹,另一些过滤器将附件去除。

不确定是否有帮助。


实际上,根据我的经验,公司网络确实在发送端去除了.zip附件。我所得到的只是底部的一条消息,内容为“ CORROPT CONTENT ALERT”。发现替换的内容已损坏。损坏原因:未知。有关更多信息,请咨询系统管理员。版权所有1999-2007 McAfee,Inc.' 感谢McAffe!
jacobsee

许多SMTP服务器(不仅是公司的SMTP服务器)都配置为扫描传出的邮件,甚至来自经过身份验证的用户。如果服务器的用户之一(即使不是故意的话)开始发送恶意软件,则运行这些服务器的用户会担心这种情况。
托尼·迈尔

0

问题-没有100%的解决方案可以解决所有人的问题

您不会找到一种万无一失的方式来通过适用于所有人的电子邮件发送zip文件。有些地方有白名单-它们会阻塞每个附件,但会严格扫描一些附件。其他地方不在乎文件名,它们会扫描文件本身,并且如果内部看起来像zip文件,那么它们仍然会阻止它。

如果您使用单独的加密程序对文件进行加密(仍然可以检测到受密码保护或加密的zip文件),然后将文件名更改为无害,那么在很多情况下都会通过,但您要让客户关注几个步骤-增加摩擦,您将失去客户。

通常,您甚至无法做到这一点,因为他们无法运行或安装系统上尚未拥有的软件。

最好的选择是为人们提供另一个低摩擦的渠道。

解决方案-Web表单上传(简单,便宜,对您和客户来说都很容易)

使用上传按钮和Web表单设置网站。指导有此问题的用户使用Webform上传版本。

到那时,您甚至可以通过网络表单将文件作为附件通过电子邮件发送给您,因此它对您来说是无缝的。

一个简单,便宜的虚拟主机每月只为您花费几美元(如果您想成为低端用户,则可以免费)。对您的客户而言摩擦很小。

代码示例

如何使用文件附件创建基于PHP的电子邮件表单

-亚当


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.