31 linux security data-destruction
我有一台装有 Debian 的笔记本电脑,我打算卖掉这台笔记本电脑。
在出售 Debian 安装之前删除它是否足以从我的个人数据中完全清除我的笔记本电脑,如果是,我该如何卸载 Debian(以便笔记本电脑上没有任何操作系统)?
Yar*_*ron 51
这个 nixCraft 帖子解释了如何擦除硬盘
安全删除数据并不像您想象的那么容易。当您使用操作系统的默认命令(例如 Linux/BSD/MacOS/UNIX 中的“rm”或 DOS 中的“del”或清空 WINDOWS 中的回收站)删除文件时,操作系统不会删除文件,该文件的内容保留在您的硬盘上。使敏感数据几乎无法恢复的唯一方法是使用几种定义的模式覆盖(“擦除”或“粉碎”)数据。要永久擦除硬盘,您可以使用标准的 dd 命令。但是,我建议使用 shred 命令或wipe 命令或scrub 命令。
警告:检查目标驱动器或分区是否正确。错误的驱动器或分区目标将导致数据丢失。在任何情况下,我们都无法对全部或部分数据丢失负责,因此请注意磁盘名称。你被警告了!
使用 live Linux cd 永久擦除磁盘
首先,下载knoppix Live Linux CD 或SystemRescueCd live CD。
接下来,刻录 Live CD 并从 Live CD 启动您的笔记本电脑或台式机。您现在可以擦除任何磁盘,包括 Windows、Linux、Mac OS X 或类 Unix 系统。
1.如何使用shred命令?
Shred 最初旨在安全地删除文件。它安全地删除文件,首先覆盖它以隐藏其内容。但是,相同的命令可用于擦除硬盘。例如,如果您的硬盘驱动器名为 /dev/sda,则键入以下命令:
Run Code Online (Sandbox Code Playgroud)# shred -n 5 -vz /dev/sda在哪里,
Run Code Online (Sandbox Code Playgroud)-n 5: Overwrite 5 times instead of the default (25 times). -v : Show progress. -z : Add a final overwrite with zeros to hide shredding.IDE硬盘hda(PC/Windows第一个连接IDE的硬盘)的命令是一样的:
Run Code Online (Sandbox Code Playgroud)# shred -n 5 -vz /dev/hda
注意:来自@Gilles 的评论
将 shred -n 5 替换为 shred -n 1 或 cat /dev/zero。除非您的硬盘使用 1980 年代的技术,否则多次通过是没有用的。
在这个例子中,使用 shred 和 /dev/urandom 作为随机数据的来源:
Run Code Online (Sandbox Code Playgroud)# shred -v --random-source=/dev/urandom -n1 /dev/DISK/TO/DELETE # shred -v --random-source=/dev/urandom -n1 /dev/sda2.如何使用wipe命令
您可以使用wipe命令删除包括磁盘在内的任何文件:
Run Code Online (Sandbox Code Playgroud)# wipe -D /path/to/file.doc3.如何使用scrub命令
您可以使用磁盘清理程序,例如scrub。它以重复模式覆盖硬盘、文件和其他设备,旨在使从这些设备恢复数据更加困难。尽管物理销毁无疑是销毁敏感数据最可靠的方法,但它既不方便又成本高昂。对于某些类别的数据,组织可能愿意做下一个最好的事情,即在所有字节上乱涂乱画,直到检索需要在实验室中进行英勇的努力。擦洗实现了几种不同的算法。语法是:
Run Code Online (Sandbox Code Playgroud)# scrub -p nnsa|dod|bsi|old|fastold|gutmann|random|random2 fileNameHere要擦除 /dev/sda,请输入:
Run Code Online (Sandbox Code Playgroud)# scrub -p dod /dev/sda4.使用dd命令安全擦除磁盘
您可以通过在每一位上写入新数据来擦除磁盘。dd 命令可以如下使用:
Run Code Online (Sandbox Code Playgroud)# dd if=/dev/urandom of=/dev/DISK/TO/WIPE bs=4096擦除 /dev/sda 磁盘,输入:
Run Code Online (Sandbox Code Playgroud)# dd if=/dev/urandom of=/dev/sda bs=40965. 如何使用来自 OpenSSL 的随机种子 AES 密码安全地擦除驱动器/分区?
您也可以使用 openssl 和 pv 命令安全地擦除磁盘。首先,获取以字节为单位的 /dev/sda 磁盘总大小:
Run Code Online (Sandbox Code Playgroud)# blockdev --getsize64 /dev/sda 399717171200接下来,键入以下命令来擦除 /dev/sda 磁盘:
Run Code Online (Sandbox Code Playgroud)# openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt </dev/zero | pv -bartpes399717171200 | dd bs=64K of=/dev/sda
6. 如何使用 badblocks 命令安全地擦除磁盘
语法是:
Run Code Online (Sandbox Code Playgroud)# badblocks -c BLOCK_SIZE_HERE -wsvf /dev/DISK/TO/WIPE # badblocks -wsvf /dev/DISK/TO/WIPE # badblocks -wsvf /dev/sda
jpm*_*c26 13
我将建议考虑擦拭驱动器的替代方法。
擦除驱动器很危险,因为您可能会永久丢失数据。此外,根据您对有人窃取数据的担心程度,可能很难确保某些驱动器确实不可恢复(例如,SSD 具有可四处传播写入的内部机制)。
一种简单且 100% 有效的解决方案是用新的驱动器更换驱动器。为自己保留驱动器,然后您甚至不必担心它(除非有人闯入您的家或它所连接的计算机受到损害)。这是否值得您花钱是只有您可以确定的事情,但这并不那么麻烦。作为奖励,现在您可以为自己提供额外的动力。通过权衡成本与您希望防范的攻击风险来做出决定。
Rui*_*iro 10
我建议使用以下方法清洁磁盘:
sudo dd if=/dev/urandom of=/dev/sda bs=4M oflag=direct
Run Code Online (Sandbox Code Playgroud)
我建议/dev/urandom反对,/dev/zero尤其是在处理 SSD 驱动器时。您可以/dev/zero在机械磁盘中使用,但是据说使用随机值也会为可能的高级恢复行为增加更多噪音(不太可能发生,但必须说)。
dd 也比这里提出的替代方案更有效(更快),即做一只猫。
此外,此方法不需要您从其他媒体启动,并且dd在 Linux 中默认存在。
还要注意如何使用此命令,因为无法从中恢复。小心的话,双重或三次检查它是否是预期的设备(甚至断开任何外部备份驱动器),因为很容易错误地彻底清除错误的设备。
以 root 身份登录:
cat /dev/zero > /dev/sda
Run Code Online (Sandbox Code Playgroud)
使用硬盘无需多次执行此操作。如果您有旧的 8" 软盘,最好擦除几次。
| 归档时间: |
|
| 查看次数: |
16268 次 |
| 最近记录: |