我想让上传到 Web 服务器的文件的内容在使用后无法恢复。我的担忧是:
注意这是一个 ASP.NET Web 应用程序。
编辑 :感谢 djeeg 指出如何将临时上传目录重新定位到更可控的地方的链接。
对其他点有任何反馈吗?
最佳答案
磁盘安全
您可以让删除 实用程序为您完成工作。
如果你在 Mono/Linux 上运行 ASP.NET,你可以使用 wipe
命令通过 Process
类(确保安装了wipe包)。
如果您运行 Windows,方法是相同的。使用 wipe.exe
当您需要安全地处理文件时执行硬清理的实用程序。
我喜欢 this分发免费wipe.exe 的网站,它不包含在Windows 标准安装中(太糟糕了)。
第二种方式是实现Guttman algorithm ,但我认为使用别人的代码更便宜。
请记住,删除是非常 I/O 密集型的,不要等待它完成,否则您可能会显着降低应用程序的速度。此外,在高负载的网站上,您可能会遇到明显的减速。
内存安全SecureString
class 帮助您在内存中不留下任何字符串的痕迹。但是当您处理文件时,您实际上是在处理流。我不确定是否担心 volatile 内存的内容(即使您处理 Wikileaks 文档)。
您必须先执行 威胁分析告诉你内存的主要威胁是什么。以下是一些问题:
如果答案是否定的,你不应该担心内存安全
交换空间安全
即使您在 Windows 上运行,让我将页面文件、虚拟内存文件或其他任何内容称为“交换”。您可能会考虑禁用它(确保您有足够的 RAM),否则,您可能会考虑对其进行加密(但性能会下降)。
但同样,为了让某人在运行时扫描您的交换文件,他必须是 root,或者对关闭的服务器具有物理访问权限。
如果数据太敏感,我会去禁用交换。
[添加]我确定你已经使用SSL上传文件,以防你忘记了一些原则......
关于asp.net - 如何确保上传的文件内容使用后无法恢复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4721247/