Я собираюсь прекратить мои многолетние отношения с моим хостинг-провайдером, но я хотел бы надёжно стереть данные, прежде чем я это сделаю. Это выделенный сервер, на котором запущен Debian на одном диске EXT3, и, хотя у меня есть root-доступ, я не могу загрузить альтернативный носитель, так как он где-то в стойке без головы.
Мне не нужно несколько проходов, но я бы хотел стереть свободное место, если это возможно. По сути, я бы хотел уйти и убедиться, что не оставил никаких личных данных. Я беспокоюсь, что ящик может вылететь до того, как он закончит стирание / синхронизацию файловой системы, если я просто запустил srm -R -s /
Установщик 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:
default 0 timeout 5 title CentOS root (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
Кстати, любая приличная хостинговая компания должна быть готова уничтожить ваши диски за вас.
Перед тем, как уничтожить ОС, вы можете удалить что-нибудь чувствительное и zerofill (используя dd if = / dev / zero of = justabigfile).
И я считаю, что большинство систем переживут dd до работающей системы достаточно долго, чтобы перезаписать весь диск. Если, конечно, нет пути назад.
Мое решение включает в себя многоэтапный подход, выполняющий некоторые из вышеперечисленных, но также с использованием 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
Это должно позаботиться об этом!
Я успешно прошел весь путь rm -rf --no-preserve-root /
без сбоя системы и без того, чтобы ничего не осталось на диске.
Вы можете просто использовать dd
чтобы без забот перезаписать весь раздел / диск на работающем сервере. Мы часто используем его на работе (когда заказчик не хочет платить за безопасное уничтожение физического диска).
Вы фактически стираете данные, не зная об этом смонтированную файловую систему, поэтому файловая система начнет нервничать, поскольку ее метаданные будут потеряны, тогда сама ОС начнет «разрушаться». Однако то, что уже есть в кеше, все еще работает. Таким образом, вы можете следить за прогрессом через удаленную консоль или KVM (не пробовал через ssh). Система продолжает работать даже после dd
завершено, однако ни одна команда не будет работать, и все демоны, вероятно, уже мертвы.
Я использую эти команды: dd if=/dev/zero of=/dev/sda bs=1M &
а потом kill -HUP %1
для отслеживания прогресса (dd распечатает текущую скорость и количество записанных данных). Установка размера блока (bs
) очень важен для достижения скорости последовательной записи жесткого диска с dd
.
Каждый раз dd
смог стереть диск до конца, и я смог выдать kill
команду (встроенная оболочка) до конца. Если у вас есть программный рейд, вы можете стереть md
само устройство, либо каждое составное устройство в отдельности.
В протоколе ATA есть команда «безопасного стирания», которая, как следует из названия, должна безопасно стереть весь жесткий диск.
См. Подробную информацию в статье Kernel wiki, но не забывайте о предупреждениях вверху:
Вы можете попробовать записать случайные данные на свой диск следующим образом:
dd if=/dev/urandom of=/dev/sda
Это безопаснее, чем использование / dev / zero, потому что он записывает случайные данные, но он также НАМНОГО медленнее ..
Что бы вы ни выбрали, обратитесь к другому провайдеру и проверьте его.
Получите аналогичный экземпляр на AWS (или gcloud, или ...) и попробуйте его там, сохранив диск, а затем подключив его к другому экземпляру в качестве дополнительного хранилища и сканируя его. dd if = sdb | HD
Практически весь ваш чувствительный материал должен быть в
/home
/opt
/var
/etc
/usr
Большинство людей беспокоят именно файлы конфигурации со встроенными паролями. Если вы знаете, что они собой представляют, выполните поиск по всей файловой системе, чтобы искоренить их.
rm удалит файлы, но шестнадцатеричный редактор все равно будет читать диск. Так что ноль потом. Посмотри на клочок. У вас должен быть журнал ваших файлов конфигурации, и где они находятся для целей аварийного восстановления, верно? Не забывайте файлы crontab, если, скажем, в них есть пароли.
Установка CentOS или любое решение ramdisk работает нормально. Ядро будет в памяти, вам понадобится dd и немного содержимого bin. Но если вы перезагрузитесь в режиме восстановления, у вас может не быть сети или SSH, и вы отключитесь.
N.B. У Kedare есть хорошая идея, и если вы работаете с оперативной памятью при следующей перезагрузке (ramdisk), это возможно, очень сложно восстановить после записи / dev / zero для начала, поэтому это не добавляет ценности, если ваша жизнь не зависит на него ?