Answers:
我成功地完成了所有工作,rm -rf --no-preserve-root /
没有首先导致系统崩溃,也没有在驱动器上留下任何东西。
rm -rf --no-preserve-root /
通过SSH清理了其余部分。它在/ dev中抛出了几个错误,然后完成了;在bash提示符下,我不太清楚该怎么办。如果没有/ bin / ls或/ sbin / shutdown,则无法确认成功。太滑稽了;我已经为崩溃做好了心理准备,而不是僵尸内核和sshd会话。
dd
改用磁盘。
PXE映像附带的CentOS安装程序(anaconda)包括一个VNC服务器,因此您可以更改grub配置以引导CentOS安装程序,将答案传递给grub行中的前2个安装程序问题,然后重新启动,然后再进行VNC到安装程序。
现在,如果我的记忆正确地为我服务,则可以从该安装程序中放到一个外壳中,您可以从中访问和销毁磁盘。
从CentOS发行版(http://mirror.centos.org/centos/5/os/i386/images/pxeboot/)中的PXE目录复制vmlinuz和initrd文件到/ boot并修改您的grub配置:
默认0 超时5 标题CentOS 根(hd0,0) 内核/boot/vmlinuz.cent.pxe vnc vncpassword =无头ip = IP网络掩码= 255.255.255.0网关= GATEWAYIP dns = 8.8.8.8 ksdevice = eth0 method = http://mirror.centos.org/centos/5/os / i386 / lang = zh_CN keymap = us initrd /boot/initrd.img.cent.pxe
顺便说一句,任何体面的托管公司都应准备好为您破坏磁盘。
/boot
,您可以重新开始,以防机器在过程中重新启动。如果/boot
碰巧在该/
分区上,则可以删除该文件之外的所有文件/boot
并擦除可用空间,然后才能最终擦除整个分区。如果您擦除了太多磁盘后重新引导,则可以最大程度地减少磁盘上剩余的数据量,从而使您无法再引导它。
在销毁操作系统之前,您可以删除所有敏感内容和零填充(使用dd if = / dev / zero of = justabigfile)。
而且我相信大多数系统都能在运行中的系统中幸存下来,并足以覆盖整个磁盘。如果没有,就没有回头路了。
我的解决方案涉及执行上述某些操作的多步骤方法,但还涉及ram中的chroot,应允许dd完全清除磁盘。
首先,删除所有敏感数据,并保留运行操作系统所需的文件。然后执行此操作(不在脚本中,一次执行一个命令):
mkdir /root/tmpfs/
mount -t tmpfs tmpfs /root/tmpfs/
debootstrap --variant=buildd --arch amd64 precise /root/tmpfs/
mkdir /root/tmpfs/mainroot
mount --bind / /root/tmpfs/mainroot
mount --bind /dev /root/tmpfs/dev
chroot /root/tmpfs/
# fill mainroot partition to wipe previously deleted data files
dd if=/dev/zero of=/mainroot/root/bigfile; rm /mainroot/root/bigfile
# now clobber the entire partition, probably won't be able to stay connected to ssh after starting this
# obviously change '/dev/md1' to the device that needs cleared
nohup dd if=/dev/zero of=/dev/md1 >/dev/null 2>&1
那应该照顾!
您可以使用它dd
来覆盖正在运行的服务器上的整个分区/磁盘,而无需担心。我们在工作中经常使用它(当客户不想为安全的物理磁盘销毁付费时)。
您实际上是在挂载的文件系统不知道的情况下擦除了数据,因此文件系统将因其元数据丢失而开始崩溃,然后操作系统本身将开始“崩溃”。但是,缓存中已经存在的内容仍然有效。因此,您可以通过远程控制台或KVM监视进度(不能通过ssh进行尝试)。即使dd
完成后系统仍保持运行,但是没有命令将起作用,并且所有守护程序可能已经死亡。
我使用以下命令:
dd if=/dev/zero of=/dev/sda bs=1M &
然后kill -HUP %1
监视进度(dd将打印出当前速度和写入的数据量)。设置块大小(bs
)对于通过达到HDD seq写入速度非常重要dd
。
每次dd
都能够将磁盘擦除到尽头,而我可以发出kill
命令(内置Shell)直到结束。如果您有软件袭击,则可以擦除md
设备本身,也可以分别擦除每个组成设备。
ATA协议具有“安全擦除”命令,顾名思义,该命令应安全擦除整个HDD。
有关详细信息,请参见内核Wiki文章,但请注意顶部的警告:
您可以尝试像这样在磁盘上写入随机数据:
dd if=/dev/urandom of=/dev/sda
比使用/ dev / zero更安全,因为它会写入随机数据,但速度也要慢很多。
无论您选择做什么,都请其他提供商进行测试。
在AWS(或gcloud或...)上获得一个相似的实例,并在那里进行尝试,保留磁盘,然后将其作为附加存储附加到另一个实例并进行扫描。dd if = sdb | 高清
几乎所有敏感材料都应放在
/home
/opt
/var
/etc
/usr
带有嵌入式密码的配置文件使大多数人感到困扰。如果您知道它们是什么,请搜索整个文件系统以将其根除。
rm将删除文件,但十六进制编辑器仍将读取磁盘。所以事后为零。看看切丝。您应该拥有配置文件的日志,以及它们用于灾难恢复的位置,对吗?例如,如果其中包含密码,请不要忘记crontab文件。
CentOS安装或任何ramdisk解决方案都是正确的。内核将在内存中,您需要dd和一些bin内容。但是,如果以恢复模式重新启动,则可能没有网络或SSH,因此无法进行连接。
NB Kedare有一个好主意,如果您在下次重新启动(ramdisk)时从ram运行,这是可能的,那么从/ dev / zero写入开始就很难恢复,因此除非您度过一生,否则它不会真正增加价值取决于它吗?