GNU/Linux >> Belajar Linux >  >> Linux

Cara mengenkripsi file dengan gocryptfs di Linux

Gocryptfs adalah program enkripsi tingkat file yang dipasang di Sistem File di Userspace (FUSE). Dipasang FUSE berarti bahwa file terenkripsi disimpan dalam satu pohon direktori yang dipasang, seperti kunci USB, menggunakan antarmuka FUSE. Ini memungkinkan setiap pengguna untuk melakukan mount—Anda tidak perlu menjadi root. Karena gocryptfs mengenkripsi pada tingkat file, operasi sinkronisasi yang menyalin file Anda dapat bekerja secara efisien pada setiap file. Ini kontras dengan enkripsi tingkat disk, di mana seluruh disk dienkripsi sebagai satu gumpalan biner besar.

Saat Anda menggunakan gocryptfs dalam mode normal, file Anda disimpan di disk Anda dalam format terenkripsi. Namun, ketika Anda memasang file terenkripsi, Anda mendapatkan akses tidak terenkripsi ke file Anda, sama seperti file lain di komputer Anda. Ini berarti semua alat dan program reguler Anda dapat menggunakan file Anda yang tidak terenkripsi. Perubahan, file baru, dan penghapusan tercermin secara real-time dalam versi terenkripsi dari file yang disimpan di disk Anda.

Instal gocryptfs

Menginstal gocryptfs mudah di Fedora karena dikemas untuk Fedora 30 dan Rawhide. Oleh karena itu, sudo dnf install gocryptfs melakukan semua pekerjaan instalasi yang diperlukan. Jika Anda tidak menggunakan Fedora, Anda dapat menemukan detail tentang menginstal dari sumber, di Debian, atau melalui Homebrew di Quickstart.

Inisialisasi sistem file terenkripsi Anda

Terminal Linux

  • 7 emulator terminal teratas untuk Linux
  • 10 alat baris perintah untuk analisis data di Linux
  • Unduh Sekarang:lembar contekan SSH
  • Lembar contekan perintah Linux tingkat lanjut
  • Tutorial baris perintah Linux

Untuk memulai, Anda perlu memutuskan di mana Anda ingin menyimpan file terenkripsi Anda. Contoh ini akan menyimpan file di ~/.sekrit_files sehingga mereka tidak muncul saat melakukan ls normal yang normal .

Mulailah dengan menginisialisasi sistem file. Ini akan mengharuskan Anda untuk memilih kata sandi. Anda sangat dianjurkan untuk menggunakan kata sandi unik yang belum pernah Anda gunakan di tempat lain, karena ini adalah kunci Anda untuk membuka kunci file Anda. Penulis proyek merekomendasikan kata sandi dengan entropi antara 64 dan 128 bit. Dengan asumsi Anda menggunakan huruf besar dan kecil serta angka, ini berarti kata sandi Anda harus antara 11 dan 22 karakter. Jika Anda menggunakan pengelola kata sandi, ini akan mudah dilakukan dengan kata sandi yang dibuat.

Saat Anda menginisialisasi sistem file, Anda akan melihat kunci unik. Simpan kunci ini di suatu tempat dengan aman, karena ini akan memungkinkan Anda untuk mengakses file Anda jika Anda perlu memulihkan file Anda tetapi lupa kata sandi Anda. Kunci berfungsi tanpa kata sandi Anda, jadi jaga kerahasiaannya!

Rutin inisialisasi terlihat seperti ini:

$ mkdir ~/.sekrit_files
$ gocryptfs -init ~/.sekrit_files
Choose a password for protecting your files.
Password:
Repeat:

Your master key is:

    XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX-
    XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX

If the gocryptfs.conf file becomes corrupted or you ever forget your password,
there is only one hope for recovery: The master key. Print it to a piece of
paper and store it in a drawer. This message is only printed once.
The gocryptfs filesystem has been created successfully.
You can now mount it using: gocryptfs .sekrit_files MOUNTPOINT

Jika Anda melihat di ~/.sekrit_files direktori, Anda akan melihat dua file:file konfigurasi dan vektor inisialisasi tingkat direktori yang unik. Anda tidak perlu mengedit kedua file ini dengan tangan. Pastikan Anda tidak menghapus file-file ini.

Gunakan sistem file terenkripsi Anda

Untuk menggunakan sistem file terenkripsi, Anda perlu memasangnya. Ini membutuhkan direktori kosong tempat Anda dapat memasang sistem file. Misalnya, gunakan ~/file_saya direktori. Seperti yang Anda lihat dari inisialisasi, pemasangannya mudah:

$ gocryptfs ~/.sekrit_files ~/my_files
Password:
Decrypting master key
Filesystem mounted and ready.

Jika Anda memeriksa ~/my_files direktori, Anda akan melihatnya kosong. File vektor konfigurasi dan inisialisasi bukanlah data, sehingga tidak muncul. Mari kita taruh beberapa data di sistem file dan lihat apa yang terjadi:

$ cp /usr/share/dict/words ~/my_files/
$ ls -la ~/my_files/ ~/.sekrit_files/
~/my_files/:
.rw-r--r-- 5.0M bexelbie 19 Jul 17:48 words

~/.sekrit_files/:
.r--------@  402 bexelbie 19 Jul 17:39 gocryptfs.conf
.r--------@   16 bexelbie 19 Jul 17:39 gocryptfs.diriv
.rw-r--r--@ 5.0M bexelbie 19 Jul 17:48 xAQrtlyYSFeCN5w7O3-9zg

Perhatikan bahwa ada file baru di ~/.sekrit_files direktori. Ini adalah salinan terenkripsi dari kamus yang Anda salin (nama file akan bervariasi). Jangan ragu untuk menggunakan kucing dan alat lain untuk memeriksa file-file ini dan bereksperimen dengan menambahkan, menghapus, dan memodifikasi file. Pastikan untuk menguji dengan beberapa aplikasi, seperti LibreOffice.

Ingat, ini filesystem mount, jadi isi ~/my_files tidak disimpan ke disk. Anda dapat memverifikasi ini dengan menjalankan mount | grep my_files dan mengamati keluarannya. Hanya file terenkripsi yang ditulis ke disk Anda. Antarmuka FUSE melakukan enkripsi dan dekripsi file secara real-time dan menampilkannya ke aplikasi dan shell Anda sebagai sistem file.

Lepaskan sistem file

Setelah selesai dengan file Anda, Anda dapat melepasnya. Ini menyebabkan sistem file yang tidak terenkripsi tidak lagi tersedia. File terenkripsi di ~/.sekrit_files tidak terpengaruh. Lepas sistem file menggunakan program FUSE mounter dengan fusermount -u ~/my_files .

Cadangkan data Anda

Salah satu manfaat keren dari gocryptfs menggunakan enkripsi tingkat file adalah membuat pencadangan data terenkripsi Anda menjadi lebih mudah. File aman untuk disimpan di sistem sinkronisasi, seperti OwnCloud atau Dropbox. Penafian standar tentang tidak memodifikasi file yang sama pada saat yang sama berlaku. Namun, file dapat dicadangkan meskipun telah dipasang. Anda juga dapat menyimpan data dengan cara lain yang biasanya Anda lakukan untuk mencadangkan file. Anda tidak perlu sesuatu yang istimewa.

Saat Anda melakukan pencadangan, pastikan untuk menyertakan gocryptfs.diriv mengajukan. File ini bukan rahasia dan dapat disimpan dengan cadangan. Namun, gocryptfs.conf . Anda adalah rahasia. Saat Anda mengontrol keseluruhan rantai pencadangan, seperti dengan pita, Anda dapat mencadangkannya dengan sisa file. Namun, saat file dicadangkan ke cloud atau secara publik, Anda mungkin ingin menghilangkan file ini. Secara teori, jika seseorang mendapatkan file ini, satu-satunya hal yang melindungi file Anda adalah kekuatan kata sandi Anda. Jika Anda telah memilih kata sandi yang kuat, itu mungkin sudah cukup; Namun, Anda perlu mempertimbangkan situasi Anda dengan hati-hati. Detail selengkapnya ada di edisi hulu gocryptfs ini.

Bonus:Mode terbalik

Fitur rapi dari gocryptfs adalah fungsi mode terbalik. Dalam mode terbalik, arahkan gocryptfs ke data Anda yang tidak terenkripsi, dan itu akan membuat titik pemasangan dengan tampilan terenkripsi dari data ini. Ini berguna untuk hal-hal seperti membuat cadangan terenkripsi. Ini mudah dilakukan:

$ gocryptfs -reverse -init my_files
Choose a password for protecting your files.
Password:
Repeat:

Your master key is:

    XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX-
    XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX

If the gocryptfs.conf file becomes corrupted or you ever forget your password,
there is only one hope for recovery: The master key. Print it to a piece of
paper and store it in a drawer. This message is only printed once.
The gocryptfs-reverse filesystem has been created successfully.
You can now mount it using: gocryptfs -reverse my_files MOUNTPOINT

$ gocryptfs -reverse my_files sekrit_files
Password:
Decrypting master key
Filesystem mounted and ready.

Sekarang sekrit_files berisi tampilan terenkripsi dari data Anda yang tidak terenkripsi dari file_saya . Ini dapat dicadangkan, dibagikan, atau ditangani sesuai kebutuhan. Direktori ini hanya-baca, karena tidak ada yang berguna yang dapat Anda lakukan dengan file-file itu kecuali mencadangkannya.

File baru, .gocryptfs.reverse.conf , telah ditambahkan ke file_saya untuk memberikan tampilan terenkripsi yang stabil. File konfigurasi ini akan memastikan bahwa setiap pemasangan terbalik akan menggunakan kunci enkripsi yang sama. Dengan cara ini, Anda dapat, misalnya, hanya mencadangkan file yang diubah.

Gocryptfs adalah alat enkripsi file fleksibel yang memungkinkan Anda untuk menyimpan data Anda dengan cara terenkripsi tanpa mengubah alur kerja atau proses Anda secara signifikan. Desain telah menjalani audit keamanan, dan pengembang memiliki pengalaman dengan sistem lain, seperti encfs . Saya mendorong Anda untuk menambahkan gocryptfs ke sistem Anda hari ini dan mulai melindungi data Anda.


Linux
  1. Cara Mengganti Nama File di Linux

  2. Cara mengenkripsi satu sistem file Linux

  3. Cara Menemukan File dengan Perintah fd di Linux

  1. Cara mengenkripsi partisi dengan DM-Crypt LUKS di Linux

  2. Bagaimana menemukan semua file yang diakhiri dengan .rb dengan Linux?

  3. Bagaimana saya bisa memindahkan file dengan xargs di Linux?

  1. Cara Unzip File di Linux (dengan Contoh)

  2. Cara mengenkripsi file penyimpanan cloud dengan Rclone

  3. Bagaimana cara menyalin folder dengan file ke folder lain di Unix/Linux?