💾 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
⬅️ Previous capture (2023-06-14)
-=-=-=-=-=-=-
רמי
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
В этом разделе рассматриваются наиболее распространенные способы гарантированного уничтожения данных при помощи стандартных команд GNU/Linux.
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 в критической ситуации можно использовать алиас .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 разрушит структуру каталогов, НО(!) данные все же могут быть восстановлены!
cryptsetup luksErase /dev/sdb
Примечание: Вместо sdb подставьте имя носителя.
Эта операция удалит ВСЕ существующие парольные фразы из всех слотов. Она необратима, информация восстановлению не подлежит! Какая-либо парольная фраза (из наличествующих в слотах) при выполнении этой команды НЕ(!) запрашивается! Дальнейший доступ к зашифрованному носителю/разделу будет невозможен. Поэтому для удаления отдельных ключей из слотов всегда используйте субкоманду luksKillSlot.
а) Носитель (в целом):
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 --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
Весьма удобное, быстрое и надежное 32/64-разрядное средство для полного уничтожения носителей (большой плюс - отличная подробная документация на сайте производителя). Использует Nwipe.
Подробнее см.:
🄯 Rami Rosenfeld, 2022-2023. GNU FDL 1.3.