Menyulitkan cakera keras anda dalam Linux. Menyulitkan sekatan Menyulitkan data dalam Debian

Bukan rahsia lagi bahawa hari ini, penyulitan data mungkin satu-satunya cara untuk menyelamatkannya. Hari ini kita akan belajar cara membuat partition yang disulitkan dalam Linux menggunakan piawaian luks (Linux Unified Key Setup). Saya akan memberikan tangkapan skrin daripada sistem pengendalian CentOS Linux sebagai contoh.

Jadi, pertama sekali, mari kita sediakan bahagian yang akan kita enkripsikan. Saya mencipta cakera baharu dalam mesin maya saya, menyambungkannya ke antara muka SATA, dan peranti /dev/sdb muncul dalam sistem

Mari buat bahagian utama padanya:

# fdisk /dev/sdb

Kami mencipta 1 partition (sdb1), memperuntukkan semua ruang kosong kepadanya.

Bagus, sekarang mari format partition /dev/sdb1 menggunakan perlindungan kriptografi menggunakan frasa laluan. Kami akan diminta memasukkan kata laluan. Mari kita ulanginya dua kali agar tidak tersilap langkah.

# cryptsetup --verbose --verify-passphrase luksFormat /dev/sdb1

Algoritma lalai ialah AES 256bit. Jika perlu, anda boleh memilih algoritma yang berbeza dengan menentukan panjang kunci kekunci -c algoritma -s

# cryptsetup -c aes -s 1024 --verbose --verify-passphrase luksFormat /dev/sdb1

Kemudian kami mengaktifkan bekas kripto di bawah nama selamat:

# cryptsetup luksBuka /dev/sdb1 selamat


Akibatnya, kami mencipta peranti blok baharu dalam direktori /dev/mapper/ dengan nama selamat.

Buat sistem fail:

# mkfs.ext3 /dev/mapper/safe


Bagaimana jika kita mahu partition kita diaktifkan setiap kali sistem bermula (sudah tentu, meminta frasa laluan)?

Mari edit fail /etc/crypttab, yang serupa dengan /etc/fstab

# vim /etc/crypttab

Mari tambah baris di sana:

selamat /dev/sdb1 tiada

Dan dalam fail /etc/fstab yang berikut:

/dev/mapper/safe /safe ext3 lalai 0 0

Ya, keadaan. Kami telah mencipta bahagian crypto. Kami tahu kuncinya. Adakah mungkin untuk menjadikan bahagian itu boleh diakses bukan sahaja dengan kunci kami, tetapi juga oleh satu lagi? Iaitu, kami ingin memberi akses kepada "Vasya" supaya dia boleh bekerja secara sama rata dengan kami. Dengan mudah.

Mari tambah satu lagi kunci pada bekas kripto.

Secara keseluruhan, anda boleh mencipta sehingga 8 kekunci, setiap satunya muat dalam slotnya sendiri.


Anda boleh menunjukkan slot yang diduduki seperti ini:

# cryptsetup luksDump /dev/sdb1


Seperti yang anda lihat, slot 0 dan 1 telah diduduki. Fail utama juga boleh digunakan sebagai ganti kata laluan.

Anda boleh menunjukkan status bekas kripto seperti ini:

# cryptsetup status selamat

Contoh praktikal.

Tujuan: Lindungi peranti USB anda daripada mengintip.

Mari sambungkan pemacu denyar ke sistem kami:


Pemacu kilat dikenal pasti sebagai peranti sdc. Ini bermakna peranti /dev/sdc telah muncul. Sekiranya pemacu kilat mempunyai partition lemak atau ntfs, maka lebih baik untuk membuang maklumat itu ke suatu tempat, kerana selepas menyulitkan peranti semuanya akan hilang.

Jadi, kita boleh membahagikan pemacu kilat menggunakan fdisk, kita boleh membiarkannya seperti sedia ada.

# cryptsetup luksFormat /dev/sdc

Masukkan frasa laluan.


Sekarang mari sambungkan peranti kami yang disulitkan untuk menandakannya untuk sistem fail baharu:

# cryptsetup luksOpen /dev/sdc flash

Sekarang kita akan diminta untuk frasa laluan, selepas memasukkan peranti baru /dev/mapper/ akan muncul dalam sistem<имя>, dalam kes kami kilat.

Mari buat sistem fail pada peranti ini:

# mkfs.ext3 /dev/mapper/flash

sedia. Nah, sudah tiba masanya untuk mencipta kunci yang akan digunakan untuk mengakses peranti. Anda boleh menyediakan beberapa kunci (sehingga 8 slot kesemuanya, walaupun slot ke-0 sudah diduduki oleh frasa laluan, tetapi ia boleh dipadamkan).

# dd if=/dev/urandom of=~/keyfile.key bs=1 count=256

Oleh itu, kami akan mencipta fail 256 bait yang diisi dengan nombor rawak. Anda boleh menyemak ini seperti ini:

# xxd ~/keyfile.key


sungguh. secara rawak sepenuhnya. Sekarang yang tinggal hanyalah menambah kunci ini pada pemacu kilat kami.

Mari lumpuhkan bekas kripto buat masa ini.

# cryptsetup luks Tutup denyar

Tambah kunci:

# cryptsetup luksAddKey /dev/sdc ~/keyfile.key


Kami akan digesa untuk memasukkan frasa laluan untuk memastikan kami mempunyai akses kepada storan ini.

# cryptsetup luksDump /dev/sdc

Hebat! Sekarang mari kita simpan kunci di tempat yang selamat. Kita akan memerlukannya untuk mengakses bekas.

Contoh 1.

Pengguna "A" ingin memuat naik fail ke pemacu kilat, mengetahui frasa laluan:


Kami membuka kuncinya menggunakan kata laluan, mencipta peranti mydisk, kemudian memasang mydisk dalam direktori rumah. Mencipta fail teks hello.txt dengan kandungan. Bekas telah dilumpuhkan.

Contoh 2.


Kami membuka kuncinya menggunakan fail utama dan mencipta peranti flashka. Kami memasangnya dalam direktori rumah pengguna sargey, baca fail - semuanya ok!

: - Rusia

Pembangunan aktif halaman selesai

Jika anda mempunyai sesuatu untuk ditambah, kemudian tambah bahagian dengan maklumat baharu. Silap dan kesilapan kami dalam artikel boleh disunting dengan mudah, tidak perlu melaporkannya melalui e-mel, sila hormati gaya halaman ini dan gunakan pembahagi bahagian (garisan kelabu dengan ketebalan yang berbeza-beza).

Penyulitan data dalam Debian

Ramai orang berfikir bahawa tidak perlu menyulitkan data mereka. Walau bagaimanapun, dalam kehidupan seharian kita sering menghadapi situasi seperti "pemacu kilat hilang" atau "komputer riba sedang dibaiki", dsb. Jika data anda disulitkan, maka anda tidak perlu risau sama sekali: tiada siapa yang akan menerbitkannya di Internet atau menggunakannya dengan cara lain.

Penyulitan menggunakan cryptsetup

Mari pasang komponen yang diperlukan:

# apt-get install cryptsetup

Sintaks standard

/dev/sda2. Mari masukkan arahan:

# cryptsetup buat sda2_crypt /dev/sda2

Perintah ini akan mencipta sambungan yang disulitkan ke cakera kami. Dalam katalog /dev/mapper Peranti baharu akan muncul dengan nama yang kami minta: /dev/mapper/sda2_crypt, mengakses yang kami gunakan akses cakera yang disulitkan. Dalam kes LUKS, namanya akan menjadi /dev/mapper/sda2_crypt

Jika sudah ada sistem fail pada cakera dan kami ingin menyimpan data padanya, maka kami perlu menyulitkannya untuk kegunaan seterusnya:

# dd if=/dev/sda2 of=/dev/mapper/sda2_crypt

Jika anda mencipta cakera baharu pada partition kosong, anda boleh memformatnya:

# mkfs.ext3 /dev/mapper/sda2_crypt

Kemudian anda boleh melekapkan cakera ini di mana-mana sahaja:

# mount /dev/mapper/sda2_crypt /path/to/mount/point

Semak integriti data (seperti biasa, lebih baik digunakan hanya dalam keadaan tidak dipasang):

# fsck.ext3 /dev/mapper/sda2_crypt

Dan juga menyahsulit kembali jika kita tidak lagi mahu menggunakan penyulitan:

# dd if=/dev/mapper/sda2_crypt of=/dev/sda2

sintaks LUKS

Langkah-langkah di atas boleh dilakukan mengikut piawaian LUKS

Mulakan bahagian:

cryptsetup luksFormat /dev/sda2

Kami menyambung ke sistem:

cryptsetup luksOpen /dev/sda2 sda2_crypt

Format:

mkfs.ext4 -v -L DATA /dev/mapper/sda2_crypt

Kami memasang:

mount /dev/mapper/sda2_crypt /mnt/data

Partition boleh dilumpuhkan secara manual pada sistem

cryptsetup luksClose sda2_crypt

Sambungan semasa permulaan

Fail yang digunakan untuk tujuan ini ialah crypttab.

Untuk cakera kami, kami akan menulis baris berikut ke dalamnya:

nano /etc/crypttab # parameter utama peranti pemeta nama/pilihan # Dengan sintaks standard sda2_crypt /dev/sda2 none aes-cbc-plain:sha256 # dan\atau di bawah LUKS standard sda2_crypt /dev/sda2 none luks

Secara lalai, penyulitan digunakan menggunakan kata laluan yang dimasukkan oleh pengguna. Oleh itu, setiap kali anda but komputer anda, sistem akan meminta anda setiap kali kata laluan untuk menyambung setiap partition yang disulitkan. Walaupun bahagian ini tidak didaftarkan dalam fstab.

Jika kami ingin melekapkan secara manual, maka kami menambah pilihan noauto dalam medan "parameter/pilihan".

Menyambungkan partition yang disulitkan secara manual menggunakan data daripada /etc/crypttab

cryptdisks_start msda2_crypt

Dan memutuskan sambungan daripada fs yang telah dipasang sebelumnya.

cryptdisks_stop sda2_crypt

Untuk melekapkan fs secara automatik pada partition yang disulitkan yang disambungkan, tambahkan baris ke /etc/fstab

/dev/mapper/sda2_crypt /mnt/data ext4 lalai 0 0

Bekerja dengan kunci dalam LUKS

Partition LUKS menyokong 8 kekunci berbeza, setiap satunya muat dalam slotnya sendiri.

Kami melihat senarai kunci yang digunakan

cryptsetup luksDump /dev/sda2

LUKS boleh menggunakan 2 jenis kekunci – frasa laluan dan fail.

Anda boleh menambah kata kunci

cryptsetup luksAddKey /dev/sda2

Anda boleh menambah fail utama (2048 bit) dan menetapkan hak akses kepadanya.

dd if=/dev/urandom of=/root/ext2.key bs=512 count=4 cryptsetup luksAddKey /dev/sda2 /root/ext2.key chmod 400 /root/sda2.key cryptsetup -d /root/sda2.key luksOpen /dev/sda2 sda2_crypt

Untuk menyambung apabila mula menggunakan kunci, edit /etc/crypttab

nano /etc/crypttab sda2_crypt /dev/sda2 /root/sda2.key luks

Anda boleh mengalih keluar frasa laluan atau kunci daripada bahagian

cryptsetup luksKillSlot /dev/sda2 1

Pemasangan kecemasan dalam pengedaran "asing".

Tiada siapa yang kebal daripada masalah, dan kadangkala anda perlu mendapatkan akses kepada partition yang disulitkan daripada cakera LiveCD kecemasan.

Kami boot, sambungkan partition ke sistem dan pasang fs:

cryptsetup luksOpen /dev/sda2 sda2_crypt mount -t ext4 /dev/mapper/sda2_crypt /mnt/backup

Selepas bekerja, nyahlekap fs dan putuskan sambungan partition yang disulitkan daripada sistem

umount /mnt/backup cryptsetup luksClose sda2_crypt

Mesej ralat semasa menutup

Jika partition root disulitkan, mesej akan dipaparkan apabila ditutup

menghentikan cakera kripto awal... gagal

Ini adalah kesilapan teknikal. Apabila dimatikan, sistem fail sentiasa dinyahlekap dahulu dan selepas itu partition diputuskan. Akibatnya, ternyata utiliti cryptsetup yang terletak pada partition root unmounted tidak lagi tersedia untuk dijalankan, yang INIT memberitahu kami. Masalah ini tidak boleh diselesaikan tanpa tongkat, kerana... Untuk melakukan ini, anda perlu mempertimbangkan pilihan untuk memindahkan cryptsetup ke cakera RAM

Situasi yang sama berlaku apabila menggunakan perisian RAID yang mengandungi partition root. 8)

Penyulitan menggunakan modul gelung-aes

Menyulitkan partition cakera keras atau pemacu kilat menggunakan kata laluan

Di dalam ini bagaimana untuk kaedah penyulitan diterangkan AES256, kaedah lain boleh digunakan sama (menggantikan nama kaedah dengan yang sesuai). Kami memerlukan pakej berikut:

# apt-get install loop-aes-utils loop-aes-modules-`uname -r`

Catatan: jika anda menggunakan kernel yang mana repositori tidak mempunyai loop-aes-modules yang diperlukan, anda boleh memasang modul dengan arahan berikut:

# apt-get install modul-assistant loop-aes-source # module-assistant a-i loop-aes

Peringkat pertama

Pada peringkat awal, kami menyediakan cakera untuk berfungsi dengannya menggunakan penyulitan.

Mari pilih partition cakera (atau pemacu denyar) yang ingin kita enkripsi, sebagai contoh ia akan menjadi /dev/sda2. Mari masukkan arahan:

# losetup -e AES256 -T /dev/loop0 /dev/sda2

Selepas melaksanakan arahan ini, semua panggilan ke peranti /dev/loop0 akan disulitkan dan disulitkan semula ke peranti /dev/sda2. Kini kami mempunyai kedua-dua saluran yang disulitkan dan tidak disulitkan ke peranti storan data. Data disulitkan menggunakan kata laluan yang anda tentukan semasa melakukan losetup.

Sekarang kita boleh, sebagai contoh, memformat peranti:

# mkfs.ext3 /dev/loop0

Kami boleh memasangnya:

# mount /dev/loop0 /path/to/mount

Kami boleh melumpuhkan penyulitan:

# losetup -d /dev/loop0

dan yang paling penting, kita boleh menyulitkan partition tiada kehilangan data:

# dd if=/dev/sda2 of=/dev/loop0

dan juga menyahsulit jika kami memutuskan bahawa penyulitan bukan kaedah kami:

# dd if=/dev/loop0 of=/dev/sda2

Nah, bahagian yang terbaik ialah kita boleh menyemak sistem fail untuk integriti:

# fsck.ext3 /dev/loop0

Ciri ini tidak tersedia dalam semua kaedah penyulitan partition.

Penggunaan harian

Jika anda sudah mempunyai entri tentang bahagian tersebut /dev/sda2 dalam awak /etc/fstab, maka anda hanya perlu menambah pilihan, dan jika tidak, tulis sesuatu seperti berikut:

/dev/sda2 /path/to/mount ext3 loop,encryption=AES256 0 0

Sekarang, apabila memuatkan sistem pengendalian, anda akan diminta untuk kata laluan untuk dipasang.

Jika anda tidak mahu proses muat turun diganggu oleh permintaan kata laluan, anda boleh menambah pilihan noauto,pengguna dalam rekod /etc/fstab:

/dev/sda2 /path/to/mount ext3 loop,encryption=AES256,noauto,user 0 0

Sudah tentu, anda boleh melekapkannya secara manual (atau daripada skrip):

# mount /dev/sda2 /path/to/mount -o loop,encryption=AES256

Memasang berbilang sistem fail

Kadang-kadang anda ingin menyulitkan beberapa bahagian dengan data pada masa yang sama, tetapi supaya tidak memasuki lautan kata laluan untuk setiap lekapkan. Contohnya, anda mempunyai pemacu kilat yang anda bawa dari rumah ke tempat kerja, pemacu keras mudah alih, dsb. Atau hanya beberapa partition/pemacu keras.

Katakan kita mempunyai partition yang disulitkan /dev/sda2, yang kami lekapkan ke dalam direktori setiap kali kami but /mnt1. Pemacu keras baru telah muncul /dev/sdb1 dan kami mahu ia dipasang secara automatik ke dalam direktori mnt2 apabila memasang yang pertama. Anda sudah tentu boleh membuat sistem umum berdasarkan sesuatu seperti LVM, bagaimanapun, anda boleh mengambil laluan yang lebih mudah:

daftar masuk fstab sesuatu seperti baris berikut:

/dev/sda2 /mnt1 ext3 noatime,exec,loop,encryption=AES256 0 0 /dev/sdb1 /mnt2 ext3 noatime,exec,loop,encryption=AES256,cleartextkey=/mnt1/key.txt 0 0

Apabila memuatkan, sistem memasang titik dalam susunan yang sama seperti yang diterangkan dalam fstab, oleh itu, jika partition pertama tidak dipasang, kunci untuk memasang partition kedua akan kekal tidak tersedia dan partition kedua juga tidak akan dipasang.

Kata laluan disimpan sebagai teks kosong ini sememangnya tidak begitu cantik, tetapi ia disimpan pada partition yang disulitkan (yang juga boleh dinyahlekapkan). Anda boleh menggunakannya sebaliknya gpg-kunci, tetapi ini tidak akan menambah banyak keselamatan (jika mereka boleh mencuri kunci, maka ia tidak akan membuat banyak perbezaan jenis kunci itu), pilihan penyulitan dengan gpg- kunci diterangkan dalam lelaki losetup, di sini saya hanya akan memberikan contoh entri dalam fstab:

/dev/sda2 /mnt1 ext3 noatime,exec,loop,encryption=AES256 0 0 /dev/sdb1 /mnt2 ext3 noatime,exec,loop,encryption=AES256,gpgkey=/mnt1/key.gpg 0 0

Nota

Untuk mendapatkan maklumat lanjut tentang algoritma penyulitan yang disokong, lihat lelaki losetup, di sana anda juga boleh melihat penerangan pilihan program lain losetup.

Jika anda menghadapi masalah memasang modul AES, baca dokumentasi yang disertakan bersama pakej gelung-aes-sumber.

GRUB dan cakera akar yang disulitkan

Apabila memasang partition root pada cakera yang disulitkan, GRUB mungkin menunjukkan mesej buruk dalam menu utama. Ini berlaku kerana fon standard /usr/share/grub/unicode.pf2 tidak tersedia. Menyalin fon

cp /usr/share/grub/unicode.pf2 /boot/grub/

Tentukan tetapan

nano /etc/default/grub GRUB_FONT=/boot/grub/unicode.pf2

Gunakan tetapan:

kemas kini-grub

Penyulitan direktori rumah menyediakan perlindungan yang boleh dipercayai untuk data yang disimpan pada cakera keras anda atau media storan lain. Penyulitan amat penting pada komputer riba, pada komputer dengan berbilang akses, serta dalam sebarang keadaan lain. Penyulitan direktori rumah ditawarkan apabila memasang Linux Mint.

Tangkapan utama dengan penyulitan penuh direktori rumah ialah anda perlu "memindahkan" direktori dengan data yang disulitkan melebihi titik pelekap.

Prestasi menurun sedikit, sekurang-kurangnya sehingga SWAP digunakan. SWAP ialah partition cakera khas atau fail di mana sistem pengendalian memindahkan blok individu RAM apabila tidak cukup RAM untuk menjalankan aplikasi. SWAP juga disulitkan jika anda memilih penyulitan direktori rumah dalam pemasang, dan mod tidur berhenti berfungsi.

Tidak menyulitkan SWAP apabila direktori rumah disulitkan berpotensi berbahaya, kerana data daripada fail yang disulitkan mungkin berakhir di sana dalam teks yang jelas - keseluruhan titik penyulitan hilang. Bermula dengan versi 14 Linux Mint, semasa pemasangan anda boleh memilih pilihan untuk menyulitkan keseluruhan cakera. Pilihan ini paling sesuai untuk menyimpan data peribadi pada peranti mudah alih (yang biasanya hanya mempunyai seorang pengguna).

1.3 Penyulitan dalam gnome – Kuda Laut

Linux Mint mempunyai utiliti Kata Laluan dan Kunci terbina dalam, atau Kuda Laut. Menggunakan keupayaannya, pengguna boleh beroperasi dengan semua kunci, kata laluan, serta sijil yang tersedia dalam OS ini.

Pada asasnya, Seahorse ialah aplikasi untuk GNOME (GNOME ialah persekitaran desktop percuma untuk sistem pengendalian seperti Unix), yang merupakan bahagian hadapan kepada GnuPG (program percuma untuk menyulitkan maklumat dan mencipta tandatangan digital elektronik) dan direka untuk mengurus kunci penyulitan dan kata laluan. Ia menggantikan GNOME Keyring, yang telah diganti sepenuhnya dalam GNOME 2.22, walaupun ia diumumkan semula dalam GNOME 2.18. Membolehkan anda melakukan semua operasi yang sebelum ini perlu dilakukan pada baris arahan dan menggabungkannya di bawah satu antara muka:

    mengurus keselamatan persekitaran kerja anda dan kunci OpenPGP dan SSH;

    menyulitkan, mengembangkan dan mengimbas fail dan teks;

    menambah dan mengesahkan tandatangan digital pada dokumen;

    menyegerakkan kunci dengan pelayan utama;

    mencipta dan menerbitkan kunci;

    menyimpan maklumat penting;

    tambahkan pada imej dalam mana-mana GDK yang disokong sebagai ID foto OpenGPG;

1.4 TrueCrypt

TrueCrypt mempunyai antara muka grafik yang agak mudah, tetapi, malangnya, pembangun mempunyai penyepaduan kod keras dengan pengurus fail Nautilus ke dalam kod.

Anda boleh menggunakan kaedah yang berbeza untuk menyulitkan data.

Mula-mula anda perlu mencipta bekas yang dipanggil yang akan mengandungi folder fail yang bertujuan untuk penyulitan. Bekas boleh menjadi fail dengan nama sewenang-wenangnya atau bahkan keseluruhan partition cakera. Untuk mengakses bekas, anda mesti menentukan kata laluan, dan anda juga boleh membuat fail utama (pilihan) yang dengannya maklumat akan disulitkan. Saiz bekas adalah terhad.

Mencipta partition/fail yang disulitkan

Mencipta fail utama:

truecrypt -create-keyfile /home/user/test/file , di mana fail ialah nama fail utama.

Mencipta bekas, dalam kes ini bahagian:

sudo truecrypt -k /home/user/test/file -c /dev/sda9

Daripada partition /dev/sda9, anda juga boleh menentukan fail, contohnya /home/user/test/cryptofile, tetapi dalam kes ini anda perlu menentukan saiznya, ini dilakukan dengan parameter -size=5G sebelum parameter -c. Contoh di atas akan mencipta kriptofile 5GB. Kadangkala TrueCrypt hanya menerima saiz dalam bait; untuk 5 GB anda boleh sama ada mengira nilai terlebih dahulu dan menentukan -size=5368709120, atau menulisnya seperti berikut: -size=`echo 1024^3*5 | bc`.

Fail kunci yang telah dibuat akan digunakan untuk penyulitan.

Semasa membuat, anda akan ditawarkan pilihan jenis bekas (biasa/tersembunyi), sistem fail (FAT, ext2/3/4 atau tanpa FS), dalam contoh ini mod tanpa menggunakan FS telah dipilih. Anda juga akan ditawarkan pilihan algoritma penyulitan (contohnya, AES), serta algoritma cincang (contohnya, SHA-1) untuk menyulitkan aliran data.

TrueCrypt digunakan untuk menyulitkan data dengan cepat, iaitu, anda boleh memasang bekas dan bekerja dengan fail di dalamnya seperti biasa (buka/edit/tutup/buat/padam), yang sangat mudah.

Pembahagian/fail yang disulitkan telah dibuat. Sekarang, jika anda perlu memformat sistem fail dalamannya (selepas ini dirujuk sebagai FS), anda harus melakukan perkara berikut.

Pilih bahagian yang diperlukan menggunakan Truecrypt:

truecrypt -k /home/user/test/file /dev/sda9

Secara lalai, peranti /dev/mapper/truecrypt0 yang dibuat Truecrypt0 akan digunakan. Dengan mengakses peranti ini, anda boleh menukar, sebagai contoh, FS dalam bekas yang disulitkan. Dalam kes ini, ini perlu dilakukan.

sudo mkfs.ext4 -v /dev/mapper/truecrypt0

Beginilah cara FS ext4 dicipta di dalam bekas yang disulitkan ini.

Seterusnya, memandangkan bekas ini sudah "dipasangkan" pada peranti /dev/mapper/truecrypt0, yang tinggal hanyalah melekapkannya ke beberapa direktori. Direktori pelekap ini mesti sudah wujud pada sistem.

sudo mount /dev/mapper/truecrypt0 /mnt/crypto, di mana /mnt/crypto ialah direktori tempat bekas yang disulitkan dipasang.

truecrypt -d

Kini, tanpa mengetahui fail utama dan kata laluan, tiada siapa yang akan dapat membaca maklumat tersembunyi.

pengenalan

Menyimpan data dalam bentuk yang disulitkan ialah cara terbaik untuk melindungi maklumat supaya ia tidak sampai kepada penyerang. Sistem kriptografi sedang dibangunkan untuk melindungi harta intelek, rahsia perdagangan atau maklumat peribadi. Ia boleh datang dalam pelbagai bentuk, menawarkan tahap kefungsian yang berbeza-beza dan mengandungi sebarang bilangan pilihan untuk disesuaikan dengan pelbagai sistem pengendalian dan persekitaran. Hari ini, bilangan kaedah kriptografi moden, algoritma dan penyelesaian jauh lebih besar daripada sebelumnya. Dan kualiti pembangunan adalah lebih baik. Selain itu, terdapat banyak penyelesaian sumber terbuka yang boleh dilaksanakan di pasaran, yang membolehkan anda mencapai tahap perlindungan yang baik tanpa membelanjakan sejumlah besar wang.

Pada Disember 2005, Institut Ponemon menjalankan tinjauan di kalangan pelbagai pakar keselamatan maklumat mengenai penyulitan dan perlindungan data. Antara 6,298 yang ditinjau, hanya 4 peratus daripada responden menggunakan penyulitan seluruh perusahaan. Daripada tinjauan yang sama, tiga sebab utama muncul untuk penentangan berterusan terhadap peraturan penyulitan rasmi:

  • 69% responden menyebut masalah prestasi;
  • 44% responden menyebut kesukaran dengan pelaksanaan;
  • 25% daripada responden bercakap tentang kos yang tinggi untuk melaksanakan algoritma kriptografi.

Di banyak negara, organisasi terdedah kepada pelbagai tekanan untuk meningkatkan ketelusan dalam kerja mereka. Tetapi, sebaliknya, mereka memikul tanggungjawab berkanun kerana kegagalan memastikan keselamatan maklumat sulit. Ini, khususnya, kes dengan kedai kasut syarikat DSW di Amerika Syarikat).

Suruhanjaya Perdagangan Persekutuan AS memfailkan saman terhadap DSW, yang mendakwa kegagalan untuk menyediakan tahap keselamatan maklumat yang mencukupi dan kegagalan untuk mengambil langkah yang mencukupi untuk membina sistem yang mencukupi untuk menyekat akses kepada data ini, serta perlindungan yang tidak memuaskan bagi sambungan rangkaian antara kedai dan pejabat komputer. Dalam kes DSW, kira-kira 1.4 juta kad kredit dan kira-kira 96,000 akaun semak berpotensi untuk diakses oleh penjenayah. Dan sebelum perjanjian antara syarikat dan FTC dicapai, akaun ini telah digunakan secara haram.

Pada masa kini, perisian dan penyelesaian kejuruteraan untuk penyulitan data lebih mudah diakses berbanding sebelum ini. Kunci USB, yang semakin murah dari hari ke hari, semakin digunakan berbanding kad pintar. Yang terakhir, seterusnya, juga sering dijumpai, kerana kebanyakan komputer riba mengandungi pembaca kad pintar.

Pengguna semakin mula berfikir tentang bahaya yang berkaitan dengan kecurian maklumat peribadi, data pemilik dan nombor kad kredit. Dan ketakutan ini hanya didorong oleh laporan penjualan besar-besaran maklumat yang dicuri seperti ini daripada institusi yang diamanahkan dengan data berharga tersebut.

Pengguna juga mula menyedari bahawa penting untuk melindungi maklumat peribadi bukan sahaja dalam talian, tetapi juga di luar talian. Lagipun, akses yang tidak diingini kepada data anda tidak selalu berlaku melalui rangkaian. Soalan ini amat relevan untuk mereka yang komputer ribanya yang tidak dilindungi mungkin berakhir sama ada di tangan kakitangan perkhidmatan untuk perubahan konfigurasi, atau dalam perkhidmatan untuk pembaikan.

Isu teknikal penyulitan

Fungsi penyulitan diperlukan dalam semua sistem komputer berbilang pengguna moden di mana data, proses dan maklumat pengguna diasingkan secara logik. Untuk mengesahkan pengguna dalam sistem sedemikian, log masuk dan kata laluan dicincang dan dibandingkan dengan cincang yang sudah tersedia dalam sistem (atau cincang digunakan untuk menyahsulit kunci sesi, yang kemudiannya diperiksa untuk kesahihannya). Untuk mengelakkan paparan maklumat peribadi tanpa kebenaran, fail individu atau keseluruhan bahagian mungkin disimpan di dalam bekas yang disulitkan. Dan protokol rangkaian, sebagai contoh, SSL\TLS dan IPSec, membenarkan, jika perlu, untuk mengukuhkan perlindungan kriptografi pelbagai peranti (/dev/random, /dev/urandom, dsb.) menggunakan algoritma modular yang berfungsi dengan kernel sistem pengendalian .

Matlamat mana-mana teknologi penyulitan cakera adalah untuk melindungi daripada akses yang tidak diingini kepada maklumat peribadi dan untuk mengurangkan kerosakan daripada kehilangan harta intelek akibat capaian haram atau kecurian peranti fizikal. Sistem pengendalian Linux dengan kernel versi 2.6.4 memperkenalkan infrastruktur kriptografi lanjutan yang melindungi data peribadi dengan mudah dan boleh dipercayai pada banyak lapisan perisian. Terdapat keseluruhan piawaian untuk menyimpan data yang disulitkan pada tahap yang rendah, seperti Linux Unified Key Setup (LUKS), dan pelaksanaan di peringkat pengguna, contohnya, sistem fail EncFS dan CryptoFS, yang, seterusnya, adalah berdasarkan Ruang Pengguna Pantas. Sistem Fail ( FUSE) untuk Linux. Sudah tentu, mana-mana sistem kriptografi hanya tahan terhadap penggodaman seperti kata laluan dan kunci aksesnya. Terdapat tiga peringkat utama di mana teknologi penyulitan digunakan:

  • tahap fail dan sistem fail (penyulitan demi fail, bekas fail);
  • tahap blok rendah (bekas dengan sistem fail);
  • tahap perkakasan (peranti kriptografi khusus).

Penyulitan peringkat fail ialah kaedah yang sangat mudah yang biasanya digunakan untuk perkongsian fail. Penyulitan digunakan sekali-sekala, yang sesuai untuk menghantar bilangan fail yang munasabah. Untuk sistem fail berbilang pengguna, masalah pengurusan kunci timbul kerana folder dan fail pengguna yang berbeza disulitkan dengan kunci yang berbeza. Sudah tentu, anda boleh menggunakan satu kunci, tetapi kemudian kami mendapat teknologi yang mengingatkan penyulitan cakera. Seperti biasa, adalah menjadi tanggungjawab pengguna untuk memilih kata laluan yang paling selamat.

Aplikasi kriptografi yang lebih maju berfungsi pada peringkat sistem fail, menjejaki fail semasa ia dibuat, ditulis atau diubah suai. Kaedah ini memberikan perlindungan terbaik untuk maklumat peribadi tidak kira bagaimana ia digunakan, dan ia juga bagus untuk sejumlah besar fail. Di samping itu, tidak perlu risau tentang aplikasi yang tidak boleh menyulitkan fail secara individu.

Sesetengah teknologi kriptografi adalah percuma dan disertakan dalam banyak pengedaran. By the way, versi terkini Windows dilengkapi dengan sistem fail khas yang menyokong Encrypted File System (EFS). Fedora menyokong beberapa pilihan penyulitan, termasuk LUKS (anda boleh mendayakan sokongan LUKS pada Windows jika anda menggunakan sistem fail FAT atau FAT32 dan aplikasi FreeOTFE). Dan FUSE dan EncFS tersedia dalam pakej Extras. CryptoFS juga boleh dipasang dengan memuat turun dari laman web rasmi. .

Infrastruktur FUSE terdiri daripada modul kernel yang boleh dimuatkan dan pustaka ruang pengguna yang berfungsi sebagai asas untuk kedua-dua sistem fail CryptoFS dan sistem fail Encrypted (EncFS). Dengan strukturnya, FUSE tidak menjejaskan kod sumber kernel dan pada masa yang sama memberikan fleksibiliti yang tinggi untuk melaksanakan banyak penambahan menarik, contohnya, sistem fail Secure Shell (SSHFS).

CryptoFS menyimpan data yang disulitkan dalam struktur direktori biasa, dibahagikan kepada dua bahagian utama: maklumat teks (senarai fail, folder, arkib) dan data yang disulitkan itu sendiri. Anda hanya boleh memasang semula direktori yang disulitkan menggunakan kekunci. Apabila menggunakan CryptoFS, anda tidak memerlukan keistimewaan khas, dan persediaan juga mudah.

Sistem fail EncFS juga merupakan pelaksanaan ruang pengguna berdasarkan perpustakaan FUSE, yang menyediakan perlindungan terhadap kecurian maklumat dan berfungsi berdasarkan prinsip penyulitan fail demi fail. Ia mewarisi strukturnya daripada versi terdahulu, tetapi dengan penambahbaikan dalam kedua-dua bentuk dan fungsi. Sistem fail EncFS boleh dikembangkan secara dinamik untuk memenuhi keperluan pengguna yang semakin meningkat. Fail boleh disulitkan mengikut pelbagai parameter (contohnya, apabila kandungan berubah, mengikut atribut, dsb.). Pada asasnya, storan asas untuk EncFS boleh terdiri daripada imej ISO kepada partition rangkaian atau sistem fail teragih.

Kedua-dua sistem fail beroperasi pada asas hujung ke hujung dan boleh digunakan di atas sistem fail lain dan abstraksi logik, seperti sistem fail jurnal atau lanjutan, yang boleh diedarkan merentasi pelbagai media fizikal melalui pengurus partition logik (LVM). ). Ilustrasi berikut secara skematik menunjukkan cara sistem fail ini berfungsi: Dalam rajah ini, direktori yang boleh dilihat dilabelkan /mount (lapisan data teks biasa EncFS).

Tindanan ruang pengguna menunjukkan interaksi antara FUSE dan EncFS.

Di bawah lapisan abstraksi sistem fail terdapat skema penyulitan (blok) peringkat rendah yang serupa dengan yang digunakan dalam LUKS. Skim jenis ini hanya berfungsi pada blok cakera, tanpa memberi perhatian kepada abstraksi sistem fail peringkat lebih tinggi. Skim serupa boleh digunakan untuk fail halaman, untuk pelbagai bekas, atau bahkan untuk keseluruhan media fizikal, termasuk penyulitan penuh bagi partition root.


LUKS berfungsi tanpa pengetahuan yang tepat tentang format sistem fail.

LUKS direka bentuk mengikut Persediaan Kunci Dipercayai #1 (TKS1) dan serasi dengan Windows menggunakan mana-mana format sistem fail biasa (FAT/FAT32). Sistem ini sangat sesuai untuk pengguna mudah alih, menyokong pengeluaran dan pembatalan kunci Gnu Privacy Guard (GPG), dan adalah percuma sepenuhnya. LUKS mampu melakukan lebih daripada mana-mana pelaksanaan lain yang diterangkan dalam artikel ini. Selain itu, LUKS menyokong sejumlah besar penyelesaian untuk mencipta dan mengurus peranti yang disulitkan LUKS.

Sistem fail CryptoFS hanya menerima kata laluan, manakala media yang disulitkan dengan LUKS berfungsi dengan mana-mana kunci PGP (Pretty Good Privacy) dengan sebarang bilangan kata laluan. EncFS juga menggunakan kata laluan untuk melindungi fail, tetapi ia membuka kunci yang disimpan dalam direktori akar yang sepadan.

Perbezaan antara pelaksanaan peringkat rendah dan ruang pengguna paling baik dilihat dalam ujian praktikal. Pada tahap yang rendah, data boleh dipindahkan secara telus ke sistem fail, yang menguruskan operasi baca dan tulis dengan lebih cekap.

Konfigurasi ujian

Platform ujian kami ialah komputer riba Dell Latitude C610, agak ketinggalan zaman, tetapi masih mewakili teknologi gaya 2002 yang agak pantas. Apabila dikuasakan oleh bateri, C610 mengurangkan kekerapan pemproses kepada 733 MHz. Oleh itu, semasa ujian kami tidak mencabut plag komputer riba dari saluran keluar. Jadual berikut menunjukkan konfigurasi komputer riba

Keputusan ujian diperoleh menggunakan sistem fail EXT3 di bawah Linux. Mungkin EXT3 bukanlah yang paling produktif berbanding sistem fail jurnal yang lain. Tetapi percubaan dengan memperhalusi format sistem, saiz blok, parameter pemacu, dsb. bukanlah objektif ujian kami, kerana ia tidak memenuhi kriteria untuk persediaan dan konfigurasi mudah. Mari kita ingat bahawa tujuan artikel itu adalah untuk menunjukkan bagaimana penyelesaian kriptografi untuk Linux membolehkan anda membuat storan data selamat dengan mudah, cekap dan murah.

Pemasangan

LUKS, FUSE dan EncFS tersedia dalam pengedaran Fedora, jadi tiada usaha tambahan diperlukan. Tetapi CryptoFS perlu dimuat turun secara berasingan.

Menyusun CryptoFS daripada kod sumber agak mudah. Buka bungkusan arkib, jalankan skrip konfigurasi dalam direktori destinasi, kemudian jalankan make seperti yang ditunjukkan dalam ilustrasi. Fail konfigurasi mengandungi empat parameter: sifir penyulitan, algoritma ringkasan mesej, saiz blok dan kiraan garam penyulitan.


Proses pemasangan untuk CryptoFS adalah mudah.

Persediaan terdiri daripada menentukan laluan direktori permulaan dan tamat (untuk data yang disulitkan dan tidak disulitkan). Anda kemudiannya boleh menjalankan perintah cryptofs seperti yang ditunjukkan dalam rajah berikut.


Menyediakan CryptoFS.

Anda kemudian boleh menjalankan arahan pelekap, selepas itu anda akan dapat melihat partition yang dipasang.

Mula-mula pastikan modul kernel FUSE (fius modprobe) dimuatkan. EncFS memudahkan proses mencipta bekas yang disulitkan, seperti yang dilihat dalam ilustrasi berikut.


Jika anda melangkau proses pemasangan kunci (yang khusus untuk setiap situasi), LUKS boleh dikonfigurasikan dengan mudah seperti yang ditunjukkan di bawah.


Ujian dan analisis prestasi

Perbezaan prestasi antara pemasangan asli dan pemasangan dalam persekitaran yang disulitkan LUKS adalah agak kecil. Terutama sekali mempertimbangkan perbezaan ketara antara penyelesaian ruang pengguna. Untuk menilai prestasi sistem fail yang disulitkan satu demi satu, kami menggunakan Iozone. Untuk ujian, rekod dari 4 KB hingga 16 MB digunakan, saiz fail berbeza dari 64 KB hingga 512 MB, dan hasilnya ditunjukkan dalam KB/s.

Kesimpulan

Sekurang-kurangnya di mana LUKS digunakan, anda tidak perlu risau tentang prestasi. Walaupun, sudah tentu, beberapa kehilangan prestasi disebabkan oleh penyulitan data "telus". Sistem LUKS adalah mudah dan mudah untuk dipasang, dan boleh digunakan pada kedua-dua Linux dan Windows.

Pengguna korporat mungkin perlu menghadapi sekatan yang berkaitan dengan dasar syarikat. Mereka sering mengharamkan penyelesaian sumber terbuka atau mengharamkan pelaksanaan tertentu. Di samping itu, kadangkala terdapat sekatan pada import/eksport teknologi penyulitan berkenaan kekuatan kod, atau jabatan IT memerlukan sokongan telefon daripada pembekal penyelesaian, yang menjadikan LUKS, EncFS dan CryptoFS tidak diperlukan. Walau apa pun, LUKS adalah penyelesaian yang bagus jika masalah sedemikian tidak mengganggu anda. Pilihan yang baik untuk perniagaan kecil atau pengguna rumah.

Tetapi anda harus ingat bahawa penyulitan data bukanlah ubat penawar. Memandangkan penyulitan dilakukan secara telus, mana-mana program Trojan yang dijalankan bagi pihak pengguna boleh mengakses data yang disulitkan.

Pendapat editor

CryptoFS dan EncFS ialah pelaksanaan ruang pengguna. Seperti yang telah kami jelaskan sebelum ini, mereka mudah dalam reka bentuk dan pelaksanaan, tetapi datang pada kos prestasi dan keupayaan. Ini amat ketara jika dibandingkan dengan LUKS. Ia bukan sahaja lebih pantas, tetapi ia juga menyokong satu atau lebih kekunci PGP dan boleh digunakan di seluruh partition.

Bekas ruang pengguna adalah penting terutamanya untuk pengguna yang ingin melindungi maklumat peribadi dalam persekitaran berbilang pengguna. Dan siapa yang perlu melindungi data mereka sehingga pentadbir tidak dapat mengakses sumber perkakasan atau perisian. Sebagai tambahan kepada faedah prestasi dan sokongan merentas platform, LUKS berintegrasi dengan baik dengan sistem pengurusan utama GNOME dan PGP. Dan kemudahan penggunaan setiap hari partition LUKS yang disulitkan sangat mengagumkan. By the way, EncFS menyokong Pluggable Authentication Module (PAM) di bawah Linux dalam persekitaran yang sesuai.


Pengarang: Nitish Tiwari
Tarikh diterbitkan: 04 Februari 2015
Terjemahan: N. Romodanov
Tarikh terjemahan: Mac 2015

TrueCrypt tidak lagi disokong, tetapi dm-crypt dan LUKS ialah pilihan sumber terbuka yang hebat untuk menyulitkan dan menggunakan data yang disulitkan.

Keselamatan data telah menjadi salah satu kebimbangan terbesar di kalangan pengguna internet. Berita tentang kecurian data daripada tapak web telah menjadi sangat biasa, tetapi melindungi data anda bukan hanya tanggungjawab tapak web, banyak yang boleh kami lakukan sebagai pengguna akhir untuk keselamatan kami sendiri. Contohnya, hanya beberapa contoh menggunakan kata laluan yang kukuh, menyulitkan pemacu keras yang terdapat pada komputer kami dan menggunakan sambungan selamat. Khususnya, menyulitkan cakera keras anda ialah cara yang baik untuk memastikan keselamatan - ia bukan sahaja akan melindungi anda daripada sebarang Trojan yang cuba mencuri data anda melalui rangkaian, tetapi juga daripada serangan fizikal.

Pada bulan Mei tahun ini, pembangunan TrueCrypt, alat penyulitan cakera sumber terbuka yang terkenal, menghentikan pembangunan. Seperti yang anda ketahui, ia adalah salah satu alat yang sangat boleh dipercayai yang direka untuk penyulitan cakera. Sungguh menyedihkan melihat alat berkaliber ini hilang, tetapi begitulah hebatnya dunia sumber terbuka yang terdapat beberapa alat sumber terbuka lain yang boleh membantu anda mencapai keselamatan dengan penyulitan cakera yang juga mempunyai banyak pilihan konfigurasi. Kami akan melihat dua daripadanya - dm-crypt dan LUKS - sebagai alternatif kepada TrueCrypt untuk platform Linux. Mari kita mulakan dengan melihat dm-crypt dan kemudian LUKS.

Ini adalah maklumat asas tentang peranti yang menggunakan LUKS, yang menunjukkan penyulitan yang digunakan, mod penyulitan, algoritma pencincangan dan data kriptografi lain.

Sumber

Langkah 01: Memandangkan Dm-crypt

Nama apl dm-crypt ialah singkatan untuk device mapper-crypt. Seperti namanya, ia berdasarkan pemetaan peranti, rangka kerja kernel Linux yang direka untuk memetakan peranti blok ke peranti blok maya peringkat lebih tinggi. Semasa memetakan peranti, anda boleh menggunakan beberapa fungsi kernel, seperti dm-cache (mencipta volum hibrid), dm-verity (direka bentuk untuk menyemak integriti blok, sebahagian daripada OS Chrome) dan juga Docker yang sangat popular. Untuk tujuan kriptografi, dm-crypt menggunakan rangka kerja API Crypto kernel Linux.

Jadi, untuk meringkaskan, aplikasi dm-crypt ialah subsistem penyulitan peringkat kernel yang menawarkan penyulitan cakera lutsinar: ini bermakna fail boleh diakses serta-merta selepas cakera dipasang - tiada kelewatan yang boleh dilihat oleh pengguna akhir. Untuk menyulitkan menggunakan dm-crypt anda hanya boleh menentukan salah satu sifir simetri, mod penyulitan, kunci (mana-mana saiz yang sah), mod penjanaan IV, dan kemudian buat peranti blok baharu dalam /dev. Kini, sebarang tulisan pada peranti ini akan disulitkan dan sebarang bacaan akan dinyahsulitkan. Anda boleh melekapkan sistem fail pada peranti ini seperti biasa, atau anda boleh menggunakan peranti dm-crypt untuk mencipta reka bentuk lain, seperti volum RAID atau LVM. Jadual carian dm-crypt ditakrifkan seperti berikut:

Di sini, sektor permulaan biasanya 0, saiz ialah saiz peranti dalam sektor dan nama sasaran ialah nama yang anda mahu berikan kepada peranti yang disulitkan. Jadual pemetaan sasaran terdiri daripada bahagian berikut:

[<#opt_params> ]

Langkah 02: Memandangkan LUKS

Seperti yang telah kita lihat dalam langkah sebelumnya, aplikasi dm-crypt boleh menyulitkan/menyahsulit data sendiri. Tetapi ia mempunyai beberapa kelemahan - jika anda menggunakan dm-crypt secara langsung, ia tidak akan mencipta metadata pada cakera, dan ini boleh menjadi masalah serius jika anda ingin memastikan keserasian antara pengedaran Linux yang berbeza. Di samping itu, aplikasi dm-crypt tidak menyokong penggunaan berbilang kunci, sedangkan dalam situasi sebenar adalah sangat penting untuk menggunakan berbilang kunci.

Atas sebab inilah teknik LUKS (Linux Unified Key Setup) dilahirkan. LUKS ialah standard penyulitan cakera keras Linux dan penyeragaman membolehkan keserasian antara pengedaran yang berbeza. Penggunaan berbilang kunci dan frasa laluan juga disokong. Sebagai sebahagian daripada penyeragaman ini, pengepala LUKS ditambahkan pada data yang disulitkan dan pengepala ini mengandungi semua maklumat yang diperlukan untuk konfigurasi. Apabila terdapat pengepala sedemikian dengan data, pengguna boleh beralih ke mana-mana pengedaran lain dengan mudah. Projek dm-crypt kini mengesyorkan menggunakan LUKS sebagai cara pilihan untuk mengkonfigurasi penyulitan cakera. Mari lihat cara memasang utiliti cryptsetup dan cara menggunakannya untuk mencipta volum berasaskan LUKS.

Langkah 03: Pemasangan

Kefungsian peringkat kernel yang digunakan dalam dm-crypt sudah ada dalam semua pengedaran Linux; kami hanya memerlukan antara muka kepada mereka. Kami akan menggunakan utiliti cryptsetup, yang dengannya anda boleh membuat volum menggunakan dm-crypt, standard LUKS, serta aplikasi TrueCrypt lama yang baik. Untuk memasang cryptsetup pada pengedaran Debian/Ubuntu, anda boleh menggunakan arahan berikut:

$ sudo apt-get kemas kini $ sudo apt-get install cryptsetup

Perintah pertama menyegerakkan fail indeks roket dengan kandungan repositori mereka: ia memperoleh maklumat tentang versi terkini semua pakej yang tersedia. Perintah kedua akan memuat turun dan memasang pakej cryptsetup pada komputer anda. Jika anda menggunakan pengedaran RHEL/Fedora/CentOS, anda boleh menggunakan perintah yum untuk memasang utiliti cryptsetup.

$ yum pasang cryptsetup-luks

Langkah 04: Mencipta fail sasaran

Sekarang bahawa utiliti cryptsetup telah berjaya dipasang, kita mesti mencipta fail sasaran yang akan menyimpan bekas LUKS. Walaupun terdapat banyak cara untuk mencipta fail sedemikian, terdapat beberapa syarat yang mesti dipenuhi semasa menciptanya:

  • Fail tidak boleh terdiri daripada beberapa bahagian yang terletak di tempat yang berbeza pada cakera, iaitu, apabila menciptanya, jumlah memori yang mencukupi harus diperuntukkan segera.
  • Keseluruhan fail mesti diisi dengan data rawak supaya tiada siapa yang boleh memberitahu di mana data yang digunakan untuk penyulitan akan ditempatkan.

Perintah dd boleh membantu kami mencipta fail yang memenuhi syarat di atas, walaupun ia akan menjadi agak perlahan. Hanya gunakannya dengan fail peranti khas /dev/random yang ditentukan sebagai input dan fail sasaran yang ditentukan sebagai output. Contoh arahan kelihatan seperti ini:

$ dd if=/dev/random of=/home/nitish/basefile bs=1J count=128

Akibatnya, fail yang dipanggil basefile dengan saiz 128 MB akan dibuat dalam direktori /home/nitish. Walau bagaimanapun, sila ambil perhatian bahawa arahan ini mungkin mengambil masa yang agak lama untuk diselesaikan; dalam sistem yang pakar kami gunakan, ini mengambil masa sejam.

Langkah 05: Buat dm-crypt LUKS

Sebaik sahaja anda telah mencipta fail sasaran, anda perlu mencipta partition LUKS dalam fail tersebut. Bahagian ini berfungsi sebagai lapisan utama di mana semua penyulitan data dibina. Selain itu, pengepala bahagian ini (pengepala LUKS) mengandungi semua maklumat yang diperlukan untuk keserasian dengan peranti lain. Untuk membuat partition LUKS, gunakan arahan cryptsetup:

$ cryptsetup -y luksFormat /home/nitish/basefile

Sebaik sahaja anda bersetuju bahawa data di dalam fail asas akan dipadamkan secara kekal, masukkan frasa laluan, dan kemudian mengesahkannya, partition LUKS akan dibuat. Anda boleh menyemak ini dengan arahan fail berikut:

$filebasefile

Sila ambil perhatian bahawa frasa yang anda masukkan di sini akan digunakan untuk menyahsulit data. Adalah sangat penting untuk mengingati ini dan menyimpannya di tempat yang selamat, kerana jika anda melupakannya, anda hampir pasti akan kehilangan semua data dalam partition yang disulitkan.

Langkah 06: Buat dan lekapkan sistem fail

Bekas LUKS yang kami buat dalam langkah sebelumnya kini tersedia sebagai fail. Dalam contoh kami, ini ialah /home/nitish/basefile. Utiliti cryptsetup membolehkan anda membuka bekas LUKS sebagai peranti bebas. Untuk melakukan ini, mula-mula petakan fail bekas ke nama peranti dan kemudian lekapkan peranti itu. Perintah paparan kelihatan seperti ini:

Sebaik sahaja anda berjaya memasukkan frasa laluan yang anda buat dalam langkah sebelumnya, bekas LUKS akan dipetakan ke jilid1. Apa yang sebenarnya berlaku ialah fail itu dibuka sebagai peranti gelung balik tempatan, supaya seluruh sistem kini boleh merawat fail itu seolah-olah ia adalah peranti sebenar.

Langkah 07: Sistem fail - diteruskan

Fail kontena LUKS kini tersedia pada sistem sebagai peranti biasa. Sebelum kita boleh menggunakannya untuk operasi biasa, kita mesti memformatnya dan mencipta sistem fail padanya. Anda boleh menggunakan mana-mana sistem fail yang disokong pada sistem anda. Dalam contoh saya, kami menggunakan ext4 kerana ia adalah sistem fail terbaharu untuk sistem Linux.

$ mkfs.ext4 -j /dev/mapper/volume1

Setelah peranti berjaya diformatkan, langkah seterusnya ialah memasangnya. Mula-mula anda harus membuat titik pelekap, sebaik-baiknya pada /mnt (berdasarkan akal sehat).

$mkdir/mnt/files

Sekarang mari pasang:

Untuk menyemak silang, gunakan perintah df –h - anda akan melihat peranti "/dev/mapper/volume1" di hujung senarai peranti yang dipasang. Ia boleh dilihat bahawa pengepala LUKS sudah mengambil sedikit ruang dalam peranti.

Terima kasih kepada langkah ini, anda kini boleh menggunakan peranti LUKS dengan sistem fail ext4. Hanya gunakan peranti ini untuk menyimpan fail - semua yang anda tulis pada peranti ini akan disulitkan dan semua yang anda baca daripadanya akan dinyahsulit dan ditunjukkan kepada anda.

Langkah 08: Menggunakan pemacu yang disulitkan

Kami mengikuti beberapa langkah untuk mencapai hasil ini, dan jika anda tidak begitu jelas tentang cara semuanya berfungsi, kemungkinan besar anda akan keliru tentang perkara yang perlu anda lakukan sekali sahaja (diperlukan untuk pemasangan), dan perkara yang perlu dilakukan dengan kerap apabila menggunakan penyulitan. Mari kita pertimbangkan senario berikut: Anda telah berjaya menyelesaikan semua langkah di atas dan kemudian mematikan komputer anda. Keesokan harinya, apabila anda memulakan komputer anda, anda tidak dapat mencari peranti yang dipasang - ke mana perginya? Untuk memikirkan semua ini, anda perlu ingat bahawa selepas sistem bermula, anda perlu memasang bekas LUKS, dan sebelum menghentikan komputer, nyahlekapkannya.

Untuk mengakses fail LUKS anda, lakukan perkara berikut setiap kali anda menghidupkan komputer anda, dan kemudian tutup fail dengan selamat sebelum mematikan komputer anda:

Buka fail LUKS (iaitu /home/nitish/basefile) dan masukkan kata laluan. Perintahnya kelihatan seperti ini:

$ cryptsetup luksOpen /home/nitish/basefile volume1

Setelah fail dibuka, lekapkannya (jika ia tidak dilekapkan secara automatik):

$ mount /dev/mapper/volume1 /mnt/files

Kini anda boleh menggunakan peranti yang dipasang sebagai cakera biasa dan membaca daripada atau menulis data kepadanya.

Setelah selesai, nyahlekap peranti seperti berikut:

$ umount /mnt/files

Selepas berjaya menyahlekap, tutup fail LUKS:

$cryptsetup luksTutup jilid1

Langkah 09: Sandaran

Kebanyakan kehilangan data yang disimpan dalam bekas LUKS adalah disebabkan oleh kerosakan pada pengepala LUKS atau slot kekunci. Sebagai tambahan kepada fakta bahawa walaupun disebabkan penulisan semula pengepala secara tidak sengaja ke dalam ingatan, pengepala LUKS boleh rosak, dalam keadaan sebenar kegagalan sepenuhnya cakera keras juga mungkin. Cara terbaik untuk melindungi diri anda daripada masalah sedemikian adalah dengan mempunyai sandaran. Mari lihat pilihan sandaran yang tersedia.

Untuk membuat sandaran fail pengepala LUKS, nyatakan parameter luksHeaderBackup dalam arahan:

$ sudo cryptsetup luksHeaderBackup /home/nitish/basefile --header-backup-file /home/nitish/backupfile

Atau, jika anda ingin memulihkan fail daripada sandaran, kemudian nyatakan parameter luksHeaderRestore dalam arahan:

$ sudo cryptsetup luksHeaderRestore /home/nitish/basefile --header-backup-file /home/nitish/backupfile

Untuk menyemak fail pengepala LUKS dan memastikan bahawa fail yang anda berurusan sepadan dengan peranti LUKS sebenar, anda boleh menggunakan parameter isLuks.

$ sudo cryptsetup -v isLuks /home/nitish/basefile

Kami telah melihat cara untuk membuat sandaran fail pengepala LUKS, tetapi sandaran pengepala LUKS sebenarnya tidak akan melindungi daripada kegagalan cakera lengkap, jadi anda perlu menyandarkan keseluruhan partition menggunakan arahan kucing berikut:

$ cat /home/nitish/basefile > basefile.img

Langkah 10: Pelbagai tetapan

Terdapat beberapa tetapan lain yang mungkin berguna apabila menggunakan penyulitan LUKS dm-crypt. Mari lihat mereka.

Untuk membuang pengepala LUKS, arahan cryptsetup mempunyai pilihan luksDump. Ia akan membolehkan anda mengambil gambar fail pengepala LUKS bagi peranti yang anda gunakan. Contoh arahan kelihatan seperti ini:

$ cryptsetup luksDump /home/nitish/basefile

Pada permulaan artikel ini, kami menyebut bahawa LUKS menyokong berbilang kunci. Mari lihat tindakan ini sekarang dengan menambah slot kunci baharu ( Nota penterjemah: slot kunci - ruang kunci):

$ cryptsetup luksAddKey --Key-slot 1 /home/nitish/basefile

Perintah ini menambah kunci pada slot kekunci nombor 1, tetapi hanya selepas anda memasukkan kata laluan semasa (kunci terdapat dalam slot kunci 0). Terdapat sejumlah lapan slot kunci, dan anda boleh menyahsulit data menggunakan sebarang kunci. Jika anda membuang pengepala selepas menambah kunci kedua, anda akan melihat bahawa slot kunci kedua telah diduduki.

Anda boleh mengalih keluar slot utama seperti ini:

$ cryptsetup luksRemoveKey /home/nitish/basefile

Ini akan mengalih keluar slot kunci dengan nombor slot tertinggi. Berhati-hati untuk tidak memadam semua slot, jika tidak, data anda akan hilang selama-lamanya.