- Регистрация
- 3 Фев 2025
- Сообщения
- 58
- Реакции
- 12
Полнодисковое шифрование, шифрование разделов, шифрование отдельных папок и файлов
Наверное, каждый сталкивался с зашифрованными файлами, для просмотра которых нужно ввести пароль. Это могли быть архивы или офисные файлы. Очень надёжно шифровать папки и файлы можно с помощью, например, VeraCrypt.Конечно, всё это доступно и в Linux. Вы можете создавать зашифрованные архивы, установить VeraCrypt или другую программу для шифрования файлов и папок.
Кроме такого подхода к шифрованию, установщики дистрибутивов Linux предлагают полнодисковое шифрование (или полное шифрование диска). Суть заключается в том, что все данные на диске зашифрованы. При запуске компьютера загрузчик предлагает ввести пароль для расшифровки диска. Если пароль правильный, то диск расшифровывается и компьютер продолжает загрузку и работу. При таком подходе не нужно думать о шифровании отдельных файлов — зашифровано всё, поэтому нет опасности, что что-то может быть скопировано с выключенного компьютера.
Обратной стороной такого подхода является то, что шифрование немного замедляет работу системы, поскольку при чтении и записи данных на диск требуется их обработка (шифровка/расшифровка).
Другая опасность — при сбое диска (файловой системы) есть вероятность потерять данные, либо потребуется загрузка со сторонней ОС для выполнения операций по восстановлению дисков.
Шифрование разделов — это промежуточный вариант. Например, зачем шифровать корневую файловую систему и бинарные файлы, которые одинаковые у всех пользователей? При этом многие пользователи были бы не против зашифровать свою папку в директории /home. В результате получается хороший компромисс: с одной стороны, действительно важные данные зашифрованы, но при этом работа системы не замедляется, так как её файлы в большей части не зашифрованы.
Как шифруются диски и разделы в Linux
Конечно же шифрование дисков и разделов в Linux можно использовать без понимания технических деталей. Например, вы видите на скриншоте опцию «Guided — use entire disk and set up encrypted LVM».
Вы должны быть зарегистрированы для просмотра вложений
Если её выбрать, то многое в настройке шифрования диска (или раздела), на который устанавливается ОС, будет сделано автоматически, отличие от стандартной настройки сводится к тому, что вам нужно придумать и запомнить пароль для шифрования диска.
Но если возникнут проблемы, например, ошибка в файловой системе из-за сбоя диска, то вы не сможете просто запустить fsck и исправить ошибки диска. Опять же, если вы захотите что-то другое кроме предлагаемой по умолчанию конфигурации разметки, то вам непросто будет это сделать без понимания сути LVM.
Поэтому пару слов о программах для полнодискового шифрования.
Для шифрования используются Cryptsetup и LUKS. Например, в статье «LIVE система Kali Linux на флэшке: полное руководство» показано, как создать и зашифровать постоянное хранилище. В той инструкции для создания раздела используется утилита parted, то есть получается обычный раздел диска. Шифрование раздела выполнялось утилитой cryptsetup. В той же статье показано как добавить пароль самоуничтожения данных, а также как сделать резервную копию заголовков. Поскольку «уничтожение данных» не означает повреждение самих данных, это означает только удаление заголовков, в результате чего данные невозможно расшифровать. Но если вы где-то сделали резервную копию заголовков, то вы можете их вернуть на диск и продолжить пользоваться системой как ни в чём не бывало.
Установщик Kali Linux (и других дистрибутивов на основе Debian) предлагает LVM для создания и управления томами, причём если вы хотите выбрать шифрование дисков или разделов, то они будут созданы именно с помощью LVM. Сама по себе технология LVM (Logical Volume Manager, то есть менеджер логических разделов) в первую очередь предоставляет мощные и гибкие инструменты для организации дискового пространства, например, вы можете из нескольких дисков создать один раздел или менять размеры разделов без перезагрузки системы. Установщик Kali Linux использует LVM для разметки диска и уже знакомые нам Cryptsetup и LUKS для шифрования. Всё это нужно знать хотя бы для того, что при возникновении сбоя диска, в зависимости от того, на каком этапе произошёл сбой, перед использованием fsck может понадобиться расшифровка диска с помощью «cryptsetup open --type luks» и/или активация диска с помощью lvchange/vgchan
Пароль для шифрования диска и пароль учётной записи пользователя
На первый взгляд может показаться, что пароль пользователя для входа в систему (этот же пароль применяется для выполнения команд с sudo и для разблокировки экрана, а также входа по SSH) и пароль для расшифровки диска очень похожи. Они оба предназначены для безопасности компьютера и защищают его от доступа посторонних.Но на самом деле с практической точки зрения это довольно разные вещи. Пароль учётной записи легко изменить или сбросить. Пароль любого пользователя может изменить любой другой пользователь, имеющие право выполнять команды с sudo. Даже если отсутствуют права администратора, но имеется физический доступ к компьютеру, то можно сбросить пароль для любого пользователя, в том числе и root.
Что касается пароля расшифровки диска, то с ним всё по-другому: если забыть этот пароль, то его никак не получится сбросить. Теоретически, пароль можно восстановить с помощью брут-форса, но это требует время и вычислительных ресурсов.
Если вы используете полнодисковое шифрование, то в принципе можно вообще отказаться от пароля пользователя и
Вы должны быть зарегистрированы для просмотра ссылок
.То есть пароль пользователя позволительно забыть, а пароль расшифровки диска забывать нельзя!
Команды для работы с зашифрованными дисками LVM
Вывод списка блочных устройств:
Bash:
lsblk
Вы должны быть зарегистрированы для просмотра вложений
Поиск всех групп томов:
Bash:
sudo vgscan
Вы должны быть зарегистрированы для просмотра вложений
Автоактивация групп томов:
Bash:
sudo vgchange -ay
Bash:
sudo lvscan
Вы должны быть зарегистрированы для просмотра вложений
Автоактивация указанного логического тома:
Bash:
sudo lvchange -ay /dev/xubuntu-vg/root
Bash:
sudo cryptsetup open --type luks /dev/nvme0n1p3 nvme0n1p3_crypt
Монтирование зашифрованного раздела (после того, как он был открыт с помощью cryptsetup):
Bash:
sudo mount /dev/mapper/HackWare--Kali--vg-home /home
Bash:
cat /etc/crypttab
Вы должны быть зарегистрированы для просмотра вложений
Информация о точках монтирования содержится в файле /etc/fstab:
Bash:
cat /etc/fstab
Вы должны быть зарегистрированы для просмотра вложений