- как заполнить свободное на разделе место нулями?
- Re: как заполнить свободное на разделе место нулями?
- Re: как заполнить свободное на разделе место нулями?
- Re: как заполнить свободное на разделе место нулями?
- Re: как заполнить свободное на разделе место нулями?
- Re: как заполнить свободное на разделе место нулями?
- Re: как заполнить свободное на разделе место нулями?
- Re: как заполнить свободное на разделе место нулями?
- Re: как заполнить свободное на разделе место нулями?
- Re: как заполнить свободное на разделе место нулями?
- Re: как заполнить свободное на разделе место нулями?
- Re: как заполнить свободное на разделе место нулями?
- Re: как заполнить свободное на разделе место нулями?
- Уничтожение данных на жестком диске в Linux
- Стирание данных с использованием dd
- Стирание данных с помощью shred
- Как стереть свободное место на диске в Linux?
- 16 ответов 16
- Безвозвратное уничтожение информации на Linux
- Nwipe — безопасное удаление с дисков
- Secure-Delete — инструменты для стирания файлов, освобождения дискового пространства, swap’а и памяти
- One thought to “Безвозвратное уничтожение информации на Linux”
как заполнить свободное на разделе место нулями?
Re: как заполнить свободное на разделе место нулями?
cat /dev/zero > file
Когда отвалится — значит всё свободное место забито нулями.
Re: как заполнить свободное на разделе место нулями?
file естественно должен быть на забиваемом разделе
Re: как заполнить свободное на разделе место нулями?
Или чуть быстрее
dd if=/dev/zero of=/path/file
Re: как заполнить свободное на разделе место нулями?
это с 512-байтным bs по умолчанию? Шутник.
Re: как заполнить свободное на разделе место нулями?
Оставайтесь на месте, отдел К выезжает
Re: как заполнить свободное на разделе место нулями?
Есть такое слово — называется кеширование.
Что мешает написать bs=4096?
Re: как заполнить свободное на разделе место нулями?
Re: как заполнить свободное на разделе место нулями?
sync еще неплохо бы.
Re: как заполнить свободное на разделе место нулями?
>Оставайтесь на месте, отдел К выезжает Тогда лучше использовать shred
Re: как заполнить свободное на разделе место нулями?
Только потом надо удалить файл.
Re: как заполнить свободное на разделе место нулями?
>как заполнить свободное на разделе место нулями?
А зачем, если не секрет.
Re: как заполнить свободное на разделе место нулями?
всем спасибо за ответы
>А зачем, если не секрет.
предпродажная подготовка=) продаю комп, а систему попросили не сносить
Источник
Уничтожение данных на жестком диске в Linux
Когда мы удаляем файл из файловой системы, данные физически не удаляются: операционная система просто отмечает область, ранее занятую файлом, как свободную и делает ее доступной для хранения новой информации. Единственный способ убедиться, что данные действительно удалены с устройства, – перезаписать их другими данными. Если диск с конфиденциальной информацией меняет владельца и вы боитесь, что она может попасть не в те руки необходимо предпринять определенные действия.
Многие криминалистические инструменты с открытым исходным кодом находятся в свободном доступе в Интернете, и их можно использовать для извлечения потерянных или удаленных данных с жесткого диска. Многие из них настолько просты в использовании, что обычные пользователи настольных компьютеров также могут загрузить их и достать данные.
Рассмотрим некоторые инструменты, которые мы можем использовать, чтобы полностью стереть данные на устройстве.
Стирание данных с использованием dd
Утилита dd – мощная программа, включенная по умолчанию во все основные дистрибутивы Linux. С ее помощью мы можем заполнить содержимое диска нулями или случайными данными. В обоих случаях мы можем использовать данные, сгенерированные специальными файлами: /dev/zero и dev/urandom (или /dev/random) соответственно. Первый возвращает нули каждый раз, когда над ним выполняется операция чтения; второй возвращает случайные байты, используя генератор случайных чисел ядра Linux.
Чтобы заполнить диск нулями, мы можем запустить:
Чтобы использовать случайные данные, вместо этого:
Стирание данных с помощью shred
Основное назначение данной утилиты состоит в том, чтобы перезаписать файлы и при необходимости удалить их. Утилита основана на предположении , что файловая система перезаписывает данные на месте. Однако приложение может не позволить нам достичь ожидаемого результата. Например, в журналируемой файловой системе, таких как ext4 (пожалуй наиболее часто используемая файловая система Linux), если она смонтирована с опцией data=journal.
При монтировании файловой системы ext4 с опциями data=ordered или data=writeback (первая используется по умолчанию) данные записываются в основную файловую систему после фиксации метаданных в журнале. В обоих случаях shred работает нормально, что дает ожидаемые результаты. При использовании опции data=journal помимо метаданных в журнал файловой системы записываются также и сами данные и лишь затем данные записываются в основную файловую систему. Легко понять, почему это может вызвать проблемы.
Рассмотрим несколько примеров использования приложения. Предположим, мы хотим безопасно содержимое файла с именем «test».
Все, что нам нужно сделать, это запустить следующую команду (здесь мы используем опцию -v, чтобы сделать программу более подробной):
Вот что мы можем видеть после выполнения команды:
По умолчанию приложение переписывает указанный файл случайными данными в три прохода. Количество проходов можно изменить с помощью опции -n. Чтобы переопределить файл 6 раз, мы запустим:
В некоторых случаях мы можем скрыть тот факт, что операция удаления была выполнена для файла или устройства. В этих ситуациях мы можем использовать опцию программы -z (сокращение от –zero), чтобы заставить программу выполнить дополнительный проход нулями:
Из подробного вывода команды мы действительно можем заметить, как выполняется последний проход, записав нули ( 000000).
Помимо работы с файлами shred позволяет производить такие же операции с разделами. Например, нам необходимо навсегда затереть информацию на диске sda:
Источник
Как стереть свободное место на диске в Linux?
Когда файл удален, его содержимое все равно может остаться в файловой системе, если явно не перезаписано чем-то другим. Команда wipe может безопасно удалить файлы, но, похоже, не позволяет стереть свободное дисковое пространство, не используемое никакими файлами.
Что я должен использовать для достижения этой цели?
16 ответов 16
Предупреждение: Современное оборудование для дисков /SSD и современные файловые системы могут сжимать данные в местах, где вы не можете их удалить, поэтому этот процесс может все же оставить данные на диске. Единственными безопасными способами удаления данных являются команда ATA Secure Erase (если она реализована правильно) или физическое уничтожение. Также см. Как я могу надежно стереть всю информацию на жестком диске?
Вы можете использовать набор инструментов, который называется secure-delete.
Это имеет четыре инструмента:
srm — безопасно удалить существующий файл
smem — безопасно удаляет следы файла из оперативной памяти
sfill — стереть все пространство, помеченное как пустое на вашем жестком диске
sswap — стереть все данные из вашего пространства подкачки.
Из справочной страницы srm
srm предназначен для безопасного удаления данных на носителях, которые не могут быть восстановлены ворами, правоохранительными органами или другими угрозами. Алгоритм очистки основан на статье «Безопасное удаление данных из магнитной и твердотельной памяти», представленной на 6-м симпозиуме по безопасности Usenix Питером Гутманом, одним из ведущих гражданских криптографов.
Процесс безопасного удаления данных в srm выглядит следующим образом:
- 1 проход с 0xff
- 5 случайных проходов. /dev/urandom используется для безопасного RNG, если он доступен.
- 27 проходов со специальными значениями, определенными Питером Гутманом.
- 5 случайных проходов. /dev/urandom используется для безопасного RNG, если он доступен.
- Переименуйте файл в случайное значение
- Усекать файл
В качестве дополнительной меры безопасности файл открывается в режиме O_SYNC и после каждого прохода выполняется вызов fsync() . srm записывает 32k блоков с целью увеличения скорости, заполняя буферы дисковых кешей, чтобы заставить их сбрасывать и перезаписывать старые данные, которые принадлежали файлу.
Самый быстрый способ, если вам нужен только один проход и вы просто хотите заменить все на нули, это:
(запустить из каталога в файловой системе, которую вы хотите стереть)
(команда sync — это мера паранойи, которая обеспечивает запись всех данных на диск — интеллектуальный менеджер кэша может сработать, что он может отменить запись для любых ожидающих блоков, когда файл не связан)
Во время этой операции будет время, когда в файловой системе вообще не будет свободного места, которое может составлять десятки секунд, если результирующий файл имеет большой размер и фрагментирован, поэтому удаление занимает некоторое время. Чтобы уменьшить время, когда свободное пространство полностью равно нулю:
Этого должно быть достаточно, чтобы кто-то не мог прочитать содержимое старого файла без дорогостоящей криминалистической операции. Для немного более безопасного, но более медленного варианта замените /dev/zero на /dev/urandom . Для большей паранойи выполните несколько шагов с /dev/urandom , хотя, если вам нужно столько усилий, утилита shred из пакета coreutils — это путь:
Обратите внимание, что в приведенном выше примере маленький файл измельчается перед созданием большего, поэтому его можно удалить, как только завершится создание большего, вместо того, чтобы ждать, пока он будет уничтожен, оставляя файловую систему с нулевым свободным пространством на время, которое занимает. Процесс уничтожения занимает много времени над большим файлом, и если вы не пытаетесь что-то скрыть от АНБ, на самом деле IMO не требуется.
Все вышеперечисленное должно работать на любой файловой системе.
Ограничения на размер файла:
Как отмечает DanMoulding в комментарии ниже, это может иметь проблемы с ограничением размера файла в некоторых файловых системах.
Для FAT32 это определенно будет проблемой из-за ограничения файла в 2 ГБ: большинство томов больше, чем это в наши дни (8 ТБ — это ограничение размера тома IIRC). Вы можете обойти эту проблему, пропустив большой вывод cat /dev/zero через split чтобы сгенерировать несколько меньших файлов и соответственно настроить этапы уничтожения и удаления.
С ext2/3/4 это не так важно: при использовании стандартного /общего блока 4K ограничение размера файла составляет 2 ТБ, поэтому для этого потребуется большой объем (максимальный размер тома в этих условиях это 16TiB).
С (все еще экспериментальными) btrfs максимальный размер файла и тома составляют огромные 16EiB.
Под NTFS максимальная длина файла в некоторых случаях даже превышает максимальную длину тома.
Виртуальные устройства
Как недавно упоминалось в комментариях, существуют дополнительные соображения для виртуальных устройств:
Для редко размещаемых виртуальных дисков другие методы, такие как zerofree будут быстрее (хотя в отличие от cat и dd это не стандартный инструмент, на который можно положиться в значительной степени в любой UNIX-подобной ОС).
Имейте в виду, что обнуление блока на разреженном виртуальном устройстве может не стереть блок на базовом физическом устройстве, на самом деле я бы даже сказал, что это маловероятно — диспетчер виртуальных дисков просто сделает блок больше не используемым так что это может быть выделено на что-то еще позже.
Даже для виртуальных устройств фиксированного размера вы не можете контролировать физическое расположение устройства, поэтому его можно перемещать вокруг своего текущего местоположения или на новый набор физических дисков в любое время, и самое большее, что вы можете стереть, это текущее местоположение, а не любые предыдущие местоположения, в которых блок мог находиться в прошлом.
Для перечисленных выше проблем на виртуальных устройствах: если вы не управляете хостами и не можете безопасно стереть их нераспределенное пространство после очистки дисков в виртуальной машине или перемещения виртуального устройства, вы ничего не можете с этим поделать после факт. Единственным выходом является использование полного шифрования диска с самого начала, чтобы ничто не было зашифровано в первую очередь на физическом носителе. Конечно, в VM все еще может потребоваться очистка свободного пространства. Также обратите внимание, что FDE может сделать разреженные виртуальные устройства гораздо менее полезными, так как уровень виртуализации не может реально увидеть, какие блоки не используются. Если уровень файловой системы ОС отправляет команды обрезки на виртуальное устройство (как если бы это был SSD), и виртуальный контроллер интерпретирует их, то это может решить эту проблему, но я не знаю каких-либо обстоятельств, где это действительно происходит, и более широких обсуждение этого вопроса в другом месте (мы уже близки к тому, чтобы не обсуждать первоначальный вопрос, поэтому, если это вызвало у вас интерес, возможно, стоит поэкспериментировать и / или последующие вопросы).
Источник
Безвозвратное уничтожение информации на Linux
Часто бывает так, что необходимо безвозвратно уничтожить некую информацию с носителя. Ни для кого не секрет, что файлы, удалённые из корзины, не удаляются с жёсткого диска.
Один из стандартных методов восстановления данных, перезаписываемых на жесткий диск, состоит в захвате и обработке аналогового сигнала, получаемого из привода головок чтения/записи, прежде, чем этот сигнал будет оцифрован. Этот аналоговый сигнал близок к цифровому, но различия раскрывают важную информацию. Рассчитав цифровой сигнал, а затем вычтя его из фактического аналогового, можно усилить сигнал, оставшийся после вычитания, и использовать его, чтобы определить, что ранее было написано на диске.
Даже при неоднократной перезаписи диска со случайными данными теоретически возможно восстановить предыдущий сигнал. Диэлектрическая проницаемость среды изменяется с частотой магнитного поля. Это означает, что низкая частота поля проникает глубже в магнитный материал на диске, чем высокая частота оного. Так низкочастотный сигнал теоретически может быть определен даже после того, как перезапись производилась сотни раз на высокой частоте сигнала. Википедия.
Отсюда возникает потребность в уничтожении остаточной информации, дабы она не попала не в те руки.
Остаточная информация — информация на запоминающем устройстве, оставшаяся от формально удалённых операционной системой данных. Информация может остаться из-за формального удаления файла или из-за физических свойств запоминающих устройств. Остаточная информация может привести к непреднамеренному распространению конфиденциальной информации, если хранилище данных окажется вне зоны контроля (например, будет выброшено с мусором или передано третьей стороне). Википедия.
Рассмотрим несколько программ, целью которых является полное безвозвратное уничтожение данных на Linux.
Nwipe — безопасное удаление с дисков
Nwipe — утилита для безопасного удаления данных с дисков, использующая несколько общепризнанных методов. Она является ответвлением от dwipe, используемой в Darik’s Boot and Nuke (DBAN).
Связанные с программой сайты:
—autonuke — если не были указаны устройства в командной строке, начинает немедленно стирать все устройства. Если устройства были заданы, то немедленно начинает стирать только эти специфичные устройства.
-m, —method=METHOD — метод стирания.
Secure-Delete — инструменты для стирания файлов, освобождения дискового пространства, swap’а и памяти
Очень полезный в быту параноика набор консольных утилит. Предназначен для безвозвратного удаления данных и удаления остаточной информации. В своей работе использует Метод Гутмана.
В своём составе имеет набор из четырёх консольных утилит:
Найти программу можно в репозиториях своей Linux-системы. Страница проекта на GitHub: github.com/paolostivanin/Secure-Delete
Начнём с первой, и самой полезной утилиты — Srm. Удаляет файлы и каталоги с жёсткого диска.
Srm выполняет безопасную перезапись/переименование/удаление целевого файла (ов). По умолчанию включён безопасный режим (38 записей).
Sfill. Аналогична предыдущей, только обрабатывает свободное место на диске, зачищая следы данных.
sfill выполняет безопасную перезапись свободного места, занимаемого директорией, и всех свободных инодов заданной директории. По умолчанию безопасный режим (38 записей).
Sswap. То же самое, но зачищает раздел подкачки /swap, если он присутствует в системе. Перед использованием необходимо отключить swap.
sswap выполняет безопасное стирание области swap. По умолчанию безопасный режим (38 записей).
ВНИМАНИЕ: Нужно отключить swap перед использованием этой программы!
И последняя утилита — sdmem. Уничтожает следы данных в оперативной памяти.
smem выполняет безопасную перезапись оперативной памяти (RAM), поскольку содержимое памяти может быть восстановлено даже после отключения! По умолчанию безопасный режим (38 записей).
Пояснение по ключам:
- -r — обрабатывать все вложенные подкаталоги. Данный ключ необходим, если удаляемый файл является каталогом, пусть даже пустым. Если удаляемый файл не является каталогом, то ключ -r не влияет на команду srm.
- -v — подробный режим. По умолчанию в терминал не выводятся результаты работы программы. Этот ключ позволяет их просмотреть.
- -f — вместо /dev/random (ГСЧ) использует /dev/urandom (ГПСЧ) Суть отличия ниже. Если вкратце, то при использовании /dev/urandom повышается скорость перезаписи, но при этом числа не случайны. Поэтому использование ключа не рекомендуется.
/dev/random и /dev/urandom — специальные символьные псевдоустройства в некоторых UNIX-подобных системах, впервые появившиеся в ядре Linux версии 1.3.30. Они предоставляют интерфейс к системному генератору случайных чисел, который выводит шумы из драйверов устройств и других источников в «хаотичный» пул (англ. entropy pool). Генератор также сохраняет необходимое количество битов шума в этом пуле и формирует из него случайные числа.
При чтении данных в устройстве /dev/random создаются только случайные байты, состоящие из битов шума «хаотичного» пула. Устройство /dev/random может быть необходимо пользователям, которые требуют очень высокого коэффициента случайности, например, при создании ключа доступа и т. п. Если «хаотичный» пул опустел, чтение /dev/random блокируется, пока необходимое количество битов в пуле не будет создано.
Чтение данных устройства /dev/urandom возвратит столько байтов, сколько было запрошено. В результате, если в пуле было недостаточно битов, теоретически возможно будет найти уязвимость алгоритма, использующего это устройство. Если это важно, следует использовать /dev/random. Википедия.
- -l — вместо 38 циклов перезаписи проходит только первых два: затирание нулями и запись случайными числами. Крайне небезопасно, но сильно ускоряет работу программы. Если используете этот ключ, то после желательно ещё раз затереть свободное место на диске.
One thought to “Безвозвратное уничтожение информации на Linux”
Если у вас есть информация которая при попадании в чужие руки может принести массу проблем, то просто держите её в криптоконтейнере. Так же шифруем полностью весь Linux, а если HDD необходимо будет продать, подключаем носитель к другому ПК или грузимся с LiveCD и шифруем весь носитель. Считаю такой метод более надёжен, нежели перезапись в несколько подходов, но опять же, всё зависит от важности информации. И последнее, все перечисленные способы в статье актуальны только для HDD, SSD лучше шифровать изначально.
Источник