एन्क्रिप्टेड कस्टम स्थापित


21

मेरा कंप्यूटर उबंटू चलाता है। मैं उबंटू को दूसरे माध्यम पर स्थापित करना चाहता हूं। मैं एन्क्रिप्शन को सक्षम करना चाहता हूं, फिर भी ubuntu इंस्टालर के डिफ़ॉल्ट विकल्प (मिटा / साथ / आदि ...) केवल डिफ़ॉल्ट ड्राइव की चिंता करता है, मुझे "कुछ और" चुनना होगा और मैन्युअल रूप से अन्य ड्राइव पर विभाजन बनाना होगा, मैं ~ बनाता हूं बूट के लिए 128mb हिस्सा, फिर मैं खो गया हूं, अगर मैं बाकी हिस्सों के साथ एक एन्क्रिप्टेड विभाजन बनाता हूं तो मैं इसे विभाजित करने में असमर्थ हूं, इसलिए मेरे पास कोई स्वैप नहीं है; अगर इसके बजाय मैं दो एन्क्रिप्टेड विभाजन बनाते हैं, तो यह सही नहीं लगता क्योंकि यह दो अलग-अलग पासवर्ड सेट करना चाहता है ...

फिर मैं स्वैप कैसे सेट कर सकता हूं? (स्थापना के दौरान या बाद में)।


यह भी देखें askubuntu.com/questions/293028/…
Flim

जवाबों:


29

एलवीएम और एकल एन्क्रिप्टेड विभाजन के साथ इसे कैसे पूरा करें

चेतावनी

सबसे पहले 128M बूट के लिए बहुत छोटा है! मैं 1G का उपयोग करता हूं। अन्यथा, जो होने के लिए बाध्य है वह यह है कि आप पुरानी गुठली निकालना भूल सकते हैं और / बूट भर जाएगा, और आपको सिस्टम से पुरानी गुठली निकालने की कोशिश करने के दर्द से निपटना होगा ताकि आप प्राप्त कर सकें aptया apt-getकाम कर सकें फिर। 1G के साथ भी, सुनिश्चित करें कि आप समय-समय पर पुरानी गुठली निकाल दें।

अगले चरण नौसिखिए उपयोगकर्ताओं के लिए अभिप्रेत नहीं हैं।
अद्यतन: मैंने एक स्क्रिप्ट बनाई है जो आपके और अधिक के लिए निम्नलिखित ऑपरेशन करेगी! आपको बस इसे स्थापना से पहले लाइव ओएस से चलाना है। आप मेरे ब्लॉग पर राइट-अप पा सकते हैं ।


लाइव ओएस से प्री-इंस्टॉलेशन

आप मैन्युअल रूप से विभाजन करते समय LUKS और LVM सेटअप करना चाहते हैं! मैंने इसका परीक्षण Ubuntu 16.04.2 पर किया

लाइव ओएस से उबंटू बूट करें और बिना इंस्टॉल किए उबंटू को आजमाने का विकल्प चुनें। नीचे दिए गए चरणों का पालन करें। मान लेते हैं कि आप / dev / sdb में इंस्टॉल कर रहे हैं।

  1. अपनी पसंद के उपकरण के साथ ड्राइव का विभाजन: मैंने एक msdos विभाजन तालिका पर मुझे सेट करने के लिए fdisk का उपयोग किया है:
    • अन्य विभाजन: मौजूदा OS - हमें इनकी परवाह नहीं है
    • sdb1: / boot (1G)
    • sdb2: LUKS विभाजन (डिस्क के बाकी)
  2. सेटअप LUKS
    • sudo cryptsetup luksFormat --hash=sha512 --key-size=512 --cipher=aes-xts-plain64 --verify-passphrase /dev/sdb2
    • sudo cryptsetup luksOpen /dev/sdb2 CryptDisk
    • जबकि आवश्यक नहीं है, अपने एलयूकेएस विभाजन को शून्य से भरना एक अच्छा विचार है ताकि एक एन्क्रिप्टेड अवस्था में विभाजन यादृच्छिक डेटा से भरा हो। sudo dd if=/dev/zero of=/dev/mapper/CryptDisk bs=4M सावधान, यह वास्तव में लंबा समय ले सकता है!
  3. LVM / dev / mapper / CryptDisk पर सेटअप करें
    • sudo pvcreate /dev/mapper/CryptDisk
    • sudo vgcreate vg0 /dev/mapper/CryptDisk
    • sudo lvcreate -n swap -L 2G vg0
    • sudo lvcreate -n root -L 10G vg0
    • sudo lvcreate -n home -l +100%FREE vg0

लाइव ओएस से इंस्टालेशन

  1. अब आप स्थापित करने के लिए तैयार हैं। जब आप इंस्टॉल के "इंस्टॉलेशन टाइप" भाग में पहुंचते हैं, तो "कुछ और" विकल्प चुनें। फिर मैन्युअल रूप से / dev / mapper / vg0- * विभाजन असाइन करें जैसा कि आप कॉन्फ़िगर करना चाहते हैं। / Boot के रूप में / dev / sdb1 को सेट करना न भूलें। / बूट विभाजन को एन्क्रिप्ट नहीं किया जाना चाहिए। यदि ऐसा है, तो हम बूट नहीं कर पाएंगे। "बूट लोडर इंस्टॉलेशन के लिए डिवाइस" को / dev / sdb में बदलें, और इंस्टॉलेशन के साथ जारी रखें।
  2. जब स्थापना पूर्ण हो जाए, तो रिबूट न ​​करें ! "परीक्षण जारी रखें" का विकल्प चुनें।

लाइव ओएस से पोस्ट-इंस्टॉलेशन कॉन्फ़िगरेशन

यह बिट वास्तव में महत्वपूर्ण है यदि आप अपने सिस्टम को बूट करना चाहते हैं! मैंने इन पोस्ट-इंस्टालेशन चरणों का पता लगाने के लिए काफी समय बिताया। मेरे मामले में मैं वास्तव में ऐसा कर रहा था क्योंकि मैं / देव / एसडीए पर / बूट के आकार को अनुकूलित करना चाहता था, लेकिन यह सब काम आपकी स्थिति पर भी होना चाहिए।

  1. एक टर्मिनल में, निम्न टाइप करें और UUID / / dev / sdb2 के लिए देखें। बाद में उस UUID पर ध्यान दें।
    • sudo blkid | grep LUKS
    • मेरी मशीन पर महत्वपूर्ण लाइन पढ़ता है /dev/sdb2: UUID="bd3b598d-88fc-476e-92bb-e4363c98f81d" TYPE="crypto_LUKS" PARTUUID="50d86889-02"
  2. अगला आपको नए इंस्टॉल किए गए सिस्टम को फिर से माउंट करने देता है ताकि हम कुछ और बदलाव कर सकें।

    • sudo mount /dev/vg0/root /mnt
    • sudo mount /dev/vg0/home /mnt/home # यह शायद जरूरी नहीं है
    • sudo mount /dev/sdb1 /mnt/boot
    • sudo mount --bind /dev /mnt/dev # मुझे पूरी तरह से यकीन नहीं है कि यह आवश्यक है
    • sudo mount --bind /run/lvm /mnt/run/lvm
    • (केवल यदि आप EFI का उपयोग कर रहे हैं): sudo mount /dev/sd*/your/efi/partition /mnt/boot/efi
  3. अब sudo chroot /mntइंस्टॉल किए गए सिस्टम तक पहुंचने के लिए चलाएं

  4. चुरोट से, कुछ और चीजें माउंट करें
    • mount -t proc proc /proc
    • mount -t sysfs sys /sys
    • mount -t devpts devpts /dev/pts
  5. सेटअप क्रिप्टैब। अपने पसंदीदा टेक्स्ट एडिटर का उपयोग करते हुए, फ़ाइल / etc / crypttab बनाएं और अपनी डिस्क के UUID के साथ UUID को बदलते हुए, निम्न पंक्ति जोड़ें।
    • CryptDisk UUID=bd3b598d-88fc-476e-92bb-e4363c98f81d none luks,discard
  6. अंत में, कुछ बूट फ़ाइलों का पुनर्निर्माण करें।
    • update-initramfs -k all -c
    • update-grub
  7. रिबूट, और सिस्टम को बूट पर डिक्रिप्ट करने के लिए पासवर्ड मांगना चाहिए!

विशेष धन्यवाद मार्टिन ईव , EGIDIO DOCILE , और ब्लॉग पर लोगों को जाएँ । वे पोस्ट किए गए ट्यूटोरियल के लिए। उनके पोस्ट से टुकड़ों को खींचकर और थोड़ी अतिरिक्त शूटिंग करके, मैं आखिरकार यह पता लगाने में सक्षम था।

मैंने कई बार यह कोशिश की और बार-बार असफल हुआ। बिट मुझे त्रुटि संदेशों के आधार पर खुद के लिए काम करना थाsudo mount --bind /run/lvm /mnt/run/lvm


बहुत धन्यवाद, फिर भी मैं शुरुआत में फंस गया हूं जहां मुझे ल्यूक्स विभाजन को सेटअप करने की आवश्यकता है। इसे fdisk -L आउटपुट के भीतर नहीं पा सकते।
यवैन

और जब मैं क्रिप्ट को सेटअप करने की कोशिश करता हूं तो मुझे और त्रुटि मिलती है: हेडर निकालने में विफल
Yvain

मैं आपको एक समाधान के रूप में चिह्नित करता हूं। क्या आपको यह काम कर रहा था? यदि नहीं, तो आपने अपने विभाजन बनाने के लिए किस उपकरण का उपयोग किया था? आपको डिस्क को पहले Gparted या fdisk जैसे टूल के साथ विभाजन करना होगा, / boot के लिए एक विभाजन और एन्क्रिप्शन के लिए एक (EFI को तीसरे गैर-एन्क्रिप्टेड विभाजन की आवश्यकता होगी)। मैं अपने सेटअप में EFI का उपयोग नहीं कर रहा था। एन्क्रिप्शन के लिए विभाजन बनाने के बाद ही आप वास्तव में cryptsetup luksFormatइसे एन्क्रिप्ट करने के लिए कमांड चला सकते हैं । / Dev / sdb2 बनाने पर, आप इसे किसी फ़ाइल सिस्टम के साथ प्रारूपित कर सकते हैं या नहीं। cryptsetupकिसी भी मौजूदा फाइल सिस्टम को मिटा देगा।
b_laoshi

1
@ यवन - मेरा मानना ​​है कि यह गलत है। Sha1 को अब सुरक्षित नहीं माना जाता है। कुछ अधिक सुरक्षित (जैसे कि सुझाए गए sha512 विकल्प) निश्चित रूप से उपयोग किया जाना चाहिए।
माइक

1
+1 @b_laoshi उत्तर के लिए बहुत बहुत धन्यवाद, यह मेरी बहुत मदद कर रहा है :)
तुममला धनवी

3

यह कैसे कई एन्क्रिप्टेड विभाजन और पूरा करने के लिए कोई एलवीएम

क्योंकि मेरा पिछला उत्तर इतना लंबा था, इसलिए मैं एक दूसरा उत्तर पोस्ट कर रहा हूं जो कि LVM का उपयोग न करने पर एक अलग दृष्टिकोण लेता है।

आप कई एन्क्रिप्टेड विभाजन बना सकते हैं और डिक्रिप्ट_ड्रेड स्क्रिप्ट का उपयोग कर सकते हैं ताकि आपको केवल एक बार पासवर्ड दर्ज करने की आवश्यकता हो। की जाँच करें इस ब्लॉग पोस्ट चरण-दर-चरण निर्देशों के लिए। लेखक एक कीफ़ाइल का उपयोग करता है, लेकिन डिक्रिप्ट_ड्रेस किया गया LUKS स्क्रिप्ट पर्याप्त होगा।


मैंने मुख्य ड्राइव को
अनप्लगिन

2

कार्य करने का एक तरीका ubuntu नेटवर्क इंस्टॉलर का उपयोग करना है https://www.ubuntu.com/download/alternative-downloads

यह एक ग्राफिकल इंस्टॉलर नहीं है। लेकिन यह एन्क्रिप्शन के साथ पूर्ण डिस्क स्थापना का चयन करने के बाद आपको डिस्क की स्पष्ट पसंद प्रदान करता है।


0

यह उन लोगों के लिए जवाब है, जो इस सवाल से टकराते रहते हैं, बस उबंटू के डिफ़ॉल्ट विभाजन को थोड़ा बदलना चाहते हैं। उदाहरण के लिए, निकालेंswap विभाजन को और /bootआकार बढ़ा । मुझे लगता है कि कई लोगों को b_laoshi के निर्देश का पालन करने के लिए हतोत्साहित किया जाएगा, क्योंकि आवश्यक कदमों की मात्रा के कारण।

तो एन्क्रिप्शन के साथ सरल कस्टम विभाजन के लिए मैं "सिक्योरिटी के लिए नए उबंटू इंस्टॉलेशन को एन्क्रिप्ट करें" के साथ "मिटा डिस्क और उबंटू" का उपयोग करने का सुझाव देता हूं। हम क्या बदलेंगे यह डिफ़ॉल्ट विभाजन के लिए कॉन्फ़िगर है।

यह विन्यास में समाहित है /lib/partman/recipes[-arch]/। अपने लिए, मैं बदल रहा हूं /lib/partman/recipes-amd64-efi/30atomic। के लिए 538M efi, 1024M /bootऔर बाकी के लिए /ext4 के साथ पाने के लिए , मैंने फ़ाइल को संपादित किया

538 538 538 fat32
    $iflabel{ gpt }
    $reusemethod{ }
    method{ efi }
    format{ } .

1024 1024 1024 ext4
    $defaultignore{ }
    $lvmignore{ }
    method{ format }
    format{ }
    use_filesystem{ }
    filesystem{ ext4 }
    mountpoint{ /boot } .    

900 10000 -1 ext4
    $lvmok{ }
    method{ format }
    format{ }
    use_filesystem{ }
    filesystem{ ext4 }
    mountpoint{ / } .

ध्यान दें, कि एक बार जब आप इंस्टॉलर में मिटाने के लिए डिस्क चुनते हैं, तो यह आपको विभाजन के सारांश के साथ संकेत देगा, इसलिए आप जांच सकते हैं कि क्या चाल काम की है और आपको वांछित विभाजन मिल रहा है। Https://askubuntu.com/a/678074/47073 भी देखें

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