保持数据安全的最好方法之一是只将数据写入加密的硬盘中。在一个标准的硬盘上,只需像挂载优盘一样挂载硬盘就可以查看数据,甚至可以用Scalpel和Testdisk等工具显示和恢复已删除的数据。但是,在一个加密的驱动器上,如果没有解密密钥(通常是你在挂载驱动器时输入的密码),数据是无法被读取的。
加密可以在你安装操作系统时建立,一些操作系统甚至可以在安装后的任何时候激活加密功能。
但是,当你卖掉一台电脑或更换一个一开始就没有被加密的驱动器时,你该怎么办呢?
与从一开始就加密你的数据相比,最好的办法就是在你用完硬盘后删除数据。
负责任的看门人
我经常被要求帮助客户升级一台旧电脑。无一例外的是,他们更愿意帮助我回收它们,以便它们可以被其他人使用。我很乐意翻新这些旧电脑,用较新的固态驱动器来改装它们,极大地提高性能。
然而,把一个旧驱动器扔进垃圾桶并不是一个好主意。它需要被擦除,然后被妥善处理。我没有把硬盘留在原来的电脑里,而是把它们取出来,放在一个硬盘盒里,然后把它们连接到我的Linux电脑上。有几个Linux工具可以很容易地完成这个任务。其中一个是Gnu Shred工具。
GNU Shred
$ sudo shred -vfz /dev/sdX
Shred有许多选项。
- n - 覆盖的次数。默认是三个。
- u - 覆盖和删除。
- s - 要粉碎的字节数。
- v - 显示扩展信息。
- f - 必要时强制改变权限以允许写入。
- z - 用零添加最后的覆盖,以隐藏粉碎的内容。
使用shred --help 获取更多信息
ShredOS
ShredOS是一个活的Linux发行版,它的唯一目的是清除驱动器的全部内容。它是在一个名为DBAN的类似发行版被停用后开发的。它使用nwipe 应用程序,它是DBAN的dwipe 。你可以通过下载32位或64位的镜像,并在Linux和macOS上使用dd 命令将其写入驱动器来制作一个可启动的USB驱动器。
$ sudo dd if=shredos.img of=/dev/sdX bs=4M status=progress
另外,你也可以在Linux、macOS和Windows上使用Etcher工具。
dd命令
清除驱动器的一个常见方法是使用Linux的dd 命令。几乎每一个Linux安装都安装了dd 工具。请确保驱动器没有被挂载。
$ sudo umount /dev/sdXY -l
如果你想在整个目标磁盘上写零,发出以下命令。这可能会是一个通宵的工作。
$ sudo dd if=/dev/urandom of=/dev/sdX bs=10M
警告。请确保你知道你在系统中的位置,并以正确的驱动器为目标,这样你就不会意外地擦除你自己的数据。
Nvme-cli
如果你的电脑包含一个较新的NVMe驱动器,你可以安装nvme-cli实用程序,并使用sanitize 选项来擦除你的驱动器。
nvme sanitize help 命令为你提供了一个sanitize选项的列表,其中包括以下内容。
- --no-dealloc, -d --在sanitize之后没有deallocate。
- --oipbp, -i --在传递之间覆盖反转模式。
- --owpass=, -n -- 覆盖通过数。
- --ause, -u -- 允许不受限制地退出sanitize。
- --sanact=, -a --消毒行动。
- --ovrpat=, -p -- 覆盖模式。
这是我使用的命令。
$ sudo nvme sanitize /dev/nvme0nX
这里的警告与格式化过程的警告相同:首先备份重要的数据,因为这个命令会删除这些数据。
信息管理
你保存在电脑上的信息是很重要的。它属于你,也属于其他任何人。当你卖掉一台电脑或处理一个硬盘时,确保你已经用这些伟大的工具之一清除了你的数据。