พาร์ติชั่นระบบ EFI สามารถถูกโจมตีได้หรือไม่?


12

ฉันกำลังตั้งค่า HTPC ด้วย Ubuntu 64 บิตโดยใช้ UEFI และ RAID พร้อมดิสก์ GPT

เป็นไปได้หรือไม่ที่พาร์ติชันระบบ EFI (ประเภทพาร์ติชั่น 0xEF00) จะเป็นส่วนหนึ่งของอาเรย์ RAID1 ที่ใช้อยู่mdadm? ฉันหวังว่า metadata เวอร์ชัน 1.0 (ที่ส่วนท้ายของดิสก์) จะอนุญาตสิ่งนี้

นอกจากนี้ควรตั้งค่า "อุปกรณ์สำหรับการติดตั้งบูตโหลดเดอร์ด้วย" หรือใช้กับดิสก์ MBR เท่านั้น

คำตอบ:


6

อย่างที่คุณพูด mdadm metadata ver 1.0 ทำงานได้

ฉันจัดการเพื่อให้การกำหนดค่าการทำงานที่ GA-C1037UN-EU EFI ของ Gigabyte สามารถบู๊ตได้ การกำหนดค่านี้ถูก จำกัด ไว้ที่ RAID1 สำหรับพาร์ติชัน ESP แต่อนุญาตให้ใช้การกำหนดค่า RAID ใด ๆ สำหรับพาร์ติชันที่เหลือ ให้แสดง RAID1 บนสองไดรฟ์เป็นตัวอย่าง ทุกดิสก์ถูกแบ่งพาร์ติชันด้วยวิธีถัดไป:

sda (gpt)
--sda1 (512MB)
  mdadm array member with 1.0 metadata format
  boot and esp flags set
--sda2 (rest of disk)
  mdadm array member with 1.2 metadata format

RAID ตัวแรกสร้างขึ้นบนพาร์ติชัน sdX1 ในแต่ละไดร์ฟและใช้สำหรับพาร์ติชัน ESP ความจุที่เหลือของไดร์ฟสามารถใช้งานได้ไม่ว่าในรูปแบบใดเช่นใน RAID1 เช่นกัน ให้ RAID แรกจะเป็นและครั้งที่สอง /dev/md/efi ไม่ควรใช้ป้ายกำกับการแบ่งพาร์ติชันใด ๆ เช่น MBR หรือ GPT สามารถแบ่งพาร์ติชันในภายหลังหรือใช้เป็น LVM pv ตัวอย่างเช่น:/dev/md/data/dev/md/efi/dev/md/data

/dev/md/efi
--fat32 fs, mounting to /boot/efi/
/dev/md/data
--/dev/md/data1
  linux swap partition
--/dev/md/data2
  ext4 root partition
  ... (other needed partitions)

ข้อมูลเมตา 1.0 มีคุณสมบัติง่าย ๆ อย่างหนึ่ง: มันเป็น superblock ที่เก็บไว้ที่ส่วนท้ายของพาร์ติชัน RAID ดังนั้น BIOS สามารถตรวจจับพาร์ติชัน FAT32 ธรรมดาที่มีการตั้งค่าสถานะ ESP และ BOOT ดังนั้นจึงไม่มีอะไรป้องกัน BIOS จากการค้นหา EFI / BOOT / BOOTX64.EFI บนพาร์ติชั่นนี้และทำการบูทจากมัน

ข้อ จำกัด หลักของวิธีนี้ก็คือว่าด้วงควรจะกำหนดค่าการติดตั้งไฟล์ที่สามารถบูต EFI ในเส้นทางสำหรับสื่อที่ถอดออกได้เพราะefibootmgrมีการพยายามที่จะทำให้การบูต BIOS โดยตรงจากอุปกรณ์ไม่ได้md sdXสิ่งนี้สามารถทำได้โดยใช้grub-installกับ--removableธง

UPD มีปัญหาความเข้ากันได้ พยายามกำหนดค่าแบบเดียวกันบนเมนบอร์ด ASUS P8Z68-V PRO / GEN3 ระบบจะไม่บู๊ตไม่ว่าฉันจะทำอะไร


ฉันยังสงสัยว่าจะเกิดอะไรขึ้นถ้า BIOS ของคุณเขียนไปยังพาร์ทิชันหนึ่ง
sourcejedi

สิ่งที่เกี่ยวกับmdadm 0.90ซึ่งควรสนับสนุนด้วงเก่า ( อ่าน )? อาจจะใช้งานได้กับ ASUS P8Z68
hrvoj3e

ฉันทดสอบและเป็นไปได้เฉพาะกับ MD metadata รุ่น 1.0 เนื่องจากพาร์ติชัน ESP ยังคงอยู่ใน GPT และข้อมูลเมตาจะถูกเก็บไว้ด้านหลัง ด้วย metadata เวอร์ชั่น 2.0 พาร์ติชั่นนั้นรวมอยู่ใน MD superblock ดังนั้นเฟิร์มแวร์จึงไม่สามารถตรวจจับได้
Kouros

5

หลังจากการทดลองมากมายฉันคิดว่านี่เป็นคำตอบ:

พาร์ติชันระบบ EFI (มักจะติดตั้งที่/boot/efi/) /boot/grub/ไม่ได้ถือแฟ้มจำนวนมากเช่นด้วงเว้นแต่จะถูกเก็บไว้โดยตรงมีแทน เนื้อหามักจะไม่เปลี่ยนแปลงดังนั้นจึงไม่จำเป็นต้อง RAID พาร์ติชัน มีหลายสำเนาของพาร์ทิชันทั่วดิสก์ที่แตกต่างนอกจากนี้ยังจะต้องมีรายการเริ่มต้นระบบ UEFI ที่จะตั้งด้วยefibootmgr; มักด้วง initialises /boot/efi/นี้ขึ้นอยู่กับการติดตั้งพาร์ทิชันของ

ดังนั้นดูเหมือนว่าทั้งสองไม่จำเป็นและไม่ง่ายที่จะทำ


1
แต่สมมติว่าคุณต้องการมี raid1 เพียงเพื่อความปลอดภัยหากดิสก์หนึ่งล้มเหลว จะ "และไม่ใช่เรื่องง่ายที่จะทำ" หมายความว่าเป็นไปได้
zidarsk8

สิ่งที่เกี่ยวกับคำแนะนำเหล่านั้นทั้งหมดแสดงให้เห็นถึงการสาธิตทั้งพาร์ทิชันบูตและพาร์ทิชันระบบ efi?
CMCDragonkai

4

ฉันคิดว่าคำตอบสั้น ๆ คือ: ไม่พาร์ติชันระบบ EFI (ESPs) ไม่สามารถ RAID-ed อย่างไรก็ตามคุณยังสามารถได้เปรียบเหมือน RAID ถ้าคุณโคลน ESP ระหว่างดิสก์ RAID ของคุณและเพิ่มทั้งสองพาร์ติชันลงในบูตโซ่ EFI ดูรายละเอียดได้ที่วิธีการติดตั้ง Ubuntu 14.04 64- บิตพร้อมด้วยพาร์ติชัน RAID 1 ดูอัลบูตบนระบบ UEFI / GPT .


สิ่งที่คุณจะแนะนำให้เป็นวิธีที่ดีที่สุดในการประสานแต่ละพาร์ทิชัน/bootถ้าคุณทำการเปลี่ยนแปลงเช่นการเพิ่มเคอร์เนลใหม่ ... ฯลฯ ?
CMCDragonkai

คุณไม่ต้อง! ดูความคิดเห็นของฉันที่askubuntu.com/questions/660023/...
Niclas Börlin

2

ไม่เป็นไปไม่ได้มาเธอร์บอร์ดส่วนใหญ่ที่มี UEFI สามารถอ่านประเภทพาร์ติชันที่ จำกัด สำหรับ EFI (เช่น FAT32) และ RAID ไม่ใช่หนึ่งในนั้น

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