ວິທີການເຂົ້າລະຫັດຂັບລົດໂດຍໃຊ້ LUKS ໃນ Fedora Linux


ໃນບົດຂຽນນີ້, ພວກເຮົາຈະອະທິບາຍສັ້ນໆກ່ຽວກັບການເຂົ້າລະຫັດ block, Linux Unified Key Setup (LUKS), ແລະອະທິບາຍ ຄຳ ແນະ ນຳ ໃນການສ້າງອຸປະກອນ block ທີ່ຖືກເຂົ້າລະຫັດໃນ Fedora Linux.

ການເຂົ້າລະຫັດຂອງອຸປະກອນຖືກໃຊ້ເພື່ອຮັບປະກັນຂໍ້ມູນໃນອຸປະກອນບລັອກໂດຍການເຂົ້າລະຫັດແລະການຖອດລະຫັດຂໍ້ມູນ, ຜູ້ໃຊ້ຕ້ອງສະ ໜອງ passphrase ຫຼືຄີເພື່ອເຂົ້າເຖິງ. ນີ້ເຮັດໃຫ້ກົນໄກຄວາມປອດໄພພິເສດຍ້ອນວ່າມັນປົກປ້ອງເນື້ອໃນຂອງອຸປະກອນເຖິງວ່າມັນຈະຖືກກັກຕົວອອກຈາກລະບົບ.

LUKS (Linux Unified Key Setup) ແມ່ນມາດຕະຖານ ສຳ ລັບການເຂົ້າລະຫັດອຸປະກອນໃນ Linux ເຊິ່ງເຮັດວຽກໂດຍການ ກຳ ນົດຮູບແບບໃນອິນເຕີເນັດ ສຳ ລັບຂໍ້ມູນແລະນະໂຍບາຍການຄຸ້ມຄອງ passphrase/key. ມັນເກັບຮັກສາຂໍ້ມູນການຕັ້ງຄ່າທັງ ໝົດ ທີ່ ຈຳ ເປັນໃນຫົວແບ່ງປັນ (ຍັງເອີ້ນວ່າ header LUKS), ດັ່ງນັ້ນຈຶ່ງຊ່ວຍໃຫ້ທ່ານສາມາດຂົນສົ່ງຫລືຍ້າຍຂໍ້ມູນໄດ້ອຍ່າງງ່າຍດາຍ.

LUKS ໃຊ້ລະບົບ mapper ອຸປະກອນລະບົບ kernel ກັບໂມດູນ dm-crypt ເພື່ອໃຫ້ມີແຜນທີ່ໃນລະດັບຕ່ ຳ ເຊິ່ງຖືການເຂົ້າລະຫັດແລະການຖອດລະຫັດຂໍ້ມູນຂອງອຸປະກອນ. ທ່ານສາມາດໃຊ້ໂປແກຼມ cryptsetup ເພື່ອປະຕິບັດວຽກງານລະດັບຜູ້ໃຊ້ເຊັ່ນ: ການສ້າງແລະເຂົ້າເຖິງອຸປະກອນທີ່ຖືກເຂົ້າລະຫັດ.

ການກະກຽມອຸປະກອນບລັອກ

ຄຳ ແນະ ນຳ ຕໍ່ໄປນີ້ສະແດງຂັ້ນຕອນໃນການສ້າງແລະຕັ້ງຄ່າອຸປະກອນບລັອກທີ່ຖືກເຂົ້າລະຫັດຫລັງຈາກຕິດຕັ້ງ.

ຕິດຕັ້ງຊຸດ cryptsetup.

# dnf install cryptsetup-luks

ຕໍ່ໄປ, ຕື່ມຂໍ້ມູນໃສ່ອຸປະກອນດ້ວຍຂໍ້ມູນແບບສຸ່ມກ່ອນທີ່ຈະເຂົ້າລະຫັດມັນ, ເພາະວ່ານີ້ຈະຊ່ວຍເພີ່ມຄວາມເຂັ້ມແຂງຂອງການເຂົ້າລະຫັດໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

# dd if=/dev/urandom of=/dev/sdb1	           [slow with high quality random data ]
OR
# badblocks -c 10240 -s -w -t random -v /dev/sdb1  [fast with high quality random data]

ຄຳ ເຕືອນ: ຄຳ ສັ່ງຂ້າງເທິງຈະເຊັດຂໍ້ມູນທີ່ມີຢູ່ໃນອຸປະກອນອອກ.

ການຈັດຮູບແບບຂອງອຸປະກອນທີ່ຖືກເຂົ້າລະຫັດ

ຕໍ່ໄປ, ໃຊ້ເຄື່ອງມືເສັ້ນ ຄຳ ສັ່ງ cryptsetup ເພື່ອຈັດຮູບແບບອຸປະກອນດັ່ງກ່າວເປັນອຸປະກອນທີ່ຖືກເຂົ້າລະຫັດ dm-crypt/LUKS.

# cryptsetup luksFormat /dev/sdb1

ຫຼັງຈາກທີ່ໃຊ້ ຄຳ ສັ່ງແລ້ວ, ທ່ານຈະໄດ້ຮັບການກະຕຸ້ນໃຫ້ໃສ່ YES (ໃນ uppercase) ເພື່ອສະ ໜອງ passphrase ສອງຄັ້ງ ສຳ ລັບອຸປະກອນທີ່ຈະຈັດຮູບແບບເພື່ອໃຊ້, ດັ່ງທີ່ສະແດງຢູ່ໃນ ໜ້າ ຈໍຕໍ່ໄປນີ້.

ເພື່ອກວດສອບວ່າການ ດຳ ເນີນງານປະສົບຜົນ ສຳ ເລັດ, ໃຫ້ ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

# cryptsetup isLuks /dev/sdb1 && echo Success

ທ່ານສາມາດເບິ່ງບົດສະຫຼຸບຂອງຂໍ້ມູນການເຂົ້າລະຫັດ ສຳ ລັບອຸປະກອນ.

# cryptsetup luksDump /dev/sdb1

ການສ້າງແຜນທີ່ເພື່ອອະນຸຍາດໃຫ້ເຂົ້າເຖິງເນື້ອຫາຖອດລະຫັດ

ໃນພາກນີ້, ພວກເຮົາຈະ ກຳ ນົດວິທີການເຂົ້າເຖິງເນື້ອຫາທີ່ຖອດລະຫັດຂອງອຸປະກອນທີ່ຖືກເຂົ້າລະຫັດ. ພວກເຮົາຈະສ້າງແຜນທີ່ໂດຍໃຊ້ kernel device-mapper. ມັນໄດ້ຖືກແນະ ນຳ ໃຫ້ສ້າງຊື່ທີ່ມີຄວາມ ໝາຍ ສຳ ລັບການສ້າງແຜນທີ່ນີ້, ບາງສິ່ງບາງຢ່າງເຊັ່ນ: luk-uuid (ບ່ອນທີ່ <uuid> ຖືກແທນທີ່ດ້ວຍເຄື່ອງ LUKS UUID (ທີ່ມີຄຸນລັກສະນະພິເສດຂອງມະຫາວິທະຍາໄລ).

ເພື່ອໃຫ້ອຸປະກອນທີ່ເຂົ້າລະຫັດຂອງທ່ານ UUID, ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

# cryptsetup luksUUID /dev/sdb1

ຫລັງຈາກໄດ້ຮັບ UUID, ທ່ານສາມາດສ້າງຊື່ແຜນທີ່ດັ່ງທີ່ສະແດງໄວ້ (ທ່ານຈະໄດ້ຮັບການກະຕຸ້ນເຕືອນໃຫ້ໃສ່ປ້ອນຂໍ້ມູນທີ່ຖືກສ້າງຂື້ນມາກ່ອນ).

# cryptsetup luksOpen /dev/sdb1 luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c

ຖ້າ ຄຳ ສັ່ງປະສົບຜົນ ສຳ ເລັດ, ລະບົບອຸປະກອນທີ່ມີຊື່ວ່າ /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c ເຊິ່ງເປັນຕົວແທນໃຫ້ກັບອຸປະກອນທີ່ຖອດລະຫັດ.

ອຸປະກອນບລັອກທີ່ຫາກໍ່ຖືກສ້າງຂື້ນມາສາມາດອ່ານແລະຂຽນເພື່ອຢາກອຸປະກອນ block ອື່ນໆທີ່ບໍ່ໄດ້ເຂົ້າລະຫັດ ທ່ານສາມາດເບິ່ງຂໍ້ມູນບາງຢ່າງກ່ຽວກັບອຸປະກອນທີ່ເຮັດແຜນທີ່ໂດຍການເຮັດວຽກຕາມ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

# dmsetup info /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c

ການສ້າງລະບົບແຟ້ມເອກະສານໃນອຸປະກອນທີ່ມີແຜນທີ່

ຕອນນີ້ພວກເຮົາຈະເບິ່ງວິທີການສ້າງລະບົບແຟ້ມເອກະສານໃນອຸປະກອນທີ່ຖືກສ້າງແຜນທີ່, ເຊິ່ງຈະຊ່ວຍໃຫ້ທ່ານສາມາດໃຊ້ node ອຸປະກອນທີ່ຖືກສ້າງແຜນທີ່ຄືກັບອຸປະກອນບລັອກອື່ນໆ.

ເພື່ອສ້າງລະບົບແຟ້ມເອກະສານ ext4 ໃນອຸປະກອນທີ່ວາງແຜນ, ໃຫ້ເຮັດຕາມ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

# mkfs.ext4 /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c

ເພື່ອຕິດຕັ້ງລະບົບແຟ້ມເອກະສານຂ້າງເທິງ, ສ້າງຈຸດຈຸດ ສຳ ລັບມັນເຊັ່ນ: ລະຫັດ/mnt/encrypted-device ແລະຫຼັງຈາກນັ້ນຕິດຕັ້ງມັນດັ່ງຕໍ່ໄປນີ້.

# mkdir -p /mnt/encrypted-device
# mount /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c /mnt/encrypted-device/

ເພີ່ມຂໍ້ມູນການສ້າງແຜນທີ່ໃສ່ / etc / crypttab ແລະ / etc / fstab

ຕໍ່ໄປ, ພວກເຮົາ ຈຳ ເປັນຕ້ອງ ກຳ ນົດລະບົບເພື່ອ ກຳ ນົດແຜນທີ່ ສຳ ລັບອຸປະກອນພ້ອມທັງຕິດຕັ້ງໃນເວລາບູດ.

ທ່ານຄວນເພີ່ມຂໍ້ມູນແຜນທີ່ໃນເອກະສານ/etc/crypttab, ໃນຮູບແບບດັ່ງຕໍ່ໄປນີ້.

luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c  UUID=59f2b688-526d-45c7-8f0a-1ac4555d1d7c   none

ໃນຮູບແບບຂ້າງເທິງນີ້:

  • luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c - ແມ່ນຊື່ແຜນທີ່
  • UUID = 59f2b688-526d-45c7-8f0a-1ac4555d1d7c - ແມ່ນຊື່ອຸປະກອນ

ບັນທຶກເອກະສານແລະປິດມັນ.

ຕໍ່ໄປ, ຕື່ມເຂົ້າຕໍ່ໄປນີ້ໃສ່/etc/fstab ເພື່ອຕິດຕັ້ງອຸປະກອນທີ່ວາງແຜນໂດຍອັດຕະໂນມັດໃນລະບົບ boot.

/dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c  /mnt/encrypted-device  ext4 0 0

ບັນທຶກເອກະສານແລະປິດມັນ.

ຫຼັງຈາກນັ້ນ, ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້ເພື່ອອັບເດດຫົວ ໜ່ວຍ systemd ທີ່ຜະລິດຈາກໄຟລ໌ເຫຼົ່ານີ້.

# systemctl daemon-reload

ສຳ ຮອງຫົວຂໍ້ LUKS ສຳ ຮອງ

ສຸດທ້າຍນີ້, ພວກເຮົາຈະເວົ້າເຖິງວິທີການ ສຳ ຮອງ header LUKS. ນີ້ແມ່ນບາດກ້າວທີ່ ສຳ ຄັນເພື່ອຫລີກລ້ຽງການສູນເສຍຂໍ້ມູນທັງ ໝົດ ໃນອຸປະກອນບລັອກທີ່ຖືກເຂົ້າລະຫັດ, ໃນກໍລະນີທີ່ບັນດາຂະ ແໜງ ການທີ່ມີສ່ວນຫົວຂອງ LUKS ໄດ້ຮັບຄວາມເສຍຫາຍຈາກຄວາມຜິດພາດຂອງຜູ້ໃຊ້ຫລືຄວາມລົ້ມເຫຼວຂອງຮາດແວ. ການກະ ທຳ ນີ້ຊ່ວຍໃຫ້ມີການກູ້ຄືນຂໍ້ມູນ.

ເພື່ອ ສຳ ຮອງ header LUKS.

# mkdir /root/backups  
# cryptsetup luksHeaderBackup --header-backup-file luks-headers /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c 

ແລະເພື່ອຟື້ນຟູຫົວຂອງ LUKS.

# cryptsetup luksHeaderRestore --header-backup-file /root/backups/luks-headers /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c 

ຫມົດເທົ່ານີ້! ໃນບົດຂຽນນີ້, ພວກເຮົາໄດ້ອະທິບາຍວິທີການເຂົ້າລະຫັດອຸປະກອນ block ໂດຍໃຊ້ LUKS ໃນການແຈກຈ່າຍ Fedora Linux. ທ່ານມີ ຄຳ ຖາມຫຼື ຄຳ ເຫັນໃດໆກ່ຽວກັບຫົວຂໍ້ຫລື ຄຳ ແນະ ນຳ ນີ້, ໃຊ້ແບບຟອມ ຄຳ ຄິດເຫັນດ້ານລຸ່ມເພື່ອຕິດຕໍ່ຫາພວກເຮົາ.