LUKS: การเข้ารหัสข้อมูลฮาร์ดดิสก์ Linux พร้อมรองรับ NTFS ใน Linux
ตัวย่อ LUKS ย่อมาจาก Linux Unified Key Setup ซึ่งเป็นวิธีการเข้ารหัสดิสก์ที่ใช้กันอย่างแพร่หลายโดย Linux Kernel และนำไปใช้กับแพ็คเกจ cryptsetup
บรรทัดคำสั่ง cryptsetup เข้ารหัสดิสก์โวลุ่มได้ทันทีโดยใช้คีย์การเข้ารหัสแบบสมมาตรที่ได้รับจากข้อความรหัสผ่านที่ให้มา ซึ่งจะได้รับทุกครั้งที่มีดิสก์โวลุ่ม พาร์ติชัน และทั้งดิสก์ (แม้แต่แท่ง USB) ติดตั้งอยู่ ลำดับชั้นของระบบไฟล์และใช้การเข้ารหัส aes-cbc-essiv:sha256
เนื่องจาก LUKS สามารถเข้ารหัสอุปกรณ์บล็อกทั้งหมดได้ (ฮาร์ดดิสก์, แท่ง USB, แฟลชดิสก์, พาร์ติชัน, กลุ่มวอลุ่ม ฯลฯ) บนระบบ Linux ขอแนะนำเป็นส่วนใหญ่สำหรับการปกป้องสื่อจัดเก็บข้อมูลแบบถอดได้ ฮาร์ดดิสก์ของแล็ปท็อป หรือไฟล์สลับ Linux และไม่แนะนำสำหรับไฟล์ การเข้ารหัสระดับ
NTFS (ระบบไฟล์เทคโนโลยีใหม่) เป็นระบบไฟล์ที่เป็นกรรมสิทธิ์ซึ่งพัฒนาโดย Microsoft
Ubuntu 14.04 ให้การสนับสนุนเต็มรูปแบบสำหรับการเข้ารหัส LUKS และรองรับ NTFS แบบเนทิฟสำหรับ Windows ด้วยความช่วยเหลือของแพ็คเกจ ntfs-3g
เพื่อพิสูจน์ประเด็นของฉันในบทช่วยสอนนี้ ฉันได้เพิ่มฮาร์ดดิสก์ใหม่ (ตัวที่ 4) บนกล่อง Ubuntu 14.04 (การอ้างอิงระบบไปยัง HDD ที่เพิ่มใหม่คือ /dev/sdd ) ซึ่งจะแบ่งออกเป็นสองพาร์ติชั่น
- พาร์ติชันหนึ่ง (/dev/sdd1 -primary) ใช้สำหรับการเข้ารหัส LUKS
- พาร์ติชันที่สอง (/dev/sdd5 – ขยาย) ฟอร์แมต NTFS สำหรับการเข้าถึงข้อมูลบนทั้งระบบที่ใช้ Linux และ Windows
นอกจากนี้พาร์ติชันจะถูกติดตั้งโดยอัตโนมัติบน Ubuntu 14.04 หลังจากรีบูต
ขั้นตอนที่ 1: สร้างพาร์ติชันดิสก์
1. หลังจากที่เพิ่มฮาร์ดดิสก์ของคุณลงในเครื่องของคุณแล้ว ให้ใช้คำสั่ง ls เพื่อแสดงรายการ /dev/devices ทั้งหมด (ดิสก์ที่สี่คือ /dev/sdd< /ข>)
ls /dev/sd*
2. ถัดไปตรวจสอบ HDD ที่เพิ่งเพิ่มด้วยคำสั่ง fdisk
sudo fdisk –l /dev/sdd
เนื่องจากไม่มีการเขียนระบบไฟล์เลย ดิสก์จึงยังไม่มีตารางพาร์ติชั่นที่ถูกต้อง
3. ขั้นตอนต่อไปจะแบ่งส่วนฮาร์ดดิสก์ออกเป็น 2 พาร์ติชันโดยใช้ยูทิลิตี้ดิสก์ cfdisk
sudo cfdisk /dev/sdd
4. หน้าจอถัดไปจะเปิดโหมดโต้ตอบ cfdisk เลือก พื้นที่ว่าง ฮาร์ดดิสก์ของคุณ และไปที่ตัวเลือก ใหม่ โดยใช้ลูกศรปุ่มซ้าย/ขวา
5. เลือกประเภทพาร์ติชันของคุณเป็น หลัก และกด Enter
6. เขียนขนาดพาร์ติชั่นที่คุณต้องการเป็น MB
7. สร้างพาร์ติชันนี้ที่ จุดเริ่มต้น ของพื้นที่ว่างบนฮาร์ดดิสก์
8. จากนั้นไปที่ตัวเลือก Type ของพาร์ติชัน แล้วกด Enter
9. ข้อความถัดไปแสดงรายการระบบไฟล์ทุกประเภทและรหัสตัวเลข ( หมายเลขฐานสิบหก) พาร์ติชันนี้จะมีการเข้ารหัส Linux LUKS ดังนั้นให้เลือกรหัส 83 แล้วกด Enter อีกครั้งเพื่อสร้างพาร์ติชัน
10. พาร์ติชั่นแรกถูกสร้างขึ้น และพรอมต์ยูทิลิตี cfdisk กลับไปที่จุดเริ่มต้น หากต้องการสร้างพาร์ติชันที่สองที่ใช้เป็น NTFS ให้เลือก พื้นที่ว่าง ที่เหลือ ไปที่ตัวเลือก ใหม่ แล้วกดปุ่ม Enter .
11. คราวนี้พาร์ติชั่นจะเป็น Extensed Logical ดังนั้น ไปที่ตัวเลือก ตรรกะ แล้วกด Enter อีกครั้ง
12. ป้อนขนาดพาร์ติชันของคุณอีกครั้ง สำหรับการใช้พื้นที่ว่างที่เหลือเป็นพาร์ติชันใหม่ ให้คงค่าเริ่มต้นไว้ที่ขนาด และกด Enter
13. เลือกรหัสประเภทพาร์ติชันของคุณอีกครั้ง สำหรับระบบไฟล์ NTFS ให้เลือกรหัสโวลุ่ม 86
14. หลังจากตรวจสอบและตรวจสอบพาร์ติชันแล้ว ให้เลือก เขียน ให้ตอบ ใช่ ในคำถามโต้ตอบถัดไป จากนั้น ออก เพื่อออกจาก < ยูทิลิตี้ b>cfdisk
ยินดีด้วย ! พาร์ติชันของคุณถูกสร้างขึ้นเรียบร้อยแล้ว และขณะนี้พร้อมที่จะฟอร์แมตและใช้งานแล้ว
15. หากต้องการตรวจสอบดิสก์ ตารางพาร์ติชัน อีกครั้ง ให้ออกคำสั่ง fdisk อีกครั้ง ซึ่งจะแสดงข้อมูลตารางพาร์ติชันโดยละเอียด
sudo fdisk –l /dev/sdd
ขั้นตอนที่ 2: สร้างระบบไฟล์พาร์ติชัน
ระบบไฟล์ NTFS
16. หากต้องการสร้างระบบไฟล์ NTFS บนพาร์ติชันที่สอง ให้รันคำสั่ง mkfs
sudo mkfs.ntfs /dev/sdd5
17. เพื่อให้พาร์ติชันใช้งานได้ จะต้องติดตั้งบนระบบไฟล์ที่จุดเมานท์ ติดตั้งพาร์ติชันที่สองบนฮาร์ดดิสก์ตัวที่สี่ไปยังจุดเมานต์ /opt โดยใช้คำสั่ง mount
sudo mount /dev/sdd5 /opt
18. ต่อไป ตรวจสอบว่ามีพาร์ติชั่นว่างและอยู่ในไฟล์ /etc/mtab โดยใช้คำสั่ง cat หรือไม่
cat /etc/mtab
19. หากต้องการยกเลิกการต่อเชื่อมพาร์ติชัน ให้ใช้คำสั่งต่อไปนี้
sudo umount /opt
EXT4 ลุคส์
20. ตรวจสอบให้แน่ใจว่าได้ติดตั้งแพ็คเกจ cryptsetup บนระบบของคุณแล้ว
sudo apt-get install cryptsetup [On Debian Based Systems]
yum install cryptsetup [On RedHat Based Systems]
21. ถึงเวลาฟอร์แมตพาร์ติชันแรกบนฮาร์ดดิสก์ตัวที่สี่ด้วยระบบไฟล์ ext4 โดยใช้คำสั่งต่อไปนี้
sudo luksformat -t ext4 /dev/sdd1
ตอบด้วยตัวพิมพ์ใหญ่ ใช่ ในคำถาม “คุณแน่ใจหรือไม่” และป้อนข้อความรหัสผ่านที่คุณต้องการสามครั้ง
หมายเหตุ: การสร้างระบบไฟล์อาจใช้เวลาสักครู่ ทั้งนี้ขึ้นอยู่กับความเร็ว ขนาด และ HDD ของพาร์ติชันของคุณ
22. คุณสามารถตรวจสอบสถานะอุปกรณ์พาร์ติชั่นได้ด้วย
sudo cryptsetup luksDump /dev/sdd1
23. LUKS รองรับการเพิ่มรหัสผ่านสูงสุด 8 หากต้องการเพิ่ม รหัสผ่าน ให้ใช้คำสั่งต่อไปนี้
sudo cryptsetup luksAddKey /dev/sdd1
หากต้องการลบการใช้รหัสผ่าน
sudo cryptsetup luksRemoveKey /dev/sdd1
24. เพื่อให้พาร์ติชัน เข้ารหัส นี้ใช้งานได้ จะต้องมีรายการชื่อ (เริ่มต้น ) ไปยังไดเร็กทอรี /dev/mapper ด้วยความช่วยเหลือของ แพ็คเกจ cryptsetup
การตั้งค่านี้ต้องการไวยากรณ์บรรทัดคำสั่งต่อไปนี้:
sudo cryptsetup luksOpen /dev/LUKS_partiton device_name
โดยที่ “device_name” สามารถเป็นชื่อที่สื่อความหมายได้ตามที่คุณต้องการ! ( ฉันตั้งชื่อมันว่า crypted_volume) คำสั่งจริงจะมีลักษณะดังที่แสดงด้านล่าง
sudo cryptsetup luksOpen /dev/sdd1 crypted_volume
25. จากนั้นตรวจสอบว่าอุปกรณ์ของคุณอยู่ในรายการ /dev/mapper ไดเรกทอรี ลิงก์สัญลักษณ์ และสถานะอุปกรณ์หรือไม่
ls /dev/mapper
ls –all /dev/mapper/encrypt_volume
sudo cryptsetup –v status encrypt_volume
26. ตอนนี้เพื่อให้อุปกรณ์พาร์ติชันพร้อมใช้งานอย่างกว้างขวาง ให้ติดตั้งบนระบบของคุณภายใต้จุดเมานท์โดยใช้คำสั่ง mount
sudo mount /dev/mapper/crypted_volume /mnt
ดังที่เห็นได้ว่าพาร์ติชันถูกเมาท์และเข้าถึงได้เพื่อเขียนข้อมูล
27. หากต้องการทำให้ไม่สามารถใช้งานได้ เพียงถอนการเชื่อมต่อออกจากระบบของคุณและปิดอุปกรณ์
sudo umount /mnt
sudo cryptsetup luksClose crypted_volume
ขั้นตอนที่ 3: เมานต์พาร์ติชันโดยอัตโนมัติ
หากคุณใช้ฮาร์ดดิสก์แบบคงที่ และต้องการให้ทั้งสองพาร์ติชันติดตั้งระบบโดยอัตโนมัติหลังจากรีบูต คุณต้องปฏิบัติตามสองขั้นตอนนี้
28. ขั้นแรกให้แก้ไขไฟล์ /etc/crypttab และเพิ่มข้อมูลต่อไปนี้
sudo nano /etc/crypttab
- ชื่อเป้าหมาย: ชื่อที่สื่อความหมายสำหรับอุปกรณ์ของคุณ ( ดูจุดด้านบน 22 บน EXT4 LUKS)
- ซอร์สไดรฟ์: พาร์ติชันฮาร์ดดิสก์ที่ฟอร์แมตสำหรับ LUKS (ดูจุดด้านบน 21 บน EXT4 LUKS)
- ไฟล์คีย์: เลือกไม่มีเลย
- ตัวเลือก: ระบุ luks
บรรทัดสุดท้ายจะมีลักษณะดังที่แสดงด้านล่าง
encrypt_volume /dev/sdd1 none luks
29. จากนั้นแก้ไข /etc/fstab และระบุชื่ออุปกรณ์ จุดเชื่อมต่อ ประเภทระบบไฟล์ และตัวเลือกอื่นๆ
sudo nano /etc/fstab
ในบรรทัดสุดท้ายให้ใช้ไวยากรณ์ต่อไปนี้
/dev/mapper/device_name (or UUID) /mount_point filesystem_type options dump pass
และเพิ่มเนื้อหาเฉพาะของคุณ
/dev/mapper/encrypt_volume /mnt ext4 defaults,errors=remount-ro 0 0
30. หากต้องการรับอุปกรณ์ UUID ให้ใช้คำสั่งต่อไปนี้
sudo blkid
31. หากต้องการเพิ่มประเภทพาร์ติชัน NTFS ที่สร้างขึ้นก่อนหน้านี้ ให้ใช้ไวยากรณ์เดียวกันกับด้านบนในบรรทัดใหม่ใน fstab ( ที่นี่ ไฟล์ Linux ผนวกการเปลี่ยนเส้นทาง ถูกนำมาใช้ ).
sudo su -
echo "/dev/sdd5 /opt ntfs defaults 0 0" >> /etc/fstab
32. หากต้องการตรวจสอบการเปลี่ยนแปลง รีบูต เครื่องของคุณ ให้กด Enter หลังจากข้อความบูต “เริ่มกำหนดค่าอุปกรณ์เครือข่าย” แล้วพิมพ์ รหัสผ่านของอุปกรณ์ของคุณ
ดังที่คุณเห็นว่า พาร์ติชันดิสก์ทั้งสองถูกเมาท์โดยอัตโนมัติในลำดับชั้นของระบบไฟล์ Ubuntu ตามคำแนะนำ อย่าใช้โวลุ่มที่เข้ารหัสโดยอัตโนมัติจากไฟล์ fstab บนเซิร์ฟเวอร์ระยะไกลทางกายภาพ หากคุณไม่สามารถเข้าถึงลำดับการรีบูตเพื่อระบุรหัสผ่านโวลุ่มที่เข้ารหัสของคุณ
การตั้งค่าเดียวกันนี้สามารถใช้ได้กับสื่อแบบถอดได้ทุกประเภท เช่น แท่ง USB หน่วยความจำแฟลช ฮาร์ดดิสก์ภายนอก ฯลฯ เพื่อปกป้องข้อมูลสำคัญ ความลับ หรือข้อมูลที่ละเอียดอ่อนในกรณีที่มีการดักฟังหรือขโมย