💾 Archived View for tilde.team › ~rami › redhat_erase_wipe.gmi captured on 2024-08-18 at 17:35:01. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-06-14)

-=-=-=-=-=-=-

~Rami ₪ MANUALS

רמי

SUBJECT: RedHat (RHEL, Fedora, CentOS): Уничтожение данных

AUTHOR: Rami Rosenfeld

DATE: 24/09/22; upd. 10/04/23; upd. 14/06/23

TIME: 15.00

LANG: ru, en

LICENSE: GNU FDL 1.3

TAGS: gnu, gnome, software, opensource, linux, system, man, manual, bash, privacy, security, rhel, centos, mate, xfce, lxde, spin, de, systemd, systemctl, selinux, firewalld, dnf, rpm, shred, wipe, nwipe, wipefs

RedHat (RHEL, Fedora, CentOS): Уничтожение данных

INTRO

В этом разделе рассматриваются наиболее распространенные способы гарантированного уничтожения данных при помощи стандартных команд GNU/Linux.

NOTE

SHRED: Безвозвратное уничтожение файлов

shred -n 7 -f -u -z -v filename_1 filename_2

Опции:

- 7-проходное "затирание" данных (различными способами);

- принудительное изменение права на запись;

- удаление файла;

- последовательное цикличное перезаписывание имени файла нулями для сокрытия удаления;

- демонстрация прогресса уничтожения.

Пример:

$ shred ~/test/*

(удаление всех файлов в каталоге /test)

Внимание! Важно!

- полное уничтожение файлов НЕ ГАРАНТИРУЕТСЯ на твердотельных носителях и картах памяти: SSD/SD/SDHC - это связано с особенностями данных устройств;

- полное уничтожение файлов НЕ ГАРАНТИРУЕТСЯ на операционных системах, чьи разделы размечены под т.н. "журналируемую ФС" (например ext4);

- НЕ ИСПОЛЬЗУЙТЕ команду для удаления устройств целиком, например /dev/sdb и т.п.;

- команда НЕ УДАЛЯЕТ каталоги;

- будьте осторожны: восстановление вашей информации на HDD НЕВОЗМОЖНО!

Примечание: Для преодоления проблемы с SSD/SD/SDHC всегда осуществляйте полное шифрование твердотельных носителей при помощи LUKS2 (предварительно заполняя все пространство нулями), а затем, в процессе повседневной работы, уничтожайте файлы вышеуказанными методом.

Примечание: Для краткости удобно применить алиас, созданный в пользовательском .bashrc:

alias eraser='shred -n 7 -f -u -z -v'

Shredder (7-pass) for Nautilus (Caja, etc.) File Manager

Подробнее см.: man shred

GOCRYPTFS: "Режим паники"

Для быстрого удаления системных файлов GoCryptFS в критической ситуации можно использовать алиас .bashrc:

alias panic='shred -n 7 -f -u -z ~/.secret_folder/gocryptfs.conf ~/.secret_folder/gocryptfs.diriv'

UPD. 14.06.2023: ОЧЕНЬ ВАЖНО! Исходя из официального ответа разработчика GoCryptFS, уничтожение файлов gocryptfs.conf и gocryptfs.diriv разрушит структуру каталогов, НО(!) данные все же могут быть восстановлены!

LUKS2: Уничтожение парольных фраз во всех слотах зашифрованного носителя ("Режим паники")

cryptsetup luksErase /dev/sdb

Примечание: Вместо sdb подставьте имя носителя.

Внимание! Важно!

Эта операция удалит ВСЕ существующие парольные фразы из всех слотов. Она необратима, информация восстановлению не подлежит! Какая-либо парольная фраза (из наличествующих в слотах) при выполнении этой команды НЕ(!) запрашивается! Дальнейший доступ к зашифрованному носителю/разделу будет невозможен. Поэтому для удаления отдельных ключей из слотов всегда используйте субкоманду luksKillSlot.

WIPEFS: Удаление сигнатур и метадаты разделов на носителе

а) Носитель (в целом):

wipefs /dev/sdb

DEVICE OFFSET TYPE UUID LABEL
sdb    0x1fe  dos

б) Разделы:

wipefs /dev/sda1

DEVICE OFFSET TYPE UUID                                 LABEL
sda1   0x438  ext2 3519715f-5e3a-4252-ad7b-592bad5f3969 boot

wipefs /dev/sda2

DEVICE OFFSET TYPE UUID                                 LABEL
sda2   0x0    crypto_LUKS 8ad43493-4392-4048-8cde-434fcc4393b1 
sda2   0x4000 crypto_LUKS 8ad43493-4392-4048-8cde-434fcc4393b1

UUID: partition/filesystem UUID

LABEL: filesystem LABEL

LENGTH: magic string length

TYPE: superblok type

OFFSET: magic string offset

USAGE: type description

DEVICE: block device name

wipefs --all --force --quiet /dev/sda

Примечания: Опция --force позволит применить команду ДАЖЕ для подмонтированных разделов; опция --quiet не будет выводить лишнюю информацию о процессах.

По умолчанию wipefs не работает рекурсивно; следует использовать астериск в имени носителя:

wipefs --all --force --quiet /dev/sda*

wipefs --offset 0x1fe /dev/sda

/dev/sda: 2 bytes were erased at offset 0x000001fe (dos): 55 aa
/dev/sda: calling ioctl to re-read partition table: Success

wipefs --all --types dos /dev/sda

wipefs --all --types gpt /dev/sdb

Важно! Команда wipefs не уничтожает файловые системы и иные данные с носителей! Она удаляет только сигнатуры и метадату существующих разделов или всего носителя. Таким образом, для полного уничтожения данных нобходимо воспользоваться дополнительными средствами. Например:

"Затирание" всех данных при помощи перезаписывания нулей в сектора носителя:

cat /dev/zero > /dev/sda

Эту команду желательно повторить несколько раз.

Важно! Перезаписывание информации нулями НЕ является надежной операцией. Используйте ее только если: а) под рукой не имеется более надежных средств; б) вы уничтожаете данные с носителя, предварительно зашифрованного полнодисковым шифрованием LUKS2. В противном случае - воспользуйтесь сторонними средствами, например nwipe или ShredOS.

wipefs --all --force --backup /dev/sda*

Примечание: Резервная копия будет создана в корневом каталоге администратора, например: /root/wipefs-sda-0x000001fe.bak

Важно! Создание резервной копии возможно только при РЕАЛЬНОМ исполнении команды уничтожения сигнатур.

dd if=/root/wipefs-sda-0x000001fe.bak of=/dev/sda seek=$((0x000001fe)) bs=1 conv=notrunc

Дополнительно см.: wipefs --help

Параметры:

 -a, --all           wipe all magic strings (BE CAREFUL!)
 -b, --backup        create a signature backup in $HOME
 -f, --force         force erasure
 -i, --noheadings    don't print headings
 -J, --json          use JSON output format
 -n, --no-act        do everything except the actual write() call
 -o, --offset <num>  offset to erase, in bytes
 -O, --output <list> COLUMNS to display (see below)
 -p, --parsable      print out in parsable instead of printable format
 -q, --quiet         suppress output messages
 -t, --types <list>  limit the set of filesystem, RAIDs or partition tables
     --lock[=<mode>] use exclusive device lock (yes, no or nonblock)
 -h, --help          display this help

NWIPE: Тотальное уничтожение данных на физических носителях

nwipe --autonuke --method=dodshort

Внимание! Важно!

Применение команды с опцией "autonuke" НЕМЕДЛЕННО УНИЧТОЖИТ ВСЕ ДАННЫЕ со ВСЕХ носителей на компьютере, включая USB. Если будет указана цель - конкретное устройство (sda, sdb и т.п.) - уничтожение не затронет остальные носители. См. также опцию "--exclude".

Возможные алгоритмы уничтожения (по умолчанию: dodshort):

- dod522022m / dod - 7 pass DOD 5220.22-M method;

- dodshort / dod3pass - 3 pass DOD method;

- gutmann - Peter Gutmann's Algorithm;

- ops2 - RCMP TSSIT OPS-II;

- random / prng / stream - PRNG Stream;

- zero / quick - Overwrite with zeros.

nwipe --autonuke --method=dod522022m --autopoweroff --nowait --nosignals --nogui

Это более серьезная команда. Она увеличит время выполнения за счет количество проходов (с 3 до 7), не будет ждать реакции пользователя по завершении, а также (важно!) запретит любые сигналы прерывания операции во время ее исполнения. Кроме того, не будет показан пользовательский интерфейс.

Примечание: Последняя опция "--nogui" применима только вместе с "--autonuke".

Примечание: Я рекомендую использовать алгоритм DoD (стандарт Министерства обороны США) в его полном варианте; метод Петера Гутманна очень надежен, но крайне длителен в выполнении.

См. также опции:

--nousb

--verbose

--rounds

--exclude

Подробнее см.: man nwipe

ShredOS (Live USB)

Весьма удобное, быстрое и надежное 32/64-разрядное средство для полного уничтожения носителей (большой плюс - отличная подробная документация на сайте производителя). Использует Nwipe.

Подробнее см.:

ShredOS x86_64 - Disk Eraser

ShredOS i686 - Disk Eraser

₪ Back to home ₪

🄯 Rami Rosenfeld, 2022-2023. GNU FDL 1.3.