我有一个关于安全删除的问题。SDAx 是 ext4,SDA5 是根。
我可以dd if=/dev/urandom of=/dev/sda bs=4096
在通过 ssh 或控制台连接到服务器时运行吗?或者我需要有一个 live boot cd 才能做到这一点?或者也许我只能销毁 /dev/sda5 ?
这 3 个命令之间有什么区别 - 我应该使用哪个命令来安全地销毁数据,使其无法恢复。
dd if=/dev/urandom of=/dev/sda bs=4096
dd if=/dev/random of=/dev/sda
dd if=/dev/zero of=/dev/sda
hred -n1 /dev/sda" 比上述方法更快更可靠。
使用 /dev/random 可能不会在合理的时间内完成,因为没有足够的熵。使用 /dev/urandom 将通过基于它可以获得的真实随机性创建更多随机的东西来解决这个问题。
使用 bs=4096 设置块大小。在某种程度上,更大的块大小更好。
使用 /dev/zero 擦除可能就足够了,但可能存在一些理论上的攻击(放大跟踪信号),理论上可能会产生一些数据。
使用引导盘是最可靠的方法,dd'ing 活动分区不是一个好主意,因为它可能会在系统完成之前导致冻结。
远程擦除数据的一个公平的部分解决方案可能是删除所有用户信息,然后 dd if°/dev/urandom of=large.file; RM large.file 然后使用 shred /dev/SDA - 这将提供更大的确定性用户数据被删除。
请注意,驱动器上可能存在残留数据(例如标记为坏的扇区周围),由于过度配置,SSD 更是如此。