Dari sudut pandang keamanan, penting untuk mengenkripsi data sensitif Anda untuk melindunginya dari pengintai dan peretas. Linux Unified Key Setup (LUKS) adalah alat yang hebat dan standar umum untuk enkripsi disk Linux. Karena menyimpan semua informasi penyiapan terkait di header partisi, ini memudahkan migrasi data.
Untuk mengonfigurasi disk atau partisi terenkripsi dengan LUKS, Anda harus menggunakan utilitas cryptsetup. Sayangnya, salah satu kelemahan mengenkripsi disk Anda adalah Anda harus memberikan kata sandi secara manual setiap kali sistem di-boot ulang atau disk di-remount.
Lebih banyak sumber daya Linux
- Lembar contekan perintah Linux
- Lembar contekan perintah Linux tingkat lanjut
- Kursus online gratis:Ikhtisar Teknis RHEL
- Lembar contekan jaringan Linux
- Lembar contekan SELinux
- Lembar contekan perintah umum Linux
- Apa itu container Linux?
- Artikel Linux terbaru kami
Namun, Enkripsi Disk Terikat Jaringan (NBDE) dapat secara otomatis dan aman membuka kunci disk terenkripsi tanpa campur tangan pengguna. Ini tersedia di beberapa distribusi Linux, dimulai dengan Red Hat Enterprise Linux 7.4, CentOS 7.4, dan Fedora 24, dan di masing-masing versi yang lebih baru.
NBDE diimplementasikan dengan teknologi berikut:
- Kerangka kerja Clevis: Alat kerangka kerja yang dapat dipasang yang secara otomatis mendekripsi dan membuka kunci volume LUKS
- Server Tang: Layanan untuk mengikat kunci kriptografi ke keberadaan jaringan
Tang memberikan kunci enkripsi ke klien Clevis. Menurut pengembang Tang, ini memberikan alternatif anonim yang aman, tanpa kewarganegaraan, untuk layanan escrow utama.
Karena NBDE menggunakan arsitektur client-server, Anda harus mengkonfigurasi klien dan server. Anda dapat menggunakan mesin virtual di jaringan lokal untuk server Tang Anda.
Instalasi server
Instal Tang menggunakan sudo:
sudo yum install tang -y
Aktifkan server Tang:
sudo systemctl enable tangd.socket --now
Server Tang bekerja pada port 80 dan harus ditambahkan ke firewalld. Tambahkan aturan firewalld yang sesuai:
sudo firewall-cmd --add-port=tcp/80 --perm
sudo firewall-cmd --reload
Server sekarang harus diinstal.
Penginstalan klien
Untuk contoh ini, anggap Anda telah menambahkan disk 1GB baru bernama /dev/vdc
ke sistem Anda.
Buat partisi utama menggunakan fdisk atau parted:
sudo fdisk /dev/vdc
Selesaikan langkah-langkah berikut untuk menginstal klien.
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):
Masukkan n untuk membuat partisi baru:
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Tekan tombol Enter kunci untuk memilih partisi utama:
Using default response p
Partition number (1-4, default 1):
Tekan tombol Enter tombol untuk memilih nomor partisi default:
First sector (2048-2097151, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151):
Tekan tombol Enter kunci untuk memilih sektor terakhir:
Using default value 2097151
Partition 1 of type Linux and of size 1023 MiB is set
Command (m for help): wq
Ketik wq untuk menyimpan perubahan dan keluar dari fdisk:
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
Jalankan partprobe
untuk menginformasikan sistem perubahan tabel partisi:
sudo partprobe
Instal paket cryptsetup menggunakan sudo:
sudo yum install cryptsetup -y
Gunakan cryptsetup luksFormat
perintah untuk mengenkripsi disk. Anda harus mengetik YA saat diminta dan juga pilih dan masukkan frasa sandi untuk mengenkripsi disk:
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:
Gunakan cryptsetup luksOpen
perintah untuk memetakan partisi terenkripsi ke perangkat logis. Misalnya, gunakan encryptedvdc1
sebagai nama. Anda juga harus memasukkan kata sandi lagi:
sudo cryptsetup luksOpen /dev/vdc1 encryptedvdc1
Enter passphrase for /dev/vdc1:
Partisi terenkripsi sekarang tersedia di /dev/mapper/encryptedvdc1
.
Buat sistem file XFS pada partisi terenkripsi:
sudo mkfs.xfs /dev/mapper/encryptedvdc1
Buat direktori untuk memasang partisi terenkripsi:
sudo mkdir /encrypted
Gunakan cryptsetup luksClose
perintah untuk mengunci partisi:
cryptsetup luksClose encryptedvdc1
Instal paket Clevis menggunakan sudo:
sudo yum install clevis clevis-luks clevis-dracut -y
Ubah /etc/crypttab untuk membuka volume terenkripsi saat boot:
sudo vim /etc/crypttab
Tambahkan baris berikut:
encryptedvdc1 /dev/vdc1 none _netdev
Ubah /etc/fstab untuk secara otomatis memasang volume terenkripsi selama reboot atau saat boot:
sudo vim /etc/fstab
Tambahkan baris berikut:
/dev/mapper/encryptedvdc1 /encrypted xfs _netdev 1 2
Untuk contoh ini, anggap alamat IP server Tang adalah 192.168.1.20
. Anda juga dapat menggunakan nama host atau domain jika Anda mau.
Jalankan clevis
berikut ini perintah:
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:
Ketik Y untuk menerima kunci untuk server Tang dan memberikan kata sandi LUKS yang ada untuk pengaturan awal.
Aktifkan clevis-luks-askpass.path melalui systemctl agar tidak dimintai frasa sandi untuk partisi non-root.
sudo systemctl enable clevis-luks-askpass.path
Klien diinstal. Sekarang, setiap kali Anda me-reboot server, disk terenkripsi akan secara otomatis didekripsi dan dipasang dengan mengambil kunci dari server Tang.
Jika server Tang tidak tersedia karena alasan apa pun, Anda harus memberikan frasa sandi secara manual untuk mendekripsi dan memasang partisi.