我正在寻找一种以安全的方式(粉碎)从RAID 6实施中删除文件的方法。 是否需要从RAID中删除文件,拆卸RAID,擦除每个驱动器的可用空间,然后重新组装RAID? 这会工作吗? 这样做后数据会保留吗?
这一切都取决于RAID(和文件系统)的实施。 在基本的RAID 6实现中,您可以在将文件从文件系统中删除之前将其切碎。
这是有效的,因为写入RAID会导致数据以及奇偶校验盘被更新(通常RAID 6将有两个奇偶校验盘)。
更高级的RAID(或文件系统)可能具有更好地处理中途终止的操作的function。 这些function可能会将数据保留在除主要分配给文件的其他扇区上。 如果存在任何这样的高级特征,则如果文件已被切碎,则数据可能仍然存在。
这些问题适用于重新映射的硬盘扇区。 在SSD上平衡testing。 文件系统日志以及RAID实现中的日志(如果RAID使用日志)。
在SSD的情况下,最好的办法是使用TRIM命令。 在其他情况下,使用shred命令通常是足够安全的。 但是,如果需要非常高的数据泄漏安全性,则可能需要采取如覆盖整个驱动器这样的激烈措施,然后对每个盘片进行消磁和物理破碎。
从理论上说,RAID实施可以通过用单独的密钥对每个物理驱动器进行encryption,并将密钥存储为所有磁盘上的秘密共享,从而为您提供更好的防止数据泄漏的保护。 这可以确保如果RAID中的有缺陷的磁盘一次被replace一次,则不会从拆除的磁盘中恢复数据而不破坏encryption。
在大多数情况下,您无法拆卸RAID并擦除底层驱动器上的可用空间。 这是因为自由空间的概念只在文件系统内被跟踪,所以一旦RAID被拆卸,就无法区分可用空间和已用空间。 如果RAID实现TRIM命令,则可能会有例外,但尝试擦除拆卸的RAID上的可用空间仍然不太可能有意义。
有人可以从一个RAID 6集恢复数据,如果它被删除和擦,有足够的资源和时间,可能。 我想不出任何人会说磁盘集是安全的,除非文件系统有某种全磁盘encryption或文件本身被encryption。
为了粉碎文件,我喜欢用dd来覆盖现有的文件
dd if = / dev / urandom of = / file / to / shred bs = 1m count = {文件的MB大小}
要真正确保随机性,您可以预设多遍
之后,它应该是安全的。