我即将终止与我多年的托pipe服务提供商的关系,但是我想在我之前安全地擦拭这个盒子。 这是一个在单个EXT3驱动器上运行Debian的专用服务器,虽然我有root权限,但是由于它在某个机架上无头,所以无法启动备用介质。
我不需要多次通过,但是如果可能的话,我想擦掉空闲空间。 基本上我想走开,并确保我不会留下任何个人资料。 我担心,如果我只是运行srm -R -s /
我已经成功地通过rm -rf --no-preserve-root /没有首先系统崩溃,也没有任何东西留在驱动器上。
随PXE映像一起提供的CentOS安装程序(anaconda)包含一个VNC服务器,因此您可以改变您的grubconfiguration以启动CentOS安装程序,将答案提交到grub行的前置2安装程序问题,然后重启,然后VNC到安装程序。
现在,如果我的内存正确地为我服务,那么从该安装程序中,您应该能够放到一个shell中,从中可以访问和销毁该磁盘。
将CentOS发行版中的PXE目录( http://mirror.centos.org/centos/5/os/i386/images/pxeboot/ )中的vmlinuz和initrd文件复制到/ boot并修改您的grubconfiguration:
默认为0 超时5 标题CentOS 根(hd0,0) kernel /boot/vmlinuz.cent.pxe vnc vncpassword = PASSWORD headless ip = IP netmask = 255.255.255.0 gateway = GATEWAYIP dns = 8.8.8.8 ksdevice = eth0 method = http://mirror.centos.org/centos/5/os / i386 / lang = en_US keymap = us initrd /boot/initrd.img.cent.pxe
顺便说一句,任何体面的托pipe公司应该准备好销毁你的磁盘。
在销毁操作系统之前,你可以删除任何敏感的和zerofill(使用dd if = / dev / zero of = justabigfile)。
而且我相信大部分系统都能够在一个运行的系统中存活一段时间,覆盖整个磁盘。 如果没有,当然是没有办法的。
我的解决scheme涉及到多个步骤做上面的一些,但也涉及到在内存中的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覆盖正在运行的服务器上的整个分区/磁盘,而不用担心。 我们在工作中使用它很多(当客户不想支付安全的物理磁盘销毁)。
实际上,在没有安装文件系统的情况下擦除数据,所以文件系统会在元数据丢失时开始出现exception,于是操作系统本身就会开始“崩溃”。 但是,已经在caching中的东西仍然有效。 所以你可以通过远程控制台或KVM监视进程(没有通过ssh尝试)。 即使在dd完成之后,系统仍然保持运行,但是没有命令可以工作,所有守护进程可能已经死机。
我使用这些命令: dd if=/dev/zero of=/dev/sda bs=1M &然后kill -HUP %1来监视进程(dd会打印出当前的速度和写入的数据量)。 设置块大小( bs )对于用dd实现HDD seq写入速度非常重要。
每次dd能够擦除磁盘到最后,我能够发出kill命令(内置的shell)直到结束。 如果您有软件RAID,您可以单独清除md设备本身或每个组件设备。
ATA协议有一个“安全擦除”命令,顾名思义,它应该安全擦除整个硬盘。
有关详细信息,请参阅内核wiki文章,但请注意顶部的警告:
你可以尝试在你的磁盘上写入随机数据,如下所示:
dd if=/dev/urandom of=/dev/sda
比使用/ dev / zero更安全,因为它会写入随机数据,但它也是一个很慢的..
无论你select做什么,到另一个提供商,并进行testing。
在AWS(或gcloud或…)上获取类似的实例并在那里尝试,保留磁盘,然后将其作为附加存储附加到另一个实例并进行扫描。 dd if = sdb | 高清
几乎所有的敏感材料都应该放在里面
/home /opt /var /etc /usr
这是embedded密码的configuration文件困扰大多数人。 如果您知道它们是什么,请search整个文件系统以将其解决。
RM会删除文件,但是hex编辑器仍然会读取磁盘。 所以之后零。 看看碎片。 你应该有你的configuration文件的日志,他们在DR目的的权利? 不要忘了crontab文件,如果你有密码的话。
CentOS安装,或任何ramdisk解决scheme是健全的。 内核将在内存中,你需要dd和一些bin内容。 但是如果你在恢复模式下重新启动,你可能没有networking连接或者SSH,就自己closures了。
NB Kedare有一个好主意,如果你在下次重启(ramdisk)时使用内存,这很有可能,从/ dev / zero开始恢复是非常困难的,所以除非你的生活没有真正增加价值取决于它?