Как удалить файл (файлы) безопасным способом?

Существует ли способ удостовериться, что удаленный файл не может быть восстановлен?

Как Вы знаете, удаление файла нажимающим shift-del или использование мусора не означают, что файла не стало навсегда. Это находится где-нибудь в компьютере.

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

Они могут восстановить все данные, которые находятся на жестком диске в RAM и даже USB.

Защищать нас от этих людей, что нужно сделать? Какую программу нужно использовать?

Примечание: Я не хочу ответ как первое использование, программа восстановления затем стирает тот файл с клочком. Со всего одной программой я хочу стереть все неиспользованные/удаленные файлы на своем компьютере.

224
задан 22 May 2014 в 15:39

11 ответов

Shred

Эта утилита командной строки уже установлена из основных утилит в Ubuntu для безопасного стирания и перезаписи отдельных файлов с помощью метода Gutman.

Быстрое измельчение

shred -vzn 0 /dev/sdc1

стирает целые разделы, перезаписывая все с помощью 0s за одну итерацию. Если никакие юридические аспекты не требуют другой процедуры, то, скорее всего, это безопасно для безопасного удаления ваших личных данных.
из Craig Wright Lecture Notes in Computer Science, 2008, 5352, 243-257.

Безопасное шреддирование

shred -vzn 3 /dev/sdc1

стирает весь раздел, используя 3 итерации со случайными числами. Кроме того (опция -z) записывает нули, чтобы скрыть процесс измельчения в конце. Это займет в 4 раза больше времени, чем быстрый метод.

-z Путем шреддинга раздела мы перезапишем его случайными числами 0. Таким образом, это эффективно удалит все, включая кэш файловой системы на этом разделе навсегда. Это также может быть использовано для удаления ненужных остатков удаленных файлов. Файлы, которые мы хотим сохранить, должны быть зарезервированы перед шреддингом.


Стирание

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

wipe filename
wipe -r dirname

Дополнительные примечания по журналированию файловых систем и SSD:

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

  • Стирание данных на твердотельном диске (SSD) может быть осуществлено, если вообще возможно, только путем перезаписи всего диска (а не только отдельных разделов) с помощью нескольких итераций. Некоторые SSD-накопители могут иметь встроенную функцию стирания данных, но это не всегда эффективно (см. эту ссылку из комментария). В настоящее время нет общих рекомендаций по процессам стирания или количеству итераций стирания, необходимых для безопасного удаления всех остатков данных на всех доступных SSD.

Эти опции могут быть добавлены в контекстное меню Nautilus и Thunar.

  • В Thunar, откройте "Edit", затем "Configure Custom Actions"

Add (the plus sign)

Name "Shred File"

Description whatever you like

Action "shred -u %f"

Аналогично для стирания wipe.

Выберите "Условия внешнего вида" и выберите "Другие файлы"

206
ответ дан 22 November 2019 в 22:44

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

Как говорили другие, использование таких утилит, как shred или srm позволяет удалить конкретный файл, фактически перезаписав его, а не просто удалив из файловой системы. Если вы чувствуете себя смелым, вы можете заменить команду rm на shred или srm, чтобы безопасно удалять файлы в дальнейшем. Это означает, что всякий раз, когда вы (или другая программа) пытаетесь удалить что-то, используя rm, вместо этого будет выполняться команда secure delete.

Однако, если вы используете твердотельный диск, или даже некоторые более новые механические диски, shred и другие методы, основанные на перезаписи, могут оказаться неэффективными, так как диск может на самом деле не записывать, где вы думаете, что он записывает (source).


Full-Disk Encryption

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

Вы также можете зашифровать внешние носители, такие как USB-накопители с помощью утилиты Ubuntu's Disk Utility. Настройка зашифрованного внешнего диска так же проста, как и установка флажка "шифровать базовую файловую систему" при форматировании диска. Вы даже можете сохранить кодовую фразу на вашем (зашифрованном) брелоке, Чтобы вам не нужно было вводить фразу каждый раз, когда вы подключаете диск к компьютеру.

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

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


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

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

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

41
ответ дан 22 November 2019 в 22:44

Обновление: Если вы еще не удалили файл, который хотите восстановить, воспользуйтесь принятым ответом. Если же вы уже удалили файл[ы], то это следующий лучший известный мне метод.

Если я правильно понял, вы хотите стереть все ранее удаленные файлы. Вот простой способ сделать это:

$ dd if=/dev/zero of=/path/to/mounted/partition/tmp_file bs=1M count=999999999999

Пусть он работает до тех пор, пока не пожалуется, пока не получит ошибку при записи на диск [из космоса]. Затем удалите файл! Для этого просто заполните пустой диск 000s, и все предыдущие файлы будут перезаписаны. Убедитесь, что файл удален сейчас, иначе у вас не останется никакого диска. Возможно, вы захотите сделать это несколько раз, если у вас действительно паранойя. Или если вы хотите записать диск случайным образом, я бы предложил заменить /dev/zero на /dev/urandom.

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

$ free=$( df {PARTITION OR MOUNTPOINT}  |awk '{print $3}'|tail -1 )
$ dd if=/dev/zero bs=1M count=999999999999 | pv -s "$free" > /path/to/mounted/partition/tmp_file

Сначала вы получаете свободное место на диске с помощью du, awk, и tail, затем с помощью dd, чтобы получить /dev/zero, что означает pv, что означает "pipe viewer", который перенаправляет все на tmp_file. После этого еще раз удалите файл. $ rm tmp_file

В любом случае, надеюсь, кто-нибудь найдет это полезным! :)

23
ответ дан 22 November 2019 в 22:44

Сначала удалите файлы с rm на терминале или со сдвигом на nautilus. Лучше всего использовать srm, из пакета Secure-Delete tools.

Вы можете установить инструменты безопасного удаления следующим образом:

apt-get install secure-delete

Во-вторых, используйте sfill, чтобы стереть неиспользуемое пространство на диске:

sudo sfill -f <directory>

Это займет некоторое время, так как для заполнения диска используются криптографические методы.

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

Это создаст файл, который уничтожит все ранее существующие данные. Файл будет создан в <директории>.

15
ответ дан 22 November 2019 в 22:44

Если вы хотите решение, которое не может быть предотвращено патологически одержимым человеком, то вы должны рассмотреть некоторую комбинацию (ограниченную денежными ресурсами):

  • размагничивание -- магнитное стирание жесткого диска
  • физически отключающее жесткий диск -- i. e. промышленный дырокол
  • кислотная ванна <- вы не можете получить биты из кучи слизистой оболочки.

Эти решения значительно варьируются по стоимости и изобретательности. Несколько:

7
ответ дан 22 November 2019 в 22:44

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

Тогда, на будущее, я бы предложил начать использовать утилиты secure-delete вместо простого 'rm'.

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

3
ответ дан 22 November 2019 в 22:44

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

Просто убедитесь, что у вас есть надежный пароль и сделайте резервную копию файла образа. Я храню резервную копию в облаке.

1
ответ дан 22 November 2019 в 22:44
  1. Первый вариант - уничтожить. В предыдущем ответе относительно измельчения отсутствуют некоторые необходимые детали. Вы не сможете преодолеть кеширование файловой системы, создание снимков, ведение журнала и т. Д., Если вы запустите уничтожение раздела (как в примере sdc5 ), и данные останутся, многие из них потенциально.

    Чтобы шред был эффективным, особенно на современных SSD и т. Д., Вы должны запускать его на устройстве, а не в разделе. Это будет / dev / sdc ... без номера на конце (номер раздела).

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

    Выполните команду: sudo shred -vfxz / dev / sdc или sda или любое другое имя устройства. Если вы не уверены в названии, откройте Disks или GParted, чтобы идентифицировать ваше устройство, или запустите команду- lsblk в терминале и укажите там имя вашего устройства.

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

    Вы можете добавить желаемое количество проходов записи, добавив -n (желаемое число). Пример: sudo shred -vfxz -n 5 / dev / sdc

    Это первый порт вызова для очистки вашего диска. Может помочь запустить аналогичные инструменты, такие как shrub, secure-delete и nwipe. Все они работают одинаково с очень похожими командами и немного разными методами и шаблонами. Перейдите на страницу руководства Linux или Google, чтобы быстро ознакомиться с тем, как использовать команды. Маловероятно, что вам понадобится больше, чем стандартные 4 прохода измельчения, но если это важно, вы могли бы также сделать лишнюю милю, поскольку это могло бы помочь.

  2. В вашей оперативной памяти вполне могут быть данные. После установки secure-delete выполните команду для sdmem. Это сотрет вашу оперативную память. Однако первые данные, которыми вы когда-либо заполняли ОЗУ, плюс любые данные, которые оставались в ОЗУ в течение длительных периодов времени, вполне могли оставить след.

    При покупке новой ОЗУ (или жестких дисков / твердотельных накопителей в этом отношении) лучше всего заполнить диск до доработки несколько раз. Вы можете использовать shred, но, вероятно, здесь лучше dd. Команда:

     sudo dd if = / dev / urandom of = / dev / # (введите имя раздела вашего устройства)
     

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

    Единственное, что остается сделать, это создать раздел или установить следующий дистрибутив.

  3. Шифрование - Люди часто заявляют об этом как надежный метод, но если вы собираетесь продолжать использовать жесткий диск или передать его кому-то другому, это неэффективный вариант. Что касается юридических проблем, то неспособность разблокировать зашифрованное устройство часто не является вариантом и во многих случаях может считаться виновным или фактическим преступлением. Это может остановить вора и т. Д. (Только кража данных, смех).

    Также обратите внимание, что зашифрованная домашняя папка очень отличается и ничего не защищает от физического осмотра на вашем компьютере, по сути, для сетевой / системной безопасности и может

  4. При утилизации устройства - После протирания с помощью клочья, затем шифрование с помощью длинного пароля, содержащего специальные символы, такие как * и т. д., чтобы разбить буквы и цифры вашего пароля, снова используйте клочок, но вы можно просто указать первые 10 ГБ диска (зависит от размера, но это большое безопасное число). Пример: sudo shred -vfxzs10G / dev / sdc В таких случаях это быстрее и так же эффективно, как и уничтожение всего диска.

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

1
ответ дан 22 November 2019 в 22:44

Для твердотельных накопителей и других флеш-накопителей

SSD-накопители и многие другие флеш-носители используют метод, называемый «выравнивание износа», который переназначает неиспользуемые блоки ячеек памяти в зависимости от их количества. предыдущих циклов записи, чтобы продлить срок службы накопителя. Как следствие, перезапись диапазонов блоков не работает как метод безопасного (или даже эффективного) стирания содержимого хранилища, как это делается для жестких дисков. С другой стороны, флэш-память позволяет намного быстрее и эффективнее безопасно стирать блоки, диапазоны блоков или целые диски.

Стереть весь диск

Вам следует использовать функцию безопасного стирания диска . 12104] Убедитесь, что защита диска поддерживает secure erause 1 и не «заморожена» . Если это так, это может помочь приостановить и возобновить работу компьютера.

 $ sudo hdparm -I / dev / sdX |  grep заморожен
  не замороженный
 

Вывод команды (отфильтрованный) означает, что этот диск поддерживает безопасное стирание, «не заморожен», и вы можете продолжить.

  • Установите пароль пользователя ( Eins в этом примере). Этот пароль тоже очищен, точный выбор не имеет значения.

     sudo hdparm --user-master u --security-set-pass Eins / dev / sdX
     
  • Выполните команду ATA Secure Erase.

     sudo hdparm --user-master u --security-erase Eins / dev / sdX
     
  • См. Статью ATA Secure Erase в вики-странице ядра Linux для получения полных инструкций, включая устранение неполадок.

    ( источник )

    Если вывод команды в шаге 1 пуст, диск не поддерживает безопасное стирание, но может все еще поддерживать команду TRIM, необходимую для раздела ниже.

    Стереть раздел диска

    blkdiscard (8) 2 может стереть надежно блокировать устройства , если диск поддерживает его 1 :

    sudo blkdiscard --secure /dev/sdXN
    

    где / dev / sdXN - это путь к узлу блочного устройства, относящийся к диску или разделу, который нужно стереть.


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

    2 Доступен и устанавливается по умолчанию, начиная с Ubuntu Xenial Xerus (16.04).

    4
    ответ дан 22 November 2019 в 22:44

    Вы можете использовать DD Чтобы безопасно стереть файл, удачи вам в восстановлении, когда вы это сделаете. См. Пример на этом сайте .

    Вот команда для безопасной очистки файла (настройте параметр bs = xx )

    dd if=/dev/urandom of=/tmp/test/myfile.txt bs=27 count=1 conv=notrunc
    

    где bs = ## - это количество случайных данных в байтах для записи в файл (должно соответствовать размеру перезаписываемого файла, введите размер файла в байтах, как показано в команде ls -l )

    1
    ответ дан 22 November 2019 в 22:44

    A GUI-программа , так как это BleachBit (это также в исходниках). Более свежая версия (deb file) на странице BleachBit Sourceforge page.

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

    "BleachBit быстро освобождает дисковое пространство и неутомимо защищает вашу конфиденциальность. Бесплатное кэширование, удаление куки-файлов, очистка истории Интернета, временное разбиение на клочки. файлы, удалять журналы и выбрасывать мусор, о котором вы не знали. Разработанный для систем Linux и Windows, он стирает чистые 90 приложений. в том числе Firefox (вакуумирование, чтобы сделать его быстрее), Internet Explorer, Adobe Flash, Google Chrome, Опера, Сафари и многое другое". (с http://bleachbit.sourceforge.net/)

    BleachBit имеет несколько продвинутых очистителей:

    • Очистить память и поменять местами на Linux
    • Удалить сломанные ярлыки на Linux
    • Удалить историю URL-адресов Firefox без удаления всего файла - с опциональным измельчением
    • Найти широко распространенный мусор, такой как Thumbs.db и .DS_Store файлов.
    • Удалить список последних документов OpenOffice.org без удаления всего Общего. xcu file
    • Перезапись свободного дискового пространства для сокрытия предыдущих файлов
    • Вакуумные базы данных Firefox, Google Chrome, Liferea, Thunderbird и Yum: сжатие файлов без удаления данных для экономии места и повышения скорости
    • Хирургическое удаление личной информации из конфигурационных файлов .ini и JSON с удалением всего файла

    Подробнее о том, как использовать Bleachbit для безопасного удаления определенных файлов и папок. см. этот ответ .

    11
    ответ дан 22 November 2019 в 22:44

    Другие вопросы по тегам:

    Похожие вопросы: