Функцията за шифроване на ниво файлова система Btrfs все още не е налична. Но можете да използвате инструмент за криптиране на трети страни като dm-крипта за шифроване на всички устройства за съхранение на вашата файлова система Btrfs.
В тази статия ще ви покажа как да шифровате устройствата за съхранение, добавени към файлова система Btrfs с dm-crypt. И така, нека започнем.
Съкращения
- ЛУКС - Linux Unified Key Setup
- HDD - Твърд диск
- SSD - SSD устройство
Предпоставки
За да следвате тази статия:
- Трябва да използвате Fedora 33 Workstation или Ubuntu 20.04 LTS Linux дистрибуция на вашия компютър.
- Трябва да имате безплатен HDD / SSD на вашия компютър.
Както можете да видите, имам HDD sdb на моя Ubuntu 20.04 LTS машина. Ще го шифровам и ще го форматирам с файловата система Btrfs.
$ sudo lsblk -e7
Инсталиране на необходимите пакети на Ubuntu 20.04 LTS
За да шифровате устройства за съхранение и да ги форматирате с файловата система Btrfs, трябва да имате btrfs-progs и cryptsetup пакети, инсталирани на вашия Ubuntu 20.04 LTS машина. За щастие тези пакети са налични в официалното хранилище на пакети на Ubuntu 20.04 LTS.
Първо актуализирайте кеша на хранилището на APT пакета със следната команда:
$ sudo apt актуализация
Да инсталираш btrfs-progs и cryptsetup, изпълнете следната команда:
За да потвърдите инсталацията, натиснете Y и след това натиснете <Въведете>.
The btrfs-progs и cryptsetup пакетите и техните зависимости се инсталират.
The btrfs-progs и cryptsetup пакетите трябва да бъдат инсталирани на този етап.
Инсталиране на необходимите пакети на Fedora 33
За да шифровате устройства за съхранение и да ги форматирате с файловата система Btrfs, трябва да имате btrfs-progs и cryptsetup пакети, инсталирани на вашата машина на Fedora 33 Workstation. За щастие тези пакети се предлагат в официалното хранилище на пакети на Fedora 33 Workstation.
Първо актуализирайте кеша на хранилището на DNF със следната команда:
$ sudo dnf makecache
Да инсталираш btrfs-progs и cryptsetup, изпълнете следната команда:
Fedora 33 Workstation използва файловата система Btrfs по подразбиране. Така че, по-вероятно е вече да имате инсталирани тези пакети, както можете да видите на екранната снимка по-долу. Ако по някаква причина те не са инсталирани, те ще бъдат инсталирани.
Генериране на ключ за шифроване
Преди да можете да шифровате вашите устройства за съхранение с cryptsetup, трябва да генерирате 64 байта дълъг случаен ключ.
Можете да генерирате вашия ключ за криптиране и да го съхраните в / etc / cryptkey файл със следната команда:
$ sudo dd, ако = / dev / urandom на = / etc / cryptkey bs = 64 count = 1
Нов ключ за криптиране трябва да бъде генериран и съхранен в / etc / cryptkey файл.
Файлът на ключа за криптиране / etc / cryptkey може да се чете от всички по подразбиране, както можете да видите на екранната снимка по-долу. Това е риск за сигурността. Ние искаме само корен потребителят да може да чете / пише в / etc / cryptkey файл.
За да позволите само на root потребителя да чете / пише в / etc / cryptkey файл, променете разрешенията за файлове, както следва:
Както можете да видите, само корен потребителят има разрешение за четене / запис (rw) на / etc / cryptkey файл. Така че никой друг не може да види какво има в / etc / cryptkey файл.
Шифроване на устройствата за съхранение с dm-crypt
След като генерирате ключ за шифроване, можете да шифровате устройството си за съхранение. да речем, sdb, с технологията за криптиране на диска LUKS v2 (версия 2), както следва:
$ sudo cryptsetup -v --type luks2 luksFormat / dev / sdb / etc / cryptkey
cryptsetup ще ви подкани да потвърдите операцията за криптиране.
ЗАБЕЛЕЖКА: Всички данни от вашия HDD / SSD трябва да бъдат премахнати. Така че, не забравяйте да преместите всичките си важни данни, преди да се опитате да шифровате вашия HDD / SSD.
За да потвърдите операцията за шифроване на диска, въведете ДА (с главни букви) и натиснете
В този момент устройството за съхранение / dev / sdb трябва да се кодира с ключа за кодиране / etc / cryptkey.
Отваряне на шифровани устройства за съхранение
След като шифровате устройство за съхранение с cryptsetup, трябва да го отворите с cryptsetup инструмент, за да можете да го използвате.
Можете да отворите шифрованото устройство за съхранение sdb и го картографирайте на вашия компютър като a данни устройство за съхранение, както следва:
$ sudo cryptsetup отворен --key-file = / etc / cryptkey --type luks2 / dev / sdb data
Сега дешифрираното устройство за съхранение ще бъде налично в пътя / dev / mapper / data. Трябва да създадете желаната файлова система в / dev / mapper / устройство за данни и монтирайте / dev / mapper / устройство за данни вместо / dev / sdb от сега нататък.
Създаване на файлова система Btrfs на шифровани устройства:
За да създадете файлова система Btrfs на дешифрираното устройство за съхранение / dev / mapper / data с данните на етикета изпълнете следната команда:
$ sudo mkfs.btrfs -L data / dev / mapper / data
Файлова система Btrfs трябва да бъде създадена на / dev / mapper / устройство за съхранение на данни, който се дешифрира от устройството за съхранение / dev / sdb (кодирано с LUKS 2).
Монтиране на шифрована файлова система Btrfs
Можете също да монтирате файловата система Btrfs, която сте създали по-рано.
Да кажем, че искате да монтирате файловата система Btrfs, която сте създали по-рано в /данни директория.
Така че, създайте /данни директория, както следва:
$ sudo mkdir -v / data
За да монтирате файловата система Btrfs, създадена в / dev / mapper / устройство за съхранение на данни в /данни директория, изпълнете следната команда:
Както можете да видите, файловата система Btrfs, създадена на шифрованото устройство за съхранение sdb е монтиран в /данни директория.
Автоматично монтиране на шифрована файлова система Btrfs по време на стартиране
Можете да монтирате криптирана файлова система Btrfs и по време на зареждане.
За да монтирате криптирана файлова система Btrfs по време на зареждане, трябва:
- дешифрирайте устройството за съхранение / dev / sdb по време на зареждане с помощта на / etc / cryptkey файл с ключ за криптиране
- монтирайте дешифрираното устройство за съхранение / dev / mapper / data към /данни директория
Първо намерете UUID на sdb криптирано устройство за съхранение със следната команда:
$ sudo blkid / dev / sdb
Както можете да видите, UUID на sdb криптирано устройство за съхранение е 1c66b0de-b2a3-4d28-81c5-81950434f972. За вас ще е различно. Така че, не забравяйте да го промените отсега нататък.
За автоматично дешифриране на sdb устройство за съхранение по време на зареждане, трябва да добавите запис за него в / и т.н. / crypttab файл.
Отвори / и т.н. / crypttab файл с нано текстов редактор, както следва:
$ sudo nano / etc / crypttab
Добавете следния ред в края на / и т.н. / crypttab файл, ако използвате твърд диск.
Добавете следния ред в края на / и т.н. / crypttab файл, ако използвате SSD.
данни UUID = 1c66b0de-b2a3-4d28-81c5-81950434f972 / etc / cryptkey luks, noearly, отхвърлянеСлед като приключите, натиснете <Ctrl> + х, следван от Y, и <Въведете> за да запазите / и т.н. / crypttab файл.
Сега намерете UUID на дешифрирания / dev / mapper / data устройство за съхранение със следната команда:
Както можете да видите, UUID на / dev / mapper / data дешифрирано устройство за съхранение е dafd9d61-bdc9-446a-8b0c-aa209bfab98d. За вас ще е различно. Така че, не забравяйте да го промените отсега нататък.
За автоматично монтиране на дешифрираното устройство за съхранение / dev / mapper / data в директорията / data по време на зареждане, трябва да добавите запис за него в / и т.н. / fstab файл.
Отвори / etc / fstab файл с нано текстов редактор, както следва:
$ sudo nano / etc / fstab
Сега добавете следния ред в края на / и т.н. / fstab файл:
След като приключите, натиснете <Ctrl> + х, следван от Y, и <Въведете> за да запазите / и т.н. / fstab файл.
И накрая, рестартирайте компютъра си, за да влязат в сила промените.
Шифрованото устройство за съхранение sdb се дешифрира в a данни устройство за съхранение и данни устройството за съхранение е монтирано в /данни директория.
Както можете да видите, файловата система Btrfs, която е създадена на декриптирана / dev / mapper / data устройството за съхранение е монтирано в /данни директория.
Заключение
В тази статия ви показах как да шифровате устройство за съхранение, използвайки технологията за криптиране LUKS 2 с cryptsetup. Също така ще научите как да дешифрирате кодираното устройство за съхранение и да го форматирате с файловата система Btrfs. Както и как автоматично да дешифрирате криптираното устройство за съхранение и да го монтирате по време на зареждане. Тази статия трябва да ви помогне да започнете с шифроването на файловата система Btrfs.