2

У меня есть (физически) удаленный сервер, который я хотел бы безопасно уничтожить. К сожалению, диск разделен на один большой корневой раздел и больше ничего. Могу ли я надежно использовать dd для очистки устройства, содержащего корневую файловую систему?

Что-то простое, как:

$ sudo nohup dd if=/dev/urandom of=/dev/sda bs=1024

Очевидно, что я никогда не увижу результат работы, поэтому я не смогу проверить, успешно ли она выполнена. Программы dd и nohup должны быть достаточно маленькими, и на этом этапе на сервере больше ничего не работает, поэтому нет причин для того, чтобы эти программы были извлечены из памяти во время работы. Будут ли они работать до конца или ядро, вероятно, паникует в какой-то момент до завершения dd ?

Я обдумываю другие возможности, но я спрошу об этом в отдельных вопросах.

2 ответа2

2

Да, это абсолютно возможно, но требует некоторой работы.

Большая часть ответов доступна на StackExchange, но я приведу здесь резюме со ссылками на источники, которые имеют гораздо больше деталей и заслуживают похвалы за отличную информацию.

  1. Создайте базовую среду Linux в памяти и переключитесь на нее с помощью pivot_root.
  2. Убедитесь, что вы можете получить доступ к серверу извне, используя ssh .
  3. Протрите корневое устройство.

    # nohup dd if=/dev/urandom of=/dev/sda bs=512 > wipe.log &

  4. Периодически, не стесняйтесь проверять прогресс dd , так как он обычно не дает никаких признаков прогресса.

    # kill -USR1 [ddpid]

  5. Вернитесь позже и убедитесь, что процесс завершен (проверьте файл журнала). Взгляните на диск, чтобы убедиться, что он содержит случайный мусор вместо реальной файловой системы. Протрите его второй (или третий) раз, если хотите.

  6. Решите, что делать дальше.

    Если вы хотите, вы можете просто остановиться здесь и уйти. Когда машина выключится, у вас будет не загружаемое устройство, которое будет настолько безопасным, насколько вы решите, что dd может сделать это

    Далее я решил попробовать то, чего раньше не делал: создать базовую систему Linux удаленно. Итак, я продолжил:

  7. Используйте fdisk чтобы заново разделить корневое устройство, и используйте mkfs для создания файловых систем в этих разделах.

  8. Используйте debootstrap для установки базовой среды Debian в (будущую) корневую файловую систему.
  9. chroot для новой базовой среды, установите дополнительные пакеты (например, sshd), ядро и загрузчик (например, grub - убедитесь, что загрузчик действительно установлен на устройстве - не просто устанавливайте пакет).
  10. Используйте root_pivot для переключения на новую среду так же, как вы это делали на шаге 1 выше. Откройте все службы (например, sshd), чтобы обеспечить доступ к серверу, например, через ssh .
  11. Перезагружать. Ваша новая ОС должна быть готова к работе.
1

В корпоративной среде вы хотели бы иметь какое-то внешнее управление, такое как IPMI, iDRAC или другое удаленное решение KVM. Вы бы использовали эту систему для загрузки с liveCD, где можно было бы выполнить и подтвердить удаление. Если вашей целью является безопасное удаление, то вам нужно проверить операцию. Вы не можете просто сказать «Ну, это должно было сработать». Потому что даже если он должен работать, это не значит, что он работал. Некоторые системы IPMI позволяют удаленно загружаться с ISO, который у вас есть удаленно. Вы можете использовать что-то простое, например, изображение DBAN.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .