ค้นหาเว็บไซต์

วิธีการตั้งค่าระบบไฟล์ที่เข้ารหัสและพื้นที่สลับโดยใช้เครื่องมือ 'Cryptsetup' ใน Linux - ตอนที่ 3


LFCE (ย่อมาจาก Linux Foundation Certified Engineer) ได้รับการฝึกอบรมและมีความเชี่ยวชาญในการติดตั้ง จัดการ และแก้ไขปัญหาบริการเครือข่ายในระบบ Linux และรับผิดชอบด้าน การออกแบบ การใช้งาน และการบำรุงรักษาสถาปัตยกรรมระบบอย่างต่อเนื่อง

ขอแนะนำโปรแกรมการรับรอง Linux Foundation (LFCE)

แนวคิดเบื้องหลังการเข้ารหัสคือการอนุญาตให้เฉพาะบุคคลที่เชื่อถือได้เท่านั้นที่สามารถเข้าถึงข้อมูลที่ละเอียดอ่อนของคุณได้ และเพื่อป้องกันไม่ให้ข้อมูลตกไปอยู่ในมือของผู้ไม่หวังดีในกรณีที่เครื่อง/ฮาร์ดดิสก์ของคุณสูญหายหรือถูกขโมย

กล่าวง่ายๆ ก็คือ คีย์ใช้เพื่อ "ล็อก " การเข้าถึงข้อมูลของคุณ เพื่อให้สามารถใช้งานได้เมื่อระบบทำงานและปลดล็อกโดยผู้ใช้ที่ได้รับอนุญาต นี่หมายความว่าหากบุคคลพยายามตรวจสอบเนื้อหาของดิสก์ (เสียบเข้ากับระบบของตนเองหรือโดยการบูตเครื่องด้วย LiveCD/DVD/USB) เขาจะค้นหาเฉพาะข้อมูลที่อ่านไม่ได้แทนที่จะเป็นไฟล์จริง

ในบทความนี้ เราจะพูดถึงวิธีตั้งค่าระบบไฟล์ที่เข้ารหัสด้วย dm-crypt (ย่อมาจาก Device Mapper และ Cryptographic) ซึ่งเป็นเครื่องมือเข้ารหัสระดับเคอร์เนลมาตรฐาน โปรดทราบว่าเนื่องจาก dm-crypt เป็นเครื่องมือระดับบล็อก จึงสามารถใช้เพื่อเข้ารหัสอุปกรณ์ พาร์ติชัน หรืออุปกรณ์วนซ้ำแบบเต็มเท่านั้น (จะไม่ทำงานบนไฟล์หรือไดเรกทอรีปกติ)

การเตรียมไดรฟ์/พาร์ติชัน/อุปกรณ์วนซ้ำสำหรับการเข้ารหัส

เนื่องจากเราจะล้างข้อมูลทั้งหมดที่มีอยู่ในไดรฟ์ที่เราเลือก (/dev/sdb) ก่อนอื่น เราจำเป็นต้องสำรองข้อมูลไฟล์สำคัญใดๆ ที่มีอยู่ในพาร์ติชันนั้นก่อนดำเนินการต่อไป.

ล้างข้อมูลทั้งหมดจาก /dev/sdb เราจะใช้คำสั่ง dd ที่นี่ แต่คุณสามารถทำได้ด้วยเครื่องมืออื่นๆ เช่น shred ต่อไป เราจะสร้างพาร์ติชันบนอุปกรณ์นี้ /dev/sdb1 ตามคำอธิบายในส่วนที่ 4 – สร้างพาร์ติชันและระบบไฟล์ใน Linux ของซีรีส์ LFCS

dd if=/dev/urandom of=/dev/sdb bs=4096 
การทดสอบการสนับสนุนการเข้ารหัส

ก่อนที่เราจะดำเนินการต่อไป เราต้องแน่ใจว่าเคอร์เนลของเราได้รับการคอมไพล์ด้วยการสนับสนุนการเข้ารหัส:

grep -i config_dm_crypt /boot/config-$(uname -r)

ตามที่ระบุไว้ในภาพด้านบน จำเป็นต้องโหลดโมดูลเคอร์เนล dm-crypt เพื่อตั้งค่าการเข้ารหัส

การติดตั้ง Cryptsetup

Cryptsetup เป็นอินเทอร์เฟซส่วนหน้าสำหรับการสร้าง กำหนดค่า เข้าถึง และจัดการระบบไฟล์ที่เข้ารหัสโดยใช้ dm-crypt

aptitude update && aptitude install cryptsetup 		[On Ubuntu]
yum update && yum install cryptsetup 				[On CentOS] 
zypper refresh && zypper install cryptsetup 			[On openSUSE]

การตั้งค่าพาร์ติชันที่เข้ารหัส

โหมดการทำงานเริ่มต้นสำหรับ cryptsetup คือ LUKS (Linux Unified Key Setup) ดังนั้นเราจะยึดตามนั้น เราจะเริ่มต้นด้วยการตั้งค่าพาร์ติชัน LUKS และข้อความรหัสผ่าน:

cryptsetup -y luksFormat /dev/sdb1

คำสั่งด้านบนรัน cryptsetup ด้วยพารามิเตอร์เริ่มต้น ซึ่งสามารถแสดงรายการด้วย

cryptsetup --version

หากคุณต้องการเปลี่ยนพารามิเตอร์ cipher, hash หรือ key คุณสามารถใช้ –cipher, < b>–hash และ –key-size แฟล็ก ตามลำดับ โดยค่าที่นำมาจาก /proc/crypto

ต่อไปเราต้องเปิดพาร์ติชัน LUKS (เราจะได้รับพร้อมท์ให้ใส่ข้อความรหัสผ่านที่เราป้อนไว้ก่อนหน้านี้) หากการตรวจสอบสิทธิ์สำเร็จ พาร์ติชันที่เข้ารหัสของเราจะพร้อมใช้งานภายใน /dev/mapper ด้วยชื่อที่ระบุ:

cryptsetup luksOpen /dev/sdb1 my_encrypted_partition

ตอนนี้ เราจะฟอร์แมตพาร์ติชันเป็น ext4

mkfs.ext4 /dev/mapper/my_encrypted_partition

และสร้างจุดเมานท์เพื่อเมานต์พาร์ติชั่นที่เข้ารหัส สุดท้ายนี้ เราอาจต้องการยืนยันว่าการดำเนินการเมานต์สำเร็จหรือไม่

mkdir /mnt/enc
mount /dev/mapper/my_encrypted_partition /mnt/enc
mount | grep partition

เมื่อคุณเขียนหรืออ่านจากระบบไฟล์ที่เข้ารหัสของคุณเสร็จแล้ว เพียงยกเลิกการต่อเชื่อม

umount /mnt/enc

และปิดพาร์ติชัน LUKS โดยใช้

cryptesetup luksClose my_encrypted_partition
การทดสอบการเข้ารหัส

สุดท้ายนี้ เราจะตรวจสอบว่าพาร์ติชันที่เข้ารหัสของเราปลอดภัยหรือไม่:

1. เปิดพาร์ติชัน LUKS

cryptsetup luksOpen /dev/sdb1 my_encrypted_partition

2. กรอกข้อความรหัสผ่านของคุณ

3. ติดตั้งพาร์ติชัน

mount /dev/mapper/my_encrypted_partition /mnt/enc

4. สร้างไฟล์จำลองภายในจุดเมานท์

echo “This is Part 3 of a 12-article series about the LFCE certification” > /mnt/enc/testfile.txt

5. ตรวจสอบว่าคุณสามารถเข้าถึงไฟล์ที่คุณเพิ่งสร้างขึ้นได้

cat /mnt/enc/testfile.txt

6. ถอนติดตั้งระบบไฟล์

umount /mnt/enc

7. ปิดพาร์ติชัน LUKS

cryptsetup luksClose my_encrypted_partition

8. ลองเมาต์พาร์ติชันเป็นระบบไฟล์ปกติ มันควรจะบ่งบอกถึงข้อผิดพลาด

mount /dev/sdb1 /mnt/enc

เข้ารหัส Swap Space เพื่อความปลอดภัยเพิ่มเติม

ข้อความรหัสผ่านที่คุณป้อนก่อนหน้านี้เพื่อใช้พาร์ติชันที่เข้ารหัสจะถูกจัดเก็บไว้ในหน่วยความจำ RAM ในขณะที่เปิดอยู่ หากมีใครได้กุญแจนี้มา เขาจะสามารถถอดรหัสข้อมูลได้ นี่เป็นเรื่องง่ายโดยเฉพาะในกรณีของแล็ปท็อป เนื่องจากในขณะที่ไฮเบอร์เนตเนื้อหาของ RAM จะถูกเก็บไว้ในพาร์ติชั่นสว็อป

เพื่อหลีกเลี่ยงไม่ให้ขโมยสามารถเข้าถึงสำเนาคีย์ของคุณได้ ให้เข้ารหัสพาร์ติชั่นสลับโดยทำตามขั้นตอนเหล่านี้:

1 สร้างพาร์ติชันเพื่อใช้เป็น swap ด้วยขนาดที่เหมาะสม (/dev/sdd1 ในกรณีของเรา) และเข้ารหัสตามที่อธิบายไว้ก่อนหน้านี้ ตั้งชื่อเพียง “swap ” เพื่อความสะดวก'

2.ตั้งค่าเป็น swap และเปิดใช้งาน

mkswap /dev/mapper/swap
swapon /dev/mapper/swap

3. จากนั้น เปลี่ยนรายการที่เกี่ยวข้องใน /etc/fstab

/dev/mapper/swap none        	swap	sw          	0   	0

4. สุดท้าย แก้ไข /etc/crypttab และรีบูต

swap               /dev/sdd1         /dev/urandom swap

เมื่อระบบบูทเสร็จแล้ว คุณสามารถตรวจสอบสถานะของพื้นที่สว็อปได้:

cryptsetup status swap

สรุป

ในบทความนี้ เราได้สำรวจวิธีการเข้ารหัสพาร์ติชันและพื้นที่สลับ ด้วยการตั้งค่านี้ ข้อมูลของคุณควรปลอดภัยมาก รู้สึกอิสระที่จะทดลองและอย่าลังเลที่จะติดต่อเราหากคุณมีคำถามหรือความคิดเห็น เพียงใช้แบบฟอร์มด้านล่าง เรายินดีเป็นอย่างยิ่งที่ได้รับการติดต่อจากคุณ!