Поиск по сайту:

3 лучших способа безопасно стереть диск в Linux


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

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

Многие пользователи считают, что удаление своих данных с помощью файлового менеджера или команд удаления обеспечивает безопасность. Что ж, вам нужно подумать еще раз, потому что правда немного другая. Фактически, без надлежащих мер предосторожности эти данные все равно может восстановить кто-то, обладающий правильными инструментами и намерениями.

Вот факты: использование команды rm или файлового менеджера в Linux для удаления файлов просто удаляет указатель на файловую систему, оставляя фактическое содержимое нетронутым до тех пор, пока новые данные не перезапишут его. В результате с высокой вероятностью значительную часть этих данных можно восстановить с помощью специфических методов.

Именно здесь в игру вступают инструменты Linux для очистки диска. В этом руководстве мы рассмотрим эффективные методы командной строки, такие как shred, dd и wipe, чтобы гарантировать, что ваши данные будут удалены безвозвратно и невозможно. восстановить. Итак, позвольте мне показать вам, как использовать их, чтобы обрести душевное спокойствие.

Очистка диска с помощью команды shred

Мы начнем с команды shred, потому что это один из лучших способов безопасного удаления личных данных в системе Linux.

Проще говоря, команда помогает несколько раз перезаписать данные случайными битами (по умолчанию shred использует «/dev/urandom» для случайных данных), чтобы предотвратить восстановление данных.

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

Поскольку shred является частью пакета «coreutils» в Linux, скорее всего, эта команда доступна по умолчанию в вашей системе. По умолчанию он использует три прохода, записывая псевдослучайные данные в устройство во время каждого запуска.

Например, если вы хотите стереть устройство, которое присутствует как «/dev/sda» в вашей системе Linux, команда будет следующей:

sudo shred -v /dev/sda

Мы также включили опцию «-v» («-verbose»), чтобы подробно увидеть операцию очистки диска.

По сути, чем больше раз данные перезаписываются, тем меньше вероятность того, что их остатки можно будет восстановить. Однако выполнение этих трёх последующих циклов может оказаться длительным, особенно если вы выполняете их, например, на больших терабайтных дисковых массивах. Возможно, вам придется подождать несколько дней, пока процесс завершится.

К счастью, мы можем указать shred для выполнения только одного цикла (чего в большинстве случаев вполне достаточно), используя «-n» («–iterations=N“) опция:

sudo shred -v -n 1 /dev/sda

Теперь позвольте мне поделиться с вами хитростью. Команда предоставляет умную опцию «-z», которая добавляет финальный проход перезаписи нулями после завершения перезаписи случайных данных. Зачем вам это нужно?

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

sudo shred -v -n 1 -z /dev/sda

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

Очистка диска с помощью команды очистки

Другой способ полностью стереть данные с вашего диска — использовать команду wipe. Как следует из названия, он используется для удаления данных с диска.

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

Этот метод соответствует стандартам очистки данных, поэтому инструментам восстановления данных чрезвычайно сложно (практически почти невозможно) восстановить исходную информацию.

В большинстве систем Linux команда очистки не установлена по умолчанию, поэтому сначала ее необходимо установить с помощью менеджера пакетов, например APT, DNF, Pacman и т. д. Найдите пакет с именем «wipe». и установите его.

Далее, использование команды относительно просто. Просто запустите его, указав путь к диску.

sudo wipe /dev/sda

Стоит отметить, что хотя команда wipe очень надежна для безопасного удаления данных, она может занять очень много времени из-за большого количества циклов (34 прохода), которые она выполняет по умолчанию. Проще говоря, запуск его на дисках размером в терабайт может занять несколько дней.

Хорошей новостью является то, что, как и в случае с командой shred, вы можете ускорить работу, уменьшив количество проходов.

Использование опции «-q» заставит wipe выполнить (по умолчанию) только 4 прохода, записывая случайные данные. Однако сочетание его с «-Q » позволяет вам установить количество проходов для быстрой очистки.

Вот как будет выглядеть команда, если сократить число проходов до одного:

wipe -q -Q 1 /dev/sda

Очистка диска с помощью команды dd

Команда dd — еще один часто используемый метод очистки диска в Linux. Хотя его основной целью не является очистка диска, как у shred и wipe, многие профессионалы используют его возможности именно для этой задачи.

По своей сути dd — это утилита, используемая для преобразования и копирования файлов. Название означает «дубликатор данных», он работает на низком уровне, позволяя напрямую читать и записывать файлы устройства. Это означает, что вы можете использовать dd для копирования целых разделов диска, создания образов дисков и даже стирания дисков.

Теперь вам может быть интересно: если dd не предназначен специально для очистки диска, зачем его использовать? Ответ кроется в его простоте и мощи. Он может перезаписать диск любым шаблоном данных, что делает его простым вариантом безопасного удаления данных. Кроме того, он доступен практически во всех дистрибутивах Linux, поэтому нет необходимости устанавливать дополнительное программное обеспечение.

Например, выполните следующую команду, чтобы безопасно стереть всю доступную информацию с диска, представленного как устройство «/dev/sda» в вашей системе Linux:

sudo dd if=/dev/urandom of=/dev/sda bs=1M status=progress

Процесс очистки успешно завершается, когда dd сообщает «На устройстве не осталось места» и возвращает управление.

Давайте разберем синтаксис:

  • if  – используемый нами входной файл «/dev/urandom,” для создания случайных данных.
  • of — выходной файл, в данном случае — наш диск «/dev/sda».
  • bs – устанавливает размер блока равным 1 мегабайту для более быстрой обработки.

Следует отметить, что размер данного блока существенно влияет на скорость выполнения операции. Например, если вы выберете значение размера блока по умолчанию, равное 512 байтам, и очистите многотерабайтный диск, процесс может занять несколько дней.

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

sudo dd if=/dev/zero of=/dev/sdb bs=1M status=progress

Однако, если безопасность является вашим главным приоритетом, лучше всего использовать «/dev/urandom» как более надежный метод.

Ограничения операций dd, shred и Wipe на твердотельных накопителях

Однако использование приведенных выше команд для безопасного удаления данных с твердотельных накопителей (SSD) не так просто и надежно, как с жестких дисков (HDD). Почему? Поскольку твердотельные накопители имеют другую архитектуру и поведение, необходимы особые соображения, чтобы гарантировать, что данные действительно будут удалены. Позвольте мне объяснить.

Твердотельные накопители используют флэш-память и включают в себя такие функции, как выравнивание износа, сбор мусора и избыточное выделение ресурсов для оптимизации производительности и продления срока службы накопителя. Вот почему эти функции важны при стирании данных:

  • Выравнивание износа: твердотельные накопители равномерно распределяют циклы записи и стирания по ячейкам памяти, чтобы предотвратить преждевременный износ. Это означает, что перезапись данных на логическом уровне не гарантирует, что базовые физические ячейки будут перезаписаны.
  • Сборка мусора: твердотельные накопители периодически очищают неиспользуемые ячейки памяти в фоновом режиме, что может перемещать или копировать данные без ведома операционной системы.
  • Избыточное выделение: дополнительные ячейки памяти резервируются для замены изношенных, что затрудняет доступ и перезапись всех областей диска.

Учитывая эти проблемы, для безопасного удаления твердотельных накопителей NVMe я настоятельно рекомендую использовать специализированный инструмент nvme-cli — утилиту командной строки, предназначенную для управления устройствами NVMe и взаимодействия с ними.

Он доступен для самых популярных дистрибутивов Linux в их основных репозиториях, а обычное имя пакета — «nvme-cli». Итак, найдите его и установите. После этого для форматирования диска NVMe используйте следующее:

nvme format /dev/nvme0n1

Это приведет к форматированию указанного пространства имен (в данном случае «/dev/nvme0n1»). Добавление параметра «–ses» (настройки безопасного стирания) может выполнять различные уровни безопасного удаления:

  • –ses=2: криптографическое стирание (если поддерживается).
  • –ses=1: удаление пользовательских данных.

Кроме того, передача флага «-r» автоматически сбрасывает контроллер после успешного форматирования. Для получения дополнительной информации о nvme-tool посетите страницу проекта на GitHub.

Заключение

В этом руководстве показано, как безопасно и надежно удалить данные с жесткого диска с помощью трех инструментов Linux: shred, wipe и dd. Какой бы метод вы ни выбрали, вы можете быть уверены, что удаленную информацию будет практически невозможно восстановить.

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

Кроме того, прежде чем идти ва-банк с этими командами, имейте в виду следующие моменты:

  • Ограничения на восстановление данных. Несмотря на то, что они делают восстановление данных крайне маловероятным, чрезвычайно продвинутые методы криминалистики все же могут восстановить некоторые данные. Для сверхконфиденциальной информации рассмотрите возможность физического уничтожения.
  • Соблюдение законодательства. Убедитесь, что вы соблюдаете все юридические требования к удалению данных в вашей юрисдикции.
  • Резервные копии. Всегда сохраняйте надлежащие резервные копии важных данных. Как только данные будут удалены, они исчезнут навсегда.

И последнее, но не менее важное: с большой силой приходит и большая ответственность. Используйте эти команды с умом и всегда проверяйте их перед выполнением. Неправильное использование может привести к непредвиденным последствиям, например, к случайной очистке не того диска. В конце концов, когда дело касается ваших данных, лучше перестраховаться, чем потом сожалеть.

Статьи по данной тематике: