ฉันจะเริ่มต้นการเข้ารหัสเฉพาะพาร์ติชันรูทได้อย่างไร


13

ฉันมี 3 พาร์ติชั่น: EFI ( /boot/efi), boot ( /boot) และ root ( /) ฉันต้องการที่จะเข้ารหัสเพียง /ฉันสามารถทำได้ด้วยตนเองผ่านทางตัวติดตั้ง แต่ฉันต้องการที่จะคิดล่วงหน้า

ฉันจะกำหนดมันได้อย่างไร สูตรอาหารของฉัน (ไม่เข้ารหัส) มีลักษณะดังนี้ มันเป็นข้อผิดพลาดของคำแนะนำสำหรับพาร์ติชันระบบ EFI ที่ฉันพบ (ไม่พบคำแนะนำที่ชัดเจน)

boot-root ::
  100 100 100 fat32
    $primary
    $iflabel{ gpt }
    $reusemethod( }
    use_filesystem{ } filesystem{ vfat }
    method{ efi } format{ }
    mountpoint{ /boot/efi }
  .
  300 300 300 ext4
    use_filesystem{ } filesystem{ ext4 }
    method{ format } format{ }
    mountpoint{ /boot }
  .
  100% 3000 100% ext4
    use_filesystem{ } filesystem{ ext4 }
    method{ format } format{ }
    mountpoint{ / }
  .

ฉันจะทำอย่างไรให้sda3เป็นฟิสิคัลพาร์ติชันสำหรับการเข้ารหัส LUKS จากนั้นให้ระบบไฟล์อยู่ด้านบน

UPDATE:

ฉันค้นพบว่าฉันสามารถตั้งค่าพาร์ติชันเป็น crypto ได้ด้านล่าง แต่ยังมีปัญหา 3 ประการ:

  1. ฉันยังต้องสร้างและเปิดใช้งานโวลุ่มที่เข้ารหัสบนพาร์ติชันที่เลือก
  2. ฉันยังต้องตั้งค่าระบบไฟล์ ext4 ที่ถูกต้องในโวลุ่มที่เข้ารหัสหลังจากสร้างและเปิดใช้งานแล้ว
  3. สูตรไม่ได้เลือกประเภทการเข้ารหัสdm-cryptที่จำเป็นสำหรับการสร้างและเปิดใช้งานโวลุ่มที่เข้ารหัส

ยังคงดิ้นรนอย่างมาก

boot-root ::
  100 100 100 fat32
    $primary
    $iflabel{ gpt }
    $reusemethod( }
    use_filesystem{ } filesystem{ vfat }
    method{ efi } format{ }
    mountpoint{ /boot/efi }
  .
  300 300 300 ext4
    use_filesystem{ } filesystem{ ext4 }
    method{ format } format{ }
    mountpoint{ /boot }
  .
  100% 3000 100% ext4
    method{ crypto } format{ }
  .

FYI ป้ายชอบsda, sdb, sdcฯลฯ ไม่เสมอตัวอักษรเดียวกัน (A, B, C) ระหว่างรองเท้า (เหมืองสลับทุกบูต)
Xen2050

2
@ Xen2050 ขวาคุณจะอยู่UUIDหรือPARTUUIDหรือLABELหรือPARTLABELมีมากดีกว่า ในกรณีของฉันฉันกำลังบูตรูปภาพเพื่อฟอร์แมตดังนั้นจึงมีไดรฟ์เพียงตัวเดียวไม่ว่าด้วยวิธีใดฉันจะตั้งค่าให้ crypt พาร์ติชันเดียวได้อย่างไร ฉันสามารถทำได้แบบโต้ตอบ แต่ฉันต้องการมันไว้ล่วงหน้า
deitch

อืมอาจจะมีที่ไหนซักแห่ง แต่มีคำถามมากกว่านี้ จะโพสต์อื่น ๆ q
deitch

@deitch - นี่เป็นการกำหนดค่าพาร์ติชันเซิร์ฟเวอร์หรือไคลเอนต์หรือเป็นเพียงตัวอย่างพาร์ติชันของเดสก์ทอป 3 พาร์ติชั่นเหล่านี้มีน้อยเกินไปสำหรับความตั้งใจของคุณ - ไม่มี / swap และ / home - ดังนั้นคุณต้องตั้งค่าส่วนขยายของ harddisk ที่มีโลจิคัลพาร์ติชัน - พาร์ติชันปกติอนุญาตเพียง 4 พาร์ติชันทั้งหมด พาร์ทิชันสูงสุด 63 เท่าที่สูงสุด (และ GPT อนุญาตได้มากกว่านี้)! - unix.stackexchange.com/questions/33555/ … - เกี่ยวกับพาร์ทิชันหลักและทาส
dschinn1001

@ dschinn1001 จริงๆแล้วมันเป็นแม่แบบสำหรับเซิร์ฟเวอร์ที่ปลอดภัย ระบบปฏิบัติการหลักอยู่บนไดรฟ์แบบถอดได้ ข้อมูลผู้ใช้และการสลับอยู่บนไดรฟ์ภายในซึ่งเซอร์วิส systemd ค้นหาและเมานท์อย่างเหมาะสม แต่ไม่สนใจว่า .... ฉันจะตั้งค่ารูทให้เข้ารหัสโดยไม่ใช้ LVM ได้อย่างไร
deitch

คำตอบ:


1

ในตอนแรกเปิดรูทเทอร์มินัล:

sudo -i

จากนั้นกรอกพาร์ติชันซึ่งควรเข้ารหัสด้วยข้อมูลแบบสุ่มโดยใช้คำสั่งเช่นนี้:

openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt < /dev/zero > /dev/sdxy

คุณต้องแทนที่sdxyด้วยพาร์ติชันซึ่งจะถูกเข้ารหัส จากนั้นพิมพ์

cryptsetup luksFormat --cipher twofish-xts-plain64 --key-size 512 --hash sha512 --iter-time 2000 /dev/sdxy

เพื่อเข้ารหัสพาร์ติชัน sdxyการเข้ารหัสพาร์ทิชันเปิดวอลลุ่มและตั้งชื่อroot:

cryptsetup luksOpen /dev/sdxy root

ใช้คำสั่งนี้เพื่อสร้างระบบไฟล์ ext4 ภายใน:

mkfs.ext4 /dev/mapper/root

ถัดไปคุณสามารถเริ่มโปรแกรมติดตั้ง เลือก "อย่างอื่น" เมื่อถูกถามในสิ่งที่คุณต้องการจะทำ จากนั้นเลือกจุดเชื่อมต่อสำหรับพาร์ติชันที่ไม่ได้เข้ารหัสของคุณทั้งหมด สำหรับrootพาร์ติชันของคุณเลือก/dev/mapper/rootคลิก "เปลี่ยน" จากนั้นเลือกext4ประเภทระบบไฟล์และตั้งค่าจุดเชื่อมต่อ/เป็น จากนั้นคลิก "ติดตั้งตอนนี้" และติดตั้ง Ubuntu ตามปกติ

เมื่อติดตั้งเสร็จแล้วให้คลิก "ทำการทดสอบต่อ" เปิดเทอร์มินัลแล้วพิมพ์:

sudo -i
cd /mnt
mkdir root
mount /dev/mapper/root root
mount /dev/sdyz root/boot

sdyzควรถูกแทนที่ด้วยbootพาร์ติชันของคุณ ถัดไปพิมพ์:

chroot root
mount -t proc proc /proc
mount -t sysfs sys /sys
nano /etc/crypttab

เปิด terminal sudo blkidที่สองและประเภท ค้นหา UUID สำหรับroot(ที่ระบุไว้crypto_luksในตอนท้าย) และวางลงใน/etc/crypttabและวางลง จากนั้นไฟล์/etc/crypttabควรมีลักษณะดังนี้:

root UUID=d68911dd-172a-4608-86d4-084eb72f409c none luks

ปิดไฟล์ด้วยCtrl+ x,yEnterและ พิมพ์nano /etc/fstabเทอร์มินัลและตรวจสอบว่าทุกอย่างดูถูกต้อง (เช่น UUIDs)

ในที่สุดออกจากสภาพแวดล้อม chroot และประเภท:

cryptsetup luksHeaderBackup /dev/sdxy --header-backup-file /root/root.img

สิ่งนี้ทำให้รูปภาพของส่วนหัวของพาร์ติชันที่เข้ารหัสไว้ในโฟลเดอร์ /rootroot.imgและชื่อมัน จากนั้นย้ายภาพไปยังไดรฟ์ภายนอก (ในกรณีที่ลืมรหัสผ่าน) ตอนนี้คุณสามารถรีบูทเป็น Ubuntu ที่เพิ่งติดตั้งใหม่

ที่มา: http://thesimplecomputer.info/full-disk-encryption-with-ubuntu


ยินดีต้อนรับสู่ถาม Ubuntu! ในขณะที่สิ่งนี้อาจตอบคำถามในทางทฤษฎีมันก็ควรที่จะรวมส่วนสำคัญของคำตอบที่นี่และให้ลิงค์สำหรับการอ้างอิง
Karl Richter

@Earl คุณแนะนำให้สร้างพาร์ติชันไว้ล่วงหน้าในสภาพแวดล้อม chroot (หรือ containerized) จากนั้นติดเข้าไปในตัวติดตั้ง?
deitch

ฉันจะทำงานกับหัวหน้างานได้อย่างไร
deitch

ฉันไม่รู้ แต่อย่างน้อยก็เป็นวิธีการแก้ปัญหาเพื่อrootแบ่งพาร์ติชันที่เข้ารหัสโดยLUKS โดย LVM
เอิร์ลนิค
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.