在Linux日志文件系统上安全地删除文件

我是新来的真正的系统pipe理,但已在我的家里运行Linux服务器多年。 我并没有太在意安全,因为我在工作中维护的less量服务器一直在内部网上,所有员工都可以访问存储在服务器上的所有信息,所以这是我第一次尝试真正保护系统。

我知道很多(或者可以在互联网上find它)关于locking一个系统的生产使用,但我似乎无法find大量的安全删除文件的Linux机器上使用日志文件系统

从我读过的日志来看,由于日志过程,即使使用srmshred等工具,也容易受到数据恢复的影响。

那么,在Linux上安全删除文件的最佳方法是什么? 使用LVM有什么区别?

非常感谢!

编辑1:添加一点澄清,我想要安全的服务器将包含其他用户的数据,所以虽然我可以删除(或碎片)的文件,我不能这样做整个分区,因为它将包含数据对其他用户仍然重要。 到了时间到了,我并不担心驱动器的安全。 如果需要的话,我可以把它放在一个巨大的磁体前面,然后把它扔到火山里,我担心它会从远程访问中得到保护。 物理站点是相当安全的,虽然encryption驱动器可能仍然是一个好主意。

编辑2:编辑标题,以更准确地描述我正面临的问题。

如果你使用ext3,很可能只有元数据被logging,这是ext3的默认行为。 如果您查看碎纸的手册页面:

在ext3文件系统的情况下,上述免责声明仅适用于(数据=日记模式),除了元数据之外还logging文件数据。 在数据=有序(默认)和数据=写回模式下,碎片工作如常。 可以通过在/ etc / fstab文件中为特定文件系统的挂载选项添加data = something选项来更改Ext3日志logging模式,如挂载手册页(man mount)中所述。

然后,你检查你的/ proc / mounts ,看看你的挂载文件系统的mount-flags是什么。

一个例子:

 $ grep -i data /proc/mounts /dev/root / ext3 rw,data=ordered 0 0 /dev/sda4 /stash ext3 rw,data=ordered 0 0 

在我的/存储/文件系统上,shred应该做足够的工作来安全地删除数据。

你可以这样说: shred对分区非常有用,而不是单个文件。 虽然暂时closures日志function可以防止出现一些问题,但是您的文件还是有可能存在于其他位置,以便可以从之前在文件上进行的其他日志logging中恢复。 所以,如果你想要安全,切碎文件。 如果你偏执,撕碎隔断。

这可能不是你想要的答案,但是日志和RAID有点不值得改正。 据我所知,LVM并不重要。

如果您打算存储必须对某人进行保护的数据(如果他们能够物理访问驱动器)。 那么只需简单地对文件系统进行encryption即可,这样默认情况下存储在文件系统中的数据就是安全的,您不必担心安全地删除东西。

我认为,如果您试图通过/ dev / sd进行安全防护,从根本上来说呢? 与dd或hexdump和恢复删除的文件没有太多,你可以保证任何现代文件系统。 最好的办法是定期用一个虚拟文件填充磁盘,以便所有未使用的空间都被覆盖,当然,您可以使用任何一种可用的Linux分区encryptionscheme。 encryption主要是为了防止脱机攻击,但有人窃取驱动器并通过它,数据在系统运行时显然是可读的。

 dd if=/dev/urandom of=$FILENAME rm $FILENAME 

可能会做的伎俩。 用随机位覆盖文件,然后删除它。 为了增加安全性/偏执狂,你可以做一些覆盖,在/ dev / urandom和/ dev / zero之间交替。

警告

我没有真正使用“dd”文件,只有硬盘。 阅读手册页,并在首先不关心的​​驱动器上进行testing。 我已经通过拧“dd”命令来干掉几个硬盘。

责任警告

“dd”是一个非常危险的工具。 不要在没有经过广泛testing的情况下在生产环境中运行这个工具,研究手册页,向您的神祗祈祷,重新阅读您的命令行。 按回车之前请三思。