Z hlediska zabezpečení je důležité zašifrovat vaše citlivá data, abyste je ochránili před zvědavýma očima a hackery. Linux Unified Key Setup (LUKS) je skvělý nástroj a běžný standard pro linuxové šifrování disků. Protože ukládá všechny příslušné informace o nastavení v hlavičce oddílu, usnadňuje migraci dat.
Chcete-li nakonfigurovat šifrované disky nebo oddíly pomocí LUKS, budete muset použít nástroj cryptsetup. Bohužel jednou z nevýhod šifrování vašich disků je, že musíte ručně zadat heslo pokaždé, když je systém restartován nebo je disk znovu připojen.
Další zdroje pro Linux
- Cheat pro příkazy Linuxu
- Cheat sheet pro pokročilé příkazy systému Linux
- Bezplatný online kurz:Technický přehled RHEL
- Síťový cheat pro Linux
- Cheat sheet SELinux
- Cheat pro běžné příkazy pro Linux
- Co jsou kontejnery systému Linux?
- Naše nejnovější články o Linuxu
Network-Bound Disk Encryption (NBDE) však dokáže automaticky a bezpečně odemknout šifrované disky bez jakéhokoli zásahu uživatele. Je k dispozici v několika distribucích Linuxu, počínaje Red Hat Enterprise Linux 7.4, CentOS 7.4 a Fedora 24 a v pozdějších verzích každé z nich.
NBDE je implementováno pomocí následujících technologií:
- Rámec Clevis: Připojitelný rámcový nástroj, který automaticky dešifruje a odemyká svazky LUKS
- Server Tang: Služba pro vazbu kryptografických klíčů na přítomnost v síti
Tang poskytuje šifrovací klíče klientovi Clevis. Podle vývojářů Tang to poskytuje bezpečnou, bez státní příslušnost, anonymní alternativu ke službám úschovy u třetí osoby.
Protože NBDE používá architekturu klient-server, musíte nakonfigurovat klienta i server. Pro váš Tang server můžete použít virtuální počítač ve vaší místní síti.
Instalace serveru
Nainstalujte Tang pomocí sudo:
sudo yum install tang -y
Povolit server Tang:
sudo systemctl enable tangd.socket --now
Server Tang pracuje na portu 80 a musí být přidán do firewallu. Přidejte příslušné pravidlo brány firewall:
sudo firewall-cmd --add-port=tcp/80 --perm
sudo firewall-cmd --reload
Server by měl být nyní nainstalován.
Klientská instalace
V tomto příkladu předpokládejme, že jste přidali nový 1GB disk s názvem /dev/vdc
do vašeho systému.
Vytvořte primární oddíl pomocí fdisk nebo parted:
sudo fdisk /dev/vdc
Chcete-li klienta nainstalovat, proveďte následující kroky.
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x4a6812d4.
Command (m for help):
Zadejte n pro vytvoření nového oddílu:
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Stiskněte Enter pro výběr primárního oddílu:
Using default response p
Partition number (1-4, default 1):
Stiskněte Enter vyberte výchozí číslo oddílu:
First sector (2048-2097151, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151):
Stiskněte Enter pro výběr posledního sektoru:
Using default value 2097151
Partition 1 of type Linux and of size 1023 MiB is set
Command (m for help): wq
Zadejte wq pro uložení změn a ukončení fdisk:
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
Spusťte partprobe
k informování systému o změnách tabulky oddílů:
sudo partprobe
Nainstalujte balíček cryptsetup pomocí sudo:
sudo yum install cryptsetup -y
Použijte cryptsetup luksFormat
příkaz k zašifrování disku. Budete muset zadat ANO po zobrazení výzvy a také vyberte a zadejte přístupové heslo pro šifrování disku:
sudo cryptsetup luksFormat /dev/vdc1
WARNING!
========
This will overwrite data on /dev/vdc1 irrevocably.
Are you sure? (Type uppercase yes):
Enter passphrase for /dev/vdc1:
Verify passphrase:
Použijte cryptsetup luksOpen
příkaz k mapování šifrovaného oddílu na logické zařízení. Použijte například encryptedvdc1
jako jméno. Také budete muset znovu zadat přístupové heslo:
sudo cryptsetup luksOpen /dev/vdc1 encryptedvdc1
Enter passphrase for /dev/vdc1:
Šifrovaný oddíl je nyní k dispozici na adrese /dev/mapper/encryptedvdc1
.
Vytvořte souborový systém XFS na šifrovaném oddílu:
sudo mkfs.xfs /dev/mapper/encryptedvdc1
Vytvořte adresář pro připojení šifrovaného oddílu:
sudo mkdir /encrypted
Použijte cryptsetup luksClose
příkaz k uzamčení oddílu:
cryptsetup luksClose encryptedvdc1
Nainstalujte balíčky Clevis pomocí sudo:
sudo yum install clevis clevis-luks clevis-dracut -y
Upravte /etc/crypttab tak, aby se při spouštění otevřel šifrovaný svazek:
sudo vim /etc/crypttab
Přidejte následující řádek:
encryptedvdc1 /dev/vdc1 none _netdev
Upravte /etc/fstab tak, aby automaticky připojil šifrovaný svazek během restartu nebo při bootování:
sudo vim /etc/fstab
Přidejte následující řádek:
/dev/mapper/encryptedvdc1 /encrypted xfs _netdev 1 2
V tomto příkladu předpokládejme, že IP adresa serveru Tang je 192.168.1.20
. Pokud chcete, můžete také použít název hostitele nebo doménu.
Spusťte následující clevis
příkaz:
sudo clevis bind luks -d /dev/vdc1 tang '{"url":"http://192.168.1.20"}'
The advertisement contains the following signing keys:
rwA2BAITfYLuyNiIeYUMBzkhk7M
Do you wish to trust these keys? [ynYN] Y
Enter existing LUKS password:
Zadejte Y přijmout klíče pro Tang server a poskytnout stávající heslo LUKS pro počáteční nastavení.
Povolte clevis-luks-askpass.path přes systemctl, abyste zabránili zobrazení výzvy k zadání přístupové fráze pro oddíly bez oprávnění root.
sudo systemctl enable clevis-luks-askpass.path
Klient je nainstalován. Nyní, kdykoli restartujete server, šifrovaný disk by měl být automaticky dešifrován a připojen získáním klíčů ze serveru Tang.
Pokud je server Tang z jakéhokoli důvodu nedostupný, budete muset zadat heslo ručně, abyste mohli dešifrovat a připojit oddíl.