Cara menggunakan file sebagai kunci perangkat luks

Cara menggunakan file sebagai kunci perangkat luks

Luks adalah akronim dari pengaturan kunci Linux Unified: Ini adalah implementasi enkripsi yang paling banyak digunakan yang digunakan pada sistem Linux dan dapat dikonfigurasi sebagai alternatif untuk pengaturan polos DM-Crypt. Dibandingkan dengan yang terakhir ini menyediakan beberapa fitur tambahan seperti Hashing dan Salting Kata Sandi dan kemampuan untuk menyimpan beberapa kata sandi di header Luks yang disebut. Dalam tutorial ini saya akan menganggap pembaca memiliki keakraban tertentu dengan Luks; Jika Anda ingin tahu lebih banyak tentang subjek ini, Anda dapat memeriksa panduan dasar kami tentang mengenkripsi partisi Linux dengan luks. Cara paling umum untuk melindungi perangkat Luks adalah dengan menggunakan frasa sandi, namun juga dimungkinkan untuk menggunakan file sebagai kunci; Dalam tutorial ini kita akan melihat bagaimana melakukan ini. Ayo pergi!

Dalam tutorial ini Anda akan belajar:

  • Cara membuat file dengan data acak untuk digunakan sebagai kunci perangkat luks
  • Cara menambahkan tombol ke perangkat Luks
  • Cara secara otomatis mendekripsi perangkat Luks saat boot menggunakan file sebagai kunci
Cara menggunakan file sebagai kunci perangkat luks

Persyaratan dan konvensi perangkat lunak yang digunakan

Persyaratan Perangkat Lunak dan Konvensi Baris Perintah Linux
Kategori Persyaratan, konvensi atau versi perangkat lunak yang digunakan
Sistem Distribusi linux apa pun
Perangkat lunak cryptsetup
Lainnya Izin Root untuk Mengakses Perangkat Blok Terenkripsi
Konvensi # - mensyaratkan Linux -Commands untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo memerintah
$-mensyaratkan Linux-Commands untuk dieksekusi sebagai pengguna reguler yang tidak istimewa

Membuat wadah Luks



Demi tutorial ini, kami akan membuat wadah Luks pada file yang diisi dengan nol yang akan kami hasilkan menggunakan DD. Untuk membuat file yang dapat kita jalankan:

$ sudo dd if =/dev/nol dari =/luks-container.IMG BS = Hitungan 1M = 300 

Dalam contoh di atas kami menggunakan /dev/nol file sebagai DD Sumber input perintah (/dev/nol adalah file "khusus": Setiap kali kita membacanya, mengembalikan 0s) dan /LUKS-Container.img sebagai tujuan dan argumen DD dari operan. Kami menginstruksikan DD untuk membaca dan menulis 300 blok ukuran 1mib menggunakan masing -masing BS Dan menghitung operan. Untuk menggunakan file tersebut sebagai wadah LUKS, kita harus menyiapkannya menggunakan cryptsetup; kita bisa menjalankan:

$ sudo cryptsetup luksformat-type = luks1 --hash = sha512 --key-size = 512 --cipher = aes-xts-plain64 /luks-container.img 

Itu Luksformat Sub-Komandan Cryptsetup digunakan untuk menginisialisasi wadah LUKS dan mengatur frasa sandi awal. Setelah kami menjalankan perintah di atas, akan diperingatkan bahwa operasi itu merusak, karena akan menimpa semua data yang ada. Kami akan diminta untuk mengkonfirmasi bahwa kami ingin melakukan operasi; kami menulis YA (Capital Letters) dan tekan ENTER untuk mengonfirmasi:

PERINGATAN! ======== Ini akan menimpa data pada /luks-container.img tidak dapat dibatalkan. Apa kamu yakin? (Ketik 'ya' dalam huruf kapital): ya 

Pada titik ini kami akan diminta untuk menyediakan dan mengkonfirmasi frasa sandi yang akan digunakan sebagai yang pertama dari delapan kunci perangkat yang mungkin:

Masukkan frasa sandi untuk /luks-container.IMG: Verifikasi frasa sandi: 


Wadah Luks kami sekarang siap. Kita bisa menggunakan Luksdump Sub -perintah cryptsetup membuang header informasi:

$ sudo cryptsetup luksdump /luks-container.Informasi header IMG Luks untuk /Luks-Container.Versi IMG: 1 Cipher Nama: AES Cipher Mode: xts-plain64 hash spec: sha512 payload offset: 4096 mk bit: 512 mk pencernaan: 91 da 2e 2e 7f ea a1 f7 81 55 cc b7 27 fd b1 ab f4 65 f1 mk Garam: F1 03 65 E2 F1 D7 4E 77 99 48 E8 57 75 65 DD 73 A3 EB A4 24 Be 36 9E 84 F7 84 C5 D3 94 2E D8 52 MK Iterasi: 79054 UUID: EA23C2442-2DC5-402E-B23E32.e32 DE29 DE29D: EA23C2444-2DC5-402E-B23E: EA23C244-2DC5-402E-B23 Slot 0: Iterasi yang Diaktifkan: 1108430 Garam: 69 99 95 88 6E 2F E8 B9 D8 9C 91 36 B6 A2 55 C1 35 27 C7 DA 5d 9a 9e F9 8c EC 70 68 DB 41 53 4B Bahan Kunci Offset: 8 AF Stripes: 4000 Slot Kunci 1: Slot Kunci Dinonaktifkan 2: Slot Kunci Dinonaktifkan 3: Slot Kunci Dinonaktifkan 4: Slot Kunci Dinonaktifkan 5: Slot Kunci Dinonaktif 

Dalam output di atas kita dapat melihat berbagai informasi dilaporkan: Nama sandi Dan Mode sandi digunakan untuk perangkat, misalnya. Yang benar -benar menarik minat kita dalam kasus ini, bagaimanapun, Slot kunci bagian. Seperti yang Anda lihat, dalam hal ini hanya tombol pertama yang digunakan: ia menyimpan frasa sandi yang kami berikan saat kami memformat perangkat. Dalam hal ini, ada total 8 slot; 7 tersedia untuk menyimpan kunci tambahan. Kami akan menggunakan salah satunya untuk menyimpan file yang akan kami gunakan untuk membuka kunci perangkat LUKS.

Membuat file data-acak untuk digunakan sebagai kunci

File apa pun yang ada dapat digunakan sebagai kunci perangkat LUKS, namun dapat lebih aman untuk membuat file khusus untuk tujuan tersebut, di luar data acak. Untuk membuat file, sekali lagi, kami akan menggunakan yang terhormat DD Perintah, kali ini menggunakan /dev/urandom Sebagai sumber data:

$ sudo dd if =/dev/urandom dari =/container-key bs = 512 count = 8 8+0 catatan dalam 8+0 mencatat keluar 4096 byte (4.1 kb, 4.0 kib) disalin, 0.000631541 s, 6.5 MB/s 


Itu /dev/urandom File berfungsi serupa dengan /dev/nol tetapi mengembalikan data acak setiap kali dibaca. Kali ini kami membaca 8 blok 512 byte, membuat file "diisi" dengan 4096 byte data acak.

Menambahkan file kunci ke perangkat Luks

Setelah file dibuat, kami dapat menambahkannya ke header LUKS, dan menggunakannya sebagai kunci. Itu cryptsetup Sub-perintah yang memungkinkan kami melakukan tugas ini LUKSADDKEY.

Argumen pertama yang dibutuhkan adalah perangkat Luks yang harus digunakan kunci; yang kedua, opsional, adalah jalur a file kunci untuk digunakan sebagai kunci. Jika dihilangkan, pengguna diminta untuk menyediakan frasa sandi. Di antara opsi yang diterima oleh perintah, ada --slot kunci: Dengan itu, kita dapat menentukan slot kunci apa yang harus digunakan untuk menyimpan kunci. Dalam hal ini kami akan menghilangkan opsi, sehingga slot pertama yang tersedia akan digunakan (dalam hal ini slot nomor 1).

Untuk menambahkan file sebagai kunci LUKS, kami menjalankan:

$ sudo cryptsetup luksaddkey /luks-container.IMG /KANKIN KANTI 

Kami akan diminta untuk menyediakan satu frasa sandi yang sudah ada untuk wadah; Setelah kami melakukannya, kunci baru akan ditambahkan. Setelah perintah di atas berhasil dieksekusi, jika kita berjalan Luksdump Sekali lagi, kita dapat mengamati slot baru sekarang digunakan:

[…] Slot Kunci 0: Iterasi yang Diaktifkan: 1108430 Garam: 69 99 95 88 6E 2F E8 B9 D8 9C 91 36 B6 A2 55 C1 35 27 C7 DA 5D 9A 9E F9 8C EC 70 68 DB 41 53 4B Kunci Bahan Kunci: 8 Garis -garis AF: 4000 Slot Kunci 1: Iterasi yang Diaktifkan: 921420 Garam: 62 54 F1 61 C4 D3 8d 87 A6 45 3e F4 E8 66 B3 95 E0 5d 5d 78 18 6a E3 F0 AE 43 6d E2 24 14 SM 97 Kunci Bahan Kunci Offset: 512 AF Stripes: 4000 Slot Kunci 2: Slot Kunci Dinonaktifkan 3: Slot Kunci Dinonaktifkan 4: Slot Kunci Dinonaktifkan 5: Slot Kunci Dinonaktifkan 6: Slot Kunci Dinonaktifkan 7: Dinonaktifkan [...] 

Membuka Wadah Luks

Untuk memverifikasi bahwa kunci itu berfungsi, kita sekarang dapat mencoba membuka wadah LUKS menggunakannya. Untuk tujuan ini kami menggunakan Luksopen Sub-Komando Cryptsetup: Dibutuhkan dua argumen wajib:

  1. Perangkat Luks
  2. Nama yang akan digunakan untuk memetakan perangkat setelah dibuka.

Bagaimana kami dapat menentukan bahwa kami ingin menggunakan file untuk membuka perangkat? Mudah! Kami menggunakan
--file kunci opsi dan lewati jalur ke file kunci sebagai argumennya. Di kami
case, untuk membuka perangkat, perintah lengkap yang akan dijalankan adalah:

$ sudo cryptsetup luksopen /luks-container.IMG LUKS-Container-Crypt --Key-File =/Container-Key 


Jika semuanya berjalan seperti yang diharapkan, kita harus menemukan entri untuk wadah yang dibuka di bawah /dev/mapper direktori, dalam hal ini: /dev/mapper/luks-container-crypt.

Ngomong -ngomong, kita sekarang dapat memperlakukan wadah seperti yang akan kita lakukan dengan perangkat blok apa pun: mungkin kita dapat membuat sistem file di atasnya dan memasangnya:

sudo mkfs.ext4/dev/mapper/luks-container-crypt && sudo mount/dev/mapper/luks-container-crypt/media 

Buka wadah Luks secara otomatis saat boot

Setelah kami belajar cara menggunakan file sebagai kunci kontainer LUKS, kami dapat membuatnya sehingga perangkat Luks secara otomatis dibuka saat boot, tanpa interaksi pengguna. Dengan sendirinya bahwa ini adalah pengaturan yang menimbulkan risiko keamanan, jadi harus digunakan dengan sangat hati -hati! Setidaknya di tempat yang tidak aman, file yang digunakan untuk membuka kunci perangkat harus diakses hanya oleh pengguna root, dan harus disimpan dengan sendirinya pada sistem file yang dienkripsi, jika tidak enkripsi menjadi tidak berguna (adalah setara dengan menggunakan kunci lemak besar untuk melindungi a pintu tetapi meninggalkan kunci di mana itu dapat dicapai oleh siapa saja).

Untuk membuatnya sehingga wadah Luks secara otomatis dibuka kuncinya saat boot, kita harus menentukan informasi yang diperlukan di dalam /etc/crypttab mengajukan. File ini digunakan untuk menggambarkan perangkat blok terenkripsi yang diatur selama boot sistem. Sintaks yang akan digunakan dalam file cukup mudah dimengerti; Di setiap baris yang kami tambahkan, kami perlu menentukan, secara berurutan:

  1. Nama yang akan digunakan untuk pemetaan perangkat (dalam contoh sebelumnya yang kami gunakan Luks-Container-Crypt)
  2. Perangkat Hosting Wadah Luks yang harus dibuka
  3. Kata sandi perangkat (opsional)
  4. Opsi untuk digunakan (opsional)

Dalam hal ini kami akan memasuki baris ini:

LUKS-Container-Crypt /Luks-Container.IMG /Container-Key Luks 

Pada boot berikutnya, perangkat akan dibuka secara otomatis!

Kesimpulan

Dalam tutorial ini kami belajar bagaimana kami dapat menggunakan file sebagai kunci untuk membuka kunci wadah Luks. Meskipun file apa pun dapat digunakan untuk tujuan tersebut, kami melihat cara menggunakan DD untuk membuat file data-acak, dan kami melihat cara menambahkannya ke salah satu dari 8 slot header LUKS yang tersedia menggunakan LUKSADDKEY memerintah. Akhirnya, kami melihat bagaimana mungkin untuk secara otomatis membuka kunci wadah Luks saat boot dengan menggunakan keyfile, memberikan informasi yang diperlukan di dalam /etc/crypttab file, dan kami melihat mengapa ini dapat mewakili risiko keamanan yang mungkin.

Tutorial Linux Terkait:

  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Cara hash kata sandi di linux
  • Pengantar Otomatisasi Linux, Alat dan Teknik
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
  • Pembaca PDF Terbaik untuk Linux
  • Cara menggunakan luks dengan header terpisah
  • Can Linux mendapatkan virus? Menjelajahi kerentanan Linux…
  • Enkripsi disk penuh dengan Veracrypt di Ubuntu Linux
  • Unduh Linux
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 22.04 Jammy Jellyfish…