Безопасно стереть безголовый удаленный сервер Linux
Я собираюсь прекратить мои отношения с моим хостинг-провайдером на много лет, но я бы хотел, чтобы безопасно стереть коробку, прежде чем я это сделаю. Это выделенный сервер, на котором запущен Debian на одном диске EXT3, и хотя у меня есть доступ с правами root, я не могу загрузить альтернативный носитель, так как он где-то находится без стойки в стойке.
Мне не нужно многократных проходов, но я бы хотел стереть свободное место, если это возможно. По сути, я хотел бы уйти и убедиться, что я не оставляю свои личные данные позади. Я обеспокоен тем, что окно может произойти сбой, прежде чем он заканчивает стирание / синхронизацию файловой системы, если я просто запустите srm -R -s /
8 ответов
Я успешно прошел весь путь rm -rf --no-preserve-root /
без сбоев системы в первую очередь и без того, чтобы на диске ничего не осталось.
Установщик CentOS (anaconda), который поставляется с образами PXE, включает в себя сервер VNC, так что вы можете изменить конфигурацию grub для загрузки установщика CentOS, передав ответы на вопросы установщика до этапа 2 в строке grub, перезагрузиться и затем VNC установщику.
Теперь, если память мне не изменяет, из этого установщика вы сможете перейти в оболочку, из которой вы сможете получить доступ и уничтожить диск.
Скопируйте файлы vmlinuz и initrd из каталога PXE в дистрибутиве CentOS ( http://mirror.centos.org/centos/5/os/i386/images/pxeboot/) в / 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 =http://mirror.centos.org/centos/5/os/i386/ lang=en_US keymap=us initrd /boot/initrd.img.cent.pxe
Кстати, любая достойная хостинговая компания должна быть готова уничтожить ваши диски за вас.
Мое решение включает в себя многошаговый подход, выполняющий некоторые из вышеперечисленных, но также включающий chroot в ram, который должен позволить 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 if=/dev/zero of=justabigfile).
И я полагаю, что большинство систем доживут до работающей системы достаточно долго, чтобы перезаписать весь диск. Обратного пути нет, если не получится, конечно.
Вы можете просто использовать dd
перезаписать весь раздел / диск на работающем сервере без каких-либо забот. Мы часто используем его на работе (когда клиент не хочет платить за безопасное уничтожение физического диска).
Вы фактически стираете данные, не зная об этом смонтированную файловую систему, поэтому файловая система начинает волноваться, поскольку ее метаданные теряются, а затем сама ОС начинает "разрушаться". Однако то, что уже находится в кеше, все еще работает. Таким образом, вы можете отслеживать прогресс через удаленную консоль или KVM (не пробовал через ssh). Система продолжает работать даже после dd
закончен, однако никакая команда не будет работать, и все демоны, вероятно, уже мертвы.
Я использую эти команды:dd if=/dev/zero of=/dev/sda bs=1M &
а потом kill -HUP %1
следить за прогрессом (dd распечатает текущую скорость и количество записанных данных). Установка размера блока (bs
) очень важно для достижения скорости записи на жесткий диск dd
,
Каждый раз dd
был в состоянии стереть диск до конца, и я смог выдать kill
Команда (встроенная оболочка) до конца. Если у вас есть программный рейд, вы можете стереть md
само устройство или каждое компонентное устройство в отдельности.
Протокол ATA имеет команду "безопасного стирания", которая, как указывает его название, должна безопасно удалять весь жесткий диск.
За подробностями обращайтесь к вики-статье Kernel, но обратите внимание на предупреждения вверху:
Что бы вы ни выбрали, обратитесь к другому провайдеру и протестируйте его.
Получите аналогичный экземпляр в AWS (или gcloud или...) и попробуйте его там, сохранив диск, а затем подключив его к другому экземпляру в качестве дополнительного хранилища и просканировав его. дд если = SDB | HD
Почти все ваши чувствительные материалы должны быть в
/home
/opt
/var
/etc
/usr
Это файлы конфигурации со встроенными паролями, которые беспокоят большинство людей. Если вы знаете, что это такое, ищите всю файловую систему, чтобы искоренить их.
rm удалит файлы, но шестнадцатеричный редактор все равно будет читать диск. Так что ноль потом. Посмотрите на клочок. У вас должен быть журнал ваших конфигурационных файлов, и где они находятся для целей DR, верно? Не забывайте файлы crontab, если у вас есть пароли, скажем так.
Установка CentOS или любое другое решение на основе виртуального диска является надежным. Ядро будет в памяти, вам нужен dd и некоторое содержимое bin. Но если вы перезагружаетесь в режиме восстановления, у вас может не быть сети или SSH, и вы можете отключиться.
NB Kedare имеет хорошую идею, и если вы работаете с ram при следующей перезагрузке (ramdisk), это возможно, очень трудно восстановиться после записи /dev/zero с нуля, так что это на самом деле не добавляет ценности, если ваша жизнь зависит от этого?
Вы можете попытаться записать случайные данные на свой диск следующим образом:
dd if=/dev/urandom of=/dev/sda
Это безопаснее, чем использовать /dev/zero, потому что он записывает случайные данные, но это также НАМНОГО медленнее.