क्या मैं फुल-डिस्क एन्क्रिप्शन को अक्षम कर सकता हूं?


41

मैंने हाल ही में Ubuntu 12.10 स्थापित किया है और इसे बूट करने के लिए एक पासफ़्रेज़ की आवश्यकता है (मैंने इसे एक एन्क्रिप्टेड फ़ाइल सिस्टम के साथ स्थापित किया है)।

क्या मुझे एक मानक अनएन्क्रिप्टेड फ़ाइल सिस्टम में बदलने के लिए पुनः इंस्टॉल करना होगा?


क्या आपने पूरी उबंटू स्थापना, या सिर्फ अपने घर निर्देशिका को एन्क्रिप्ट किया है?
फ्लिम

मैंने इंस्टॉल के दौरान एन्क्रिप्ट किया है, इसलिए मैं संपूर्ण इंस्टॉल का अनुमान लगा रहा हूं।
ज़ेज़ेल्डर

3
मैं एक नया उपयोगकर्ता हूं इसलिए मैं अनिश्चित हूं कि लिनक्स में सामान कैसे काम करता है (माइक्रोसॉफ्ट के साथ पूरी तरह से तंग आ गया है!)
ज़ज़ेलर

@Rinzwind शायद नहीं। यह विधि (ecryptfs) होम निर्देशिका को एन्क्रिप्ट करती है और इसके लिए अतिरिक्त पासवर्ड की आवश्यकता नहीं होती है; लॉगिन पासवर्ड का उपयोग किया जाता है।
जनवरी

1
@ user163872: नए उबंटू संस्करण (12 और 13) पुराने कंप्यूटर जैसे नेटबुक पर बहुत धीमे हैं। आपको ल्यूबुन्टू को स्थापित करना चाहिए, जो गति के लिए डिज़ाइन किया गया है और कम रैम (यानी 512 एमबी) के साथ भी पुराने / धीमे कंप्यूटरों पर बहुत तेज चलता है। लुबंटू लगभग सामान्य उबंटू के समान है - केवल डेस्कटॉप / मेनू थोड़ा अलग हैं। लेकिन सब कुछ जो सामान्य उबंटू पर काम करता है, वह लुबंटू में भी काम करेगा।
लारना

जवाबों:


22

यदि उबंटू बूट के दौरान एन्क्रिप्शन पासफ़्रेज़ के लिए पूछता है (यानी लॉगिन स्क्रीन प्रदर्शित होने से पहले पाठ कंसोल पर), तो यह इंगित करता है कि एक पूर्ण डिस्क एन्क्रिप्शन विधि का उपयोग किया गया था। (ऐसा करने का एक से अधिक तरीका है, लेकिन मैं उत्तर को सामान्य रखूंगा।) एन्क्रिप्शन फ़ाइल सिस्टम और भौतिक हार्ड ड्राइव के बीच एक अतिरिक्त सॉफ़्टवेयर परत द्वारा संभाला जाता है, न कि फ़ाइल सिस्टम।

इसे पूर्ववत करने के लिए कोई सरल विधि या उपकरण नहीं है। लिनक्स सिस्टम कैसे काम करता है, इसके बारे में कुछ ज्ञान के साथ। आपको संपूर्ण फ़ाइल सिस्टम (या सभी फ़ाइलें) को किसी अन्य पार्टीशन (पर्याप्त खाली स्थान के साथ) या बाहरी HDD में ले जाना होगा। फिर, एन्क्रिप्टेड कंटेनर को हटा दें, और एन्क्रिप्शन के बिना फ़ाइल सिस्टम को फिर से बनाएं। अंत में, सुनिश्चित करें कि नया फाइल सिस्टम बूट लोडर द्वारा ठीक से पहचाना गया है और mount -aरिबूट करने से पहले।

यदि संभव हो, तो इस समय लेने और त्रुटि-प्रक्रिया से बचने के लिए सबसे अच्छा है। बस एक ताजा स्थापित करें। नए उपयोगकर्ताओं के लिए, यह सबसे तेज और सबसे सुरक्षित विकल्प है।

पुनश्च: संभावना है कि आप एन्क्रिप्शन पासफ़्रेज़ को बदल सकते हैं, संभवतः एक रिक्त स्ट्रिंग पर। फिर डिक्रिप्ट करने के लिए केवल एंटर दबाना होगा। हो सकता है कि आप आगे और अब (अब बेकार) पासफ्रेज़ के लिए सुपरप्रेस कर सकें। हालाँकि, यह एन्क्रिप्शन को अक्षम नहीं करता है। डेटा को अभी भी एन्क्रिप्ट किया जाएगा, हालांकि एन्क्रिप्शन बेकार हो जाएगा क्योंकि कुंजी को तुच्छ रूप से अनुमान लगाया जा सकता है।


3
सिद्धांत रूप में, क्या आपको "dd if = / dev / mapper / sda5_crypt of = / dev / sda5 bs = 32M" जैसा कुछ करने में सक्षम नहीं होना चाहिए?
रॉय

@, मुझे लगता है कि यह काम करेगा यदि और केवल तभी निम्न सत्य हैं: 1. ddऔर अंतर्निहित ड्राइवर तब तक नहीं लिखते हैं जब तक कि वे प्रत्येक ब्लॉक को पढ़ना समाप्त नहीं करते हैं (यह सुनिश्चित करने के लिए शायद झंडे और सेटिंग्स हैं) 2. रीड / राइट ब्लॉक एन्क्रिप्शन ब्लॉकों के किनारों को ओवरलैप नहीं करते हैं (जांच की जा सकती है, कुछ गणित शामिल हो सकती है) 3. डिक्रिप्शन के लिए आवश्यक महत्वपूर्ण हेडर जानकारी को पूरा होने से पहले ओवरराइट नहीं किया गया है (अंतर्निहित एन्क्रिप्शन प्रारूप की जांच करें, शायद एंड-टू-स्टार्ट से प्रक्रिया)। मुझे लगता है कि यह संभव है, लेकिन अधिक सावधान सेटअप और विश्लेषण की आवश्यकता होगी।
fuzzyTew

20

नीचे यह मेरा समाधान है कि काम किया है। ध्यान रखें कि मैं लिनक्स विशेषज्ञ नहीं हूं, इसलिए यह सबसे अच्छा समाधान नहीं हो सकता है। वैसे भी बेहतर नहीं मिल सका।

अनएन्क्रिप्टेड पार्टीशन में FDE इंस्टॉलेशन माइग्रेट करना

नोट : जब भी मैं कहता हूं, मेरा मतलब है

/dev/sda1 - boot partition
/dev/sda5 - encrypted partition
/dev/sda3 - clean non-encrypted EXT4 partition
/dev/sda2 - my newly created swap partition

एन्क्रिप्टेड रूट फाइल सिस्टम से डेटा की प्रतिलिपि बनाना

लाइव सीडी से बूट करें। मैंने Ubuntu 13.10 32bit डेस्कटॉप ISO का उपयोग किया है।

अपना विभाजन माउंट करें:

sudo cryptsetup luksOpen /dev/sda5 crypt1

गंतव्य विभाजन के लिए अपने स्रोत डेटा की प्रतिलिपि बनाएँ और did PID को pid ​​वेरिएबल में सहेजें:

sudo dd if=/dev/ubuntu-vg/root of=/dev/sda3 bs=1M & pid=$!

यह USR1 सिग्नल और dd परिणाम स्थिति के साथ प्रत्येक दूसरी dd प्रक्रिया को पिंग करेगा:

while sudo kill -USR $pid; do sleep 1; done

डीडी की निगरानी के लिए वैकल्पिक

अगर आपको 'मेथड मेथड' पसंद नहीं है, तो आप वॉच का उपयोग कर सकते हैं। अलग टर्मिनल विंडो खोलें और PID प्राप्त करें:

pgrep -l '^dd$' | awk '{ print $1 }'

अपनी प्रक्रिया आईडी से बदलें:

watch kill -USR1 <pid>

आपको अपने dd टर्मिनल में प्रत्येक 2s में आउटपुट देखना चाहिए।

नई रूट फाइलसिस्टम और विभाजन को कॉन्फ़िगर करना

जब यह पूरा हो जाए तो आप अपने गैर-एनक्रिप्टेड विभाजन को यह देखने के लिए माउंट कर सकते हैं कि क्या यह ठीक है:

sudo mount /dev/sda3 /mnt

उसके बाद अपने विभाजन को अनमाउंट करें:

sudo umount /dev/sda3

रिलीज़ क्रिप्ट विभाजन:

sudo cryptsetup luksClose /dev/sda5

दौड़ लगाओ। अपने LUKS विभाजन (विस्तारित और तार्किक दोनों) को हटा दें। अपने / dev / sda3 का आकार बदलें और बाएँ ले जाएँ। स्वैप विभाजन बनाएँ।

नोट: अपने / dev / sda3 को छोड़ कर आगे बढ़ने में लंबा समय लग सकता है। मेरे लिए इसने 120GB पार्टीशन और SSD ड्राइव पर 30min लिया। यदि आपके पास 500GB + HDD कुछ घंटों के इंतजार के लिए तैयार है। आप अपने / dev / sda3 को स्थानांतरित करने के बजाय अपने विभाजन से पहले स्वैप बनाना चाहते हैं।

अपने स्वैप विभाजन पर एक नया स्वैप फ़ाइल सिस्टम बनाएँ:

sudo mkswap /dev/sda2 

और कहीं UUID स्टोर करें।

अपना रूट विभाजन UUID प्राप्त करें:

sudo blkid /dev/sda3

Fstab संपादित करें:

sudo nano /etc/fstab

ओवरलेफ़्स और टैम्पफ़ लाइनों को हटाएं या टिप्पणी करें।

ब्लकिड परिणाम के साथ लाइन की जगह जोड़ें:

UUID=<uuid_root> /  ext4 errors=remount-ro 0 1
UUID=<uuid_swap> none swap sw 0 0

फ़ाइल को हटाएं:

rm /etc/crypttab

"In cryrametup: evms_activate उपलब्ध नहीं है" जैसी त्रुटियों से बचने के लिए अपने initramfs को अपडेट करें:

sudo -i
mount /dev/sda3 /mnt
mount -t proc none /mnt/proc
mount -o bind /sys /mnt/sys
mount -o bind /dev /mnt/dev
mount /dev/sda1 /mnt/boot
chroot /mnt /bin/bash
apt-get remove --purge cryptsetup
update-initramfs -u -k all

अंतिम नोट्स और समस्या निवारण

यह मेरे लिए काम कर रहा है, हालांकि इस बात की संभावना है कि कदम दर कदम आपके लिए काम न करें। इससे पहले कि मैं अद्यतन- initramfs विधि का पता लगाऊं मैं कर्नेल को फिर से स्थापित कर रहा था कुछ बार ग्रब को संशोधित भी किया गया था। हालांकि यह आपके लिए एक मामला नहीं होना चाहिए। याद रखें कि उपरोक्त निर्देश आपके डेटा को हटा सकते हैं, इसलिए सावधान रहें और आगे बढ़ें , इससे आगे बढ़ें

बस अगर आपके पास कर्नेल की परेशानी है (क्रोकेटेड और / बूट माउंटेड):

uname -r
sudo apt-get install --reinstall linux-image-3.X.Y-ZZ-generic

बेशक linux-image-3.XY-ZZ को अपनी कर्नेल तारीख से बिना नाम बदलें।

या GRUB (चेरोट के बाहर):

sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
sudo apt-get install -y boot-repair && (boot-repair &)

अधिक जानकारी: https://help.ubuntu.com/community/Boot-Repair

सौभाग्य


1
मेरा मानना ​​है कि आपको /etc/initramfs-tools/conf.d/resumeमैन्युअल रूप से स्वैप विभाजन के यूयूआईडी को बदलना होगा और मैं फाइल सिस्टम सामग्री की प्रतिलिपि बनाने की सलाह दूंगा cp -aया rsync -aएसएसडी के लिए सामान्य रूप से तेज हो जाएगा।
लाइववायरबीटी

मेरे विस्तार को अधिक उपयोगकर्ता के अनुकूल बनाने के लिए धन्यवाद। मैंने रिज्यूमे में बदलाव नहीं किया, cp या rsync का उपयोग करके भी डर गया, सोचा कि dd (डिवाइस से डिवाइस में कच्ची कॉपी) इस तरह के कार्यों के लिए उचित उपकरण है। मैं वीएम पर कर रहा था, लेकिन छवि को एसएसडी पर रखा गया था। क्या आप विस्तृत कर सकते हैं: "SSDs के लिए सुरक्षित" कृपया?
NeverEndingQueue

ddपूरे विभाजन की प्रतियों का उपयोग करते हुए , यहां तक ​​कि ब्लॉक जिन्हें खाली होना चाहिए, जो एसएसडी को अनावश्यक लिखते हैं (और कुछ पर यह प्रदर्शन लेखन को लगभग सभी कोशिकाओं को परेशान करता है)। कुछ साल पहले मैंने और कुछ अन्य ने यह भी पाया कि ddTRIM (EXT4 त्याग विकल्प) के साथ नकल करने और सक्रिय करने के कारण TRIM उन ब्लॉकों को हटा देगा जो यह सोचते हैं कि खाली हैं और कुछ घंटों के बाद टूटी स्थापना के साथ आपको छोड़ देते हैं।
लाइववायरबीटी

पहली निगरानी पद्धति में USR के बजाय USR1 होना चाहिए। मैं जानता हूँ कि यह स्पष्ट है, लेकिन मेरे जैसे नवागंतुकों के लिए एक मुद्दा हो सकता है;)
गुडफेलो

9

यदि यह एन्क्रिप्शन रखना ठीक है, लेकिन पासफ़्रेज़ प्रॉम्प्ट को बंद करने के लिए, एक बहुत सरल तरीका "पासवर्ड" जैसे एक तुच्छ पासवर्ड सेट करना है और फिर इनट्रेमर्फ्स में उस तुच्छ पासवर्ड को क्लीयरटेक्स में सेव करना है। LUKS एन्क्रिप्शन पासवर्ड को अक्षम करें

अनिवार्य रूप से, एक हुक स्क्रिप्ट जोड़ें, जो बदले में इनट्राम्राम्स में एक "कीस्क्रिप्ट" जोड़ता है। आमतौर पर इन लिपियों का उपयोग Bletooth, USB स्टिक आदि से पासवर्ड प्राप्त करने के लिए किया जाता है, लेकिन इस स्थिति में, इसे केवल तुच्छ पासवर्ड प्रिंट करें।

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