安全擦除无头远程 Linux 服务器

安全擦除无头远程 Linux 服务器

我即将终止与托管服务提供商多年的合作关系,但在此之前我想安全地清除机箱中的数据。这是一台在单个 EXT3 驱动器上运行 Debian 的专用服务器,虽然我有 root 访问权限,但我无法启动备用媒体,因为它无头地放在某个机架上。

我不需要多次操作,但如果可能的话,我想清除可用空间。基本上,我想离开并确保我不会留下任何个人数据。我担心如果我只是运行,盒子可能会在完成清除/同步文件系统之前崩溃srm -R -s /

答案1

我已经成功完成了所有操作,rm -rf --no-preserve-root /系统没有先崩溃,并且驱动器上没有留下任何东西。

答案2

随 PXE 映像一起提供的 CentOS 安装程序 (anaconda) 包含一个 VNC 服务器,因此您可以修改 grub 配置以启动 CentOS 安装程序,将第 2 阶段前安装程序问题的答案传递到 grub 行上,重新启动,然后通过 VNC 连接到安装程序。

现在,如果我没记错的话,从该安装程序中您应该能够进入一个 shell,从那里您可以访问和销毁磁盘。

从 CentOS 发行版中的 PXE 目录复制 vmlinuz 和 initrd 文件 (http://mirror.centos.org/centos/5/os/i386/images/pxeboot/)到 /boot 并修改你的 grub 配置:

默认 0
超时 5
标题 CentOS
根 (hd0,0)
内核 /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
初始化 /boot/initrd.img.cent.pxe

顺便说一句,任何正规的托管公司都应该准备好为您销毁磁盘。

答案3

我的解决方案涉及多步骤方法来完成上述部分操作,但也涉及 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

这样就可解决问题了!

答案4

您可以放心使用dd它来覆盖正在运行的服务器上的整个分区/磁盘。我们在工作中经常使用它(当客户不想为安全物理磁盘销毁付费时)。

您实际上是在挂载的文件系统不知情的情况下擦除了数据,因此文件系统将开始崩溃,因为其元数据正在丢失,然后操作系统本身将开始“崩溃”。但是,缓存中已有的内容仍然有效。因此,您可以通过远程控制台或 KVM 监控进度(没有尝试通过 ssh)。即使dd完成后,系统仍保持运行,但是没有命令可以工作,并且所有守护进程可能已经停止运行。

我使用这些命令: dd if=/dev/zero of=/dev/sda bs=1M & 然后kill -HUP %1监控进度(dd 将打印出当前速度和写入的数据量)。设置块大小(bs)对于实现 HDD 顺序写入速度非常重要dd

每次dd都能擦除磁盘直至其结束,并且我能够发出命令kill(内置 shell)直至结束。如果您有软件 raid,您可以擦除设备md本身,也可以单独擦除每个组件设备。

相关内容