मैं रूट रूट विभाजन को कैसे एन्क्रिप्ट कर सकता हूं?


13

मेरे पास 3 विभाजन हैं: EFI ( /boot/efi), बूट ( /boot) और रूट ( /)। मैं सिर्फ एन्क्रिप्ट करना चाहता हूं /। मैं इसे इंस्टॉलर के माध्यम से मैन्युअल रूप से कर सकता हूं, लेकिन मैं इसे preseed करना चाहता हूं।

मैं इसे कैसे परिभाषित करूं? मेरा (गैर-एन्क्रिप्टेड) ​​नुस्खा नीचे की तरह कुछ दिखता है। यह 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एलयूकेएस-एन्क्रिप्शन के लिए एक भौतिक विभाजन कैसे बना सकता हूं और फिर उसके ऊपर एक फाइल सिस्टम है?

अपडेट करें:

मुझे पता चला कि मैं विभाजन को नीचे की तरह क्रिप्टो कर सकता हूं, लेकिन अभी भी 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, आदि हमेशा जूते के बीच एक ही पत्र (ए, बी, सी) नहीं रखते (मेरा हर बूट स्विच)
Xen2050

2
@ Xen2050 सही आप कर रहे हैं, UUIDया PARTUUIDया LABELया PARTLABELज्यादा बेहतर कर रहे हैं। मेरे मामले में, मैं एक छवि को प्रारूपित करने के लिए बूट कर रहा हूं, इसलिए केवल एक ही ड्राइव है। किसी भी तरह, मैं इसे एकल विभाजन को क्रिप्ट करने के लिए कैसे सेट कर सकता हूं? मैं इसे अंतःक्रियात्मक रूप से कर सकता हूं, लेकिन मुझे इसकी आवश्यकता है।
दीच

हम्म, कहीं और मिल रहा हो सकता है, लेकिन अधिक सवाल। अन्य q पोस्ट करेंगे।
दीच

@ डिच - क्या यह सर्वर पार्टीशन कॉन्फिगरेशन या क्लाइंट है या सिर्फ डेस्कटॉप पार्टीशन उदाहरण? आपके इरादे के लिए ये 3 विभाजन बहुत कम हैं - लापता / स्वैप और / घर है - इसलिए आपको किसी तरह हार्डडिस्क का एक विस्तारित भाग तार्किक विभाजन के साथ सेट करना होगा - आम तौर पर विभाजन पूरे पर केवल 4 की अनुमति देते हैं लेकिन तार्किक विभाजन के साथ विस्तारित होते हैं। अधिकतम पर 4 गुना 63 विभाजन (और GPT अधिक अनुमति देता है)?! - unix.stackexchange.com/questions/33555/… - मास्टर और दास विभाजन के बारे में।
dschinn1001

@ dschinn1001 वास्तव में एक सुरक्षित सर्वर के लिए एक टेम्पलेट है। कोर ऑपरेटिंग सिस्टम एक हटाने योग्य ड्राइव पर है। उपयोगकर्ता डेटा और स्वैप एक आंतरिक ड्राइव पर हैं, जो एक सिस्टमैड सेवा उचित रूप से ढूंढती है और माउंट करती है। लेकिन इसे अनदेखा करते हुए .... मैं LVM के बिना एन्क्रिप्ट किए जाने वाले रूट को कैसे सेट कर सकता हूं?
दीच

जवाबों:


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फाइलसिस्टम प्रकार के लिए चयन करें और आरोह बिंदु को सेट करें /। फिर "अभी इंस्टॉल करें" पर क्लिक करें और सामान्य रूप से उबंटू स्थापित करें।

जब "इंस्टॉल जारी रखें" पर क्लिक करें। एक टर्मिनल खोलें और टाइप करें:

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

एक दूसरा टर्मिनल खोलें और टाइप करें sudo blkid। के लिए UUID खोजें root( crypto_luksजो अंत में कहते हैं ) और इसे पेस्ट करें /etc/crypttab। तब फ़ाइल /etc/crypttabको कुछ इस तरह दिखना चाहिए:

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

फ़ाइल को Ctrl+ x, yऔर के साथ बंद करें Enternano /etc/fstabटर्मिनल में टाइप करें और जांचें कि क्या सब कुछ सही लगता है (उदाहरण के लिए यूयूआईडी)।

अंत में, चुरोट पर्यावरण छोड़ें और टाइप करें:

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

यह फ़ोल्डर में एन्क्रिप्टेड विभाजन के हेडर की एक छवि डालता है /rootऔर इसे नाम देता है root.img। फिर छवि को एक बाहरी ड्राइव पर ले जाएं (पासवर्ड भूल जाने की स्थिति में)। अब आप अपने नए स्थापित उबंटू में रिबूट कर सकते हैं।

स्रोत: http://thesimplecomputer.info/full-disk-enc एन्क्रिप्शन-with-ubuntu


उबंटू पूछने के लिए आपका स्वागत है! जब भी यह सैद्धांतिक रूप से प्रश्न का उत्तर दे सकता है, तो यहां उत्तर के आवश्यक भागों को शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर होगा
कार्ल रिक्टर

@ यदि आप पहले से ही चेरोट (या कंटेनरीकृत) वातावरण में विभाजन के निर्माण का सुझाव दे रहे हैं, और फिर इसे इंस्टॉलर में चिपका रहे हैं?
1

मैं कैसे preseeder के साथ काम करेंगे?
1

मुझे नहीं पता, लेकिन यह कम से कम rootLVM के बिना LUKS- एनक्रिप्टेड -पार्टिशन बनाने का उपाय है ।
अर्ल निक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.