Я хотел бы уничтожить некоторые данные быстро и надежно. Как?

Я хотел бы уничтожить некоторые данные быстро и надежно. Как?

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

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

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

Как этого добиться в Ubuntu?

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

решение1

shredGNU coreutilsбыл специально разработан для этой цели.

От man shred:

Многократно перезаписывать указанные ФАЙЛЫ, чтобы затруднить восстановление данных даже с помощью очень дорогостоящего аппаратного сканирования.

shredна самом деле считывает случайные байты из /dev/urandomи перезаписывает содержимое файлов ими, в конце опционально перезаписывает содержимое нулями (из /dev/zero). Так что если вы хотите изобрести велосипед, вы можете сделать это вручную, но лучше использовать , shredкоторый уже оптимизирован для этой задачи.


Например, для любого файла my_secured_file.txtвы можете сделать:

shred my_secured_file.txt

Здесь:

  • -vза многословие
  • -zдля последующей перезаписи файла нулями, чтобы скрыть уничтожение
  • -n 5— количество итераций, по умолчанию 3

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

Проверять man shred.


Как shredработает с файлами, для выполнения операции над всеми файлами каталога (рекурсивно), например my_secret_dir:

shopt -s globstar
for f in my_secret_dir/**/*; do shred -vzn 5 -- "$f"; done

Или find:

find my_secret_dir -type f -exec shred -vzn 5 -- {} +

Примечание:

shredесть оговорка, что он не может работать должным образом на журналируемых, кэширующих, RAID, сжатых файловых системах. Цитата man shred:

ВНИМАНИЕ: Обратите внимание, что shred опирается на очень важное предположение: что файловая система перезаписывает данные на месте. Это традиционный способ, но многие современные конструкции файловых систем не удовлетворяют этому предположению. Ниже приведены примеры файловых систем, на которых shred неэффективен или не гарантирует свою эффективность во всех режимах файловой системы:

  • Файловые системы с журнальной структурой или журналированием, например, поставляемые с AIX и Solaris (а также JFS, ReiserFS, XFS, Ext3 и т. д.)

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

  • файловые системы, которые создают моментальные снимки, например, сервер NFS Network Appliance

  • файловые системы, которые кэшируют во временных местах, например, клиенты NFS версии 3

  • сжатые файловые системы

    В случае файловых систем ext3 указанное выше предупреждение применимо (и, таким образом, shred имеет ограниченную эффективность) только в режиме data=journal, который регистрирует данные файла в дополнение к метаданным. В режимах data=ordered (по умолчанию) и data=writeback shred работает как обычно. Режимы журналирования ext3 можно изменить, добавив опцию data=something к опциям монтирования для конкретной файловой системы в файле /etc/fstab, как описано на странице руководства по монтированию (man mount).

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


В Ubuntu, если вы используете ext4файловую систему, которая также является журналируемой файловой системой, режим журнала является режимом по умолчанию для метаданных, а не для данных ( data=orderedявляется режимом по умолчанию), поэтому вы должны получить ожидаемый результат с shred-ing, если только вы не изменили значение по умолчанию.


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

sudo dumpe2fs -h /partition |& grep 'Filesystem features'

Пример:

% sudo dumpe2fs -h /dev/sda3 |& grep 'Filesystem features'
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize

Указывает has_journal, что это журналируемая ФС, и параметры журнала по умолчанию следующие:

% sudo dumpe2fs -h /dev/sda3 |& grep 'Journal features'
Journal features:         journal_incompat_revoke

Оба сразу:

% sudo dumpe2fs -h /dev/sda3 |& grep 'features' 
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Journal features:         journal_incompat_revoke

решение2

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

Связанный контент