Як я можу бути впевненим, що каталог або файл фактично видалено?


14

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

Як я можу гарантувати, що каталог, який я видалив, буде фактично видалений з диска? Чи є для цього комунальні послуги?

Я використовую Debian Linux.


5
Коротка відповідь: Не можна! Довга відповідь: або фізично знищити диск, або перефразовувати питання: скільки зусиль знадобиться для відновлення даних і якою була б успішність такої спроби?
Марко

Відповіді:


11

Зашифруйте дані перед їх збереженням. Щоб видалити дані, протріть ключ.

Якщо ви вже писали дані в простому тексті, це занадто пізно, щоб стерти їх простим способом. У різних місцях може бути декілька копій даних:

  • у файловій системі, якщо файл був записаний кілька разів (перезаписаний або замінений);
  • у файловій системі, якщо вона була переставлена ​​як частина дефрагментації;
  • у журналі (це, швидше за все, зникне після останнього запису даних);
  • в резервних копіях;
  • в інвалідних секторах (особливо на SSD).

Щоб позбутися від копій даних у файловій системі, грубим методом є заповнити вільний простір ( cat /dev/zero >somefileі дочекатися його припинення, оскільки файлова система заповнена). Це замінить усі повні блоки.

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

Носії даних можуть зберігати дані в блоках, які вже не використовуються. На жорстких дисках це означає погані блоки, які були перерозподілені; це досить рідкісне явище, поки диск не почне зношуватися. На SSD це поширене явище через вирівнювання зносу. В обох випадках загроза є дуже низькою, оскільки для доступу до цих даних потрібен дещо складний зловмисник, який має дещо помірно дороге обладнання та витрачений час. Якщо ви переймаєтесь цими загрозами, зашифруйте свої дані та не залишайте ключ лежачи.

Зауважте, що ви можете побачити поради щодо стирання даних, зробивши декілька пропусків або використовуючи випадкові дані замість нулів ("очищення Гутмана"). Забудьте про це: це стосується лише жорстких дисків 1980-х років (і навіть тоді дані не такі дешеві для реконструкції, а реконструкція - досить ненадійні). Переписування з нулями досить добре; робити кілька випадкових пропусків - це застаріла порада або зміїна олія. Див. Чому записувати нулі (або випадкові дані) на жорсткий диск у кілька разів краще, ніж просто робити це один раз?


12

Існує дуже популярний засіб під назвою shred. Він буде перезаписувати кожен файл 25 разів, перш ніж його буде видалено. Це може мені, що ви шукаєте.

Використання подрібнювача досить просте

$ shred secret_archive.tar.gz

Однак зауважте, що сучасні системи shredможуть бути неефективними або марними, якщо:

  • Ваші програми створюють тимчасові файли, про які ви не знаєте (як і багато програм GUI)
  • Ваш FS заснований на копійному записі (як ZFS або Btrfs)
  • Ваш FS заснований на журналі (як і NILFS)
  • Ваш FS використовує журнал обліку даних (як і JFS, ReiserFS, XFS, ext3 або ext4 у деяких конфігураціях)
  • Ваш FS використовує стиснення
  • Ваш FS виділяє нові версії файлів у різних місцях
  • У вас є знімки або Back-Ups
  • Ви знаходитесь у мережі FS
  • Ви використовуєте SSD з алгоритмами вирівнювання зносу

Інші та потенційно більш безпечні варіанти:

  • Шифрування критичних даних
  • Переписування всього розділу чи пристрою зберігання даних
  • Фізичне знищення пристрою

1
Згідно з моєю manpage сторінка shredпрацює навіть з ext3 (і я думаю, що ext4 теж), коли використовуються режими data = впорядковано (за замовчуванням) та data = записи . Крім того, є проста альтернатива: просто створіть величезний файл, що займає весь залишок файлової системи, щоб ваш видалений файл перезаписався.
scai

Спасибі. Я просто це виправив. journaling -> data jornaling
taffer

@scai, величезний метод файлів не обов'язково працює, оскільки блоки файлів, можливо, вже були перерозподілені та ще не записані (як помилкові дані, останній блок файлів або режими ...)
Stéphane Chazelas

3
shredє зміїна олія: це не краще, ніж head -c $(wc -c secret_archive.tar.gz)>! secret_archive.tar.gz`. Використовувати клаптики завжди безглуздо, якщо ви не використовуєте жорсткий диск з 1980-х або початку 1990-х.
Жил "ТАК - перестань бути злим"

3
клаптик / bcwipe / тощо. є зміїною олією на рівні файлової системи. Для будь-якої файлової системи. Через спосіб роботи з файлами: Кожен раз, коли натискаєте кнопку "Зберегти", старий файл видаляється (знаходиться у вільному просторі) та створюється новий файл. Ви не можете його подрібнити, якщо файлова система вже забула про нього. - На рівні пристрою це відрізняється або перезаписувати все-вільний простір. Там клаптик є одним з небагатьох швидких випадкових джерел даних, доступних в Linux / Unix. / dev / (u) випадково це занадто чортово повільно, щоб його можна було використовувати для перезапису великих обсягів даних. - Так що один клаптик прохід OK для пристрою або вільного простору, просто не для одного файлу
frostschutz
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.