Walaupun PostgreSQL tidak menawarkan pilihan penyulitan terbina dalam, anda boleh menyediakan penyulitan data semasa rehat menggunakan kaedah penyulitan pihak ketiga. Tutorial hari ini memberi tumpuan kepada menggunakan kaedah Penyulitan Data Telus (TDE) untuk mendayakan penyulitan peringkat sistem fail.
Bagaimana untuk Menetapkan Penyulitan Data semasa Rehat dalam PostgreSQL
Apabila menetapkan penyulitan data dalam keadaan rehat dalam PostgreSQL, matlamatnya adalah untuk menjadikan data tidak boleh dibaca pada sistem fail dengan memerlukan kunci penyahsulitan. Dengan cara itu, akses yang tidak dibenarkan dihapuskan.
Apabila PostgreSQL berjalan pada pelayan anda, anda boleh menyediakan penyulitan peringkat sistem fail menggunakan alat pihak ketiga seperti Linux Unified Key Setup (LUKS). Anda boleh mencari penyelesaian yang sesuai untuk sistem anda. Di sini, kami bekerja dengan Ubuntu dan menyediakan penyulitan data menggunakan langkah berikut.
Langkah 1: Pasang Alat Penyulitan Sistem Fail
Sebaik sahaja anda memilih kaedah penyulitan, anda mesti memasang alat yang diperlukan. Kami memilih kaedah penyulitan peringkat sistem fail dan memasang LUKS. Untuk memasang LUKS, pasang cryptsetup seperti berikut:
sudo apt-get install cryptsetup
Tekan 'y' untuk meneruskan pemasangan dan memastikan semuanya dipasang seperti yang diharapkan.
Langkah 2: Sediakan Bekas Disulitkan
Memandangkan kami menyediakan penyulitan peringkat sistem fail, kami mesti mencipta direktori yang disulitkan pada cakera kami yang mengandungi data PostgreSQL. Semak peranti yang tersedia pada sistem pengendalian anda dengan arahan berikut:
sudo fdisk -l
Seterusnya, pilih peranti yang sesuai dan jalankan arahan berikut. Di sini, kami menggunakan /dev/sdb peranti. Anda akan digesa untuk mengesahkan tindakan dengan menaip 'YA' dan kemudian masukkan frasa laluan.
Anda kemudian mesti menyulitkannya menggunakan LUKS dengan menjalankan arahan berikut:
Langkah 3: Formatkan Bekas
Untuk bekas yang dibuat, kita mesti memformatkannya. Kami menggunakan pilihan 'mkfs.ext4' dengan menjalankan kod berikut:
sudo mkfs.ext4 / dev / pemeta / postgres_encrypted
Langkah 4: Pasangkan Bekas
Seterusnya, mari lekapkan bekas yang disulitkan. Mulakan dengan mencipta direktori dalam /mnt/ seperti berikut:
sudo mkdir / mnt / postgresSetelah direktori dibuat, teruskan dan lekapkan bekas yang disulitkan menggunakan arahan 'mount' dan tentukan laluan.
sudo lekapkan / dev / pemeta / postgres_encrypted / mnt / postgres /Langkah 5: Alihkan Data PostgreSQL
Setakat ini, kami mencipta bekas yang disulitkan untuk menyimpan data PostgreSQL kami, tetapi kami masih belum mengalihkan data tersebut. Sebelum memindahkan data, kita mesti menghentikan perkhidmatan PostgreSQL.
sudo systemctl hentikan postgresqlUntuk mengalihkan data PostgreSQL, jalankan arahan 'salin' berikut dan pastikan anda menyalinnya ke direktori yang kami buat sebelum ini:
sudo rsync -daripada / adalah / lib / postgresql / mnt / postgresSeterusnya, sandarkan data PostgreSQL asal dengan mengalihkannya ke lokasi sandaran.
sudo mv / adalah / lib / postgresql / adalah / lib / postgresql_backup
Anda kemudiannya perlu mencipta pautan simbolik untuk direktori untuk akses pantas.
itu sahaja. Kami berjaya menyalin dan mengalihkan data PostgreSQL ke bekas disulitkan peringkat sistem fail kami untuk memastikan kami melindungi data dalam keadaan rehat.
Langkah 6: Edit Fail Konfig PostgreSQL
Direktori_data dalam fail konfigurasi mencerminkan lokasi data PostgreSQL yang berharga. Walau bagaimanapun, kami mesti mengeditnya agar sepadan dengan lokasi data PostgreSQL dalam bekas yang disulitkan yang kami buat. Jadi, buka fail konfigurasi PostgreSQL menggunakan editor teks. Cari bahagian data_directory. Ia kelihatan seperti yang ditunjukkan dalam berikut sebelum kami mengeditnya. Laluan mungkin berbeza bergantung pada versi PostgreSQL yang dipasang pada sistem anda.
Tukar laluan untuk menghala ke bekas yang disulitkan yang kami buat dalam langkah 4. Dalam kes kami, laluan baharu adalah seperti berikut:
Langkah 7: Simpan, Keluar dan Mulakan Semula
Simpan dan keluar dari fail konfigurasi PostgreSQL. Seterusnya, mulakan atau mulakan semula PostgreSQL. Anda berjaya menyediakan penyulitan data dalam keadaan rehat dalam PostgreSQL.
Itu sahaja! Anda boleh terus menggunakan PostgreSQL dengan selamat dan menikmati penyulitan peringkat sistem fail baharu.
Kesimpulan
Menyediakan penyulitan data dalam keadaan rehat dalam PostgreSQL melibatkan penentuan kaedah penyulitan yang hendak digunakan dan kemudian menyediakannya. Kami memilih penyulitan TDE menggunakan LUKS untuk menyediakan penyulitan peringkat sistem fail. Selain itu, kami memperincikan setiap langkah yang perlu diikuti untuk menyediakannya. Itu sahaja! Cubalah dan ikuti langkah yang disediakan.