Так, короче говоря, у меня есть некоторые, er, уязвимые данные, которые я хотел бы защитить от людей, пытающихся шпионить вокруг. Скажем, это находится в папке на моем названном рабочем столе My Secrets
.
Однако я хотел бы сохранить своего рода метод для уничтожения этих данных для создания этого неисправимым таким способом, которым невозможно восстановиться и что нет никакого доказательства, что эти данные даже существовали во-первых.
Я хотел бы смочь сохранить свою установку Ubuntu и любые/все нечувствительные данные, таким образом, полное уничтожение (печально) не является опцией.
Как я могу достигнуть этого в Ubuntu?
Идеально, я также хотел бы смочь инициировать это удаление при отбрасывании контакта, от который точка, там не остановка (по крайней мере неравнодушный) разрушение моих данных. Я также готов использовать решение, которое требует установки (для, скажем, любых будущих данных, которым нужно устройство хранения данных).
shred
от GNU 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
:
Внимание: Обратите внимание, что клочок полагается на очень важное предположение: то, что файловая система перезаписывает данные на месте. Это - традиционный способ сделать вещи, но много современных проектов файловой системы не удовлетворяют это предположение. Следующее является примерами файловых систем, в которых клочок не является эффективным, или, как гарантируют, не будет эффективным при всех режимах файловой системы:
структурированные журналом или журналируемые файловые системы, такие как предоставленные AIX и Солярисом (и JFS, ReiserFS, XFS, Ext3, и т.д.)
файловые системы, которые пишут избыточные данные и продолжаются, даже если некоторые записи перестали работать, такие как основанные на RAID файловые системы
файловые системы, которые делают снимки, такие как сервер NFS Network Appliance
файловые системы, что кэш во временных местоположениях, таких как клиенты версии 3 NFS
сжатые файловые системы
В случае ext3 файловых систем вышеупомянутая правовая оговорка применяется (и клочок имеет таким образом ограниченную эффективность), только в data=journal режиме, который журналирует данные файла в дополнение только к метаданным. И в data=ordered (значение по умолчанию) и в data=writeback режимах, уничтожьте работы, как обычно. Режимы журналирования Ext3 могут быть изменены путем добавления data=something опции к опциям монтирования для конкретной файловой системы в/etc/fstab файле, как зарегистрировано в страницу справочника монтирования (человек монтируются).
Кроме того, резервные копии файловой системы и удаленные зеркала могут содержать копии файла, который не может быть удален, и это позволит измельченному файлу быть восстановленным позже.
В Ubuntu, если Вы используете ext4
файловая система, которая является также файловой системой журналирования, режим журнала, является значением по умолчанию для метаданных, не для данных (data=ordered
значение по умолчанию), таким образом, необходимо получить ожидаемый результат с shred
- луг, если Вы не изменили значение по умолчанию.
Как примечание стороны, можно найти опции файловой системы по умолчанию:
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
указывает, что это - FS журналирования, и опция (опции) журнала по умолчанию:
% 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
Вот от стенного предложения: храните уязвимые данные только в зашифрованном, заблокированном паролем облачном хранилище, с никакая папка ярлыка в Вашем компьютере (т.е. не устанавливайте Dropbox или подобный, который создает локальное зеркало удаленной системы хранения) - просто закладка в Вашем браузере. То, когда Вы хотите удалить доказательство в своей локальной системе уязвимых данных, удалить закладку и вытереть историю браузера (или, идеально, используйте вариант браузера высокой безопасности или установку, которые автоматически защищают, вытирает историю каждый раз, когда Вы закрываете его). Приблизительно десять секунд, и не будут никаким способом ни для кого знать, где начать смотреть, за исключением судебного поиска полной системы уровня (крайне маловероятно, если Вы не международный шпион или дочерний торговец порно).