मैं लिनक्स में एक एन्क्रिप्टेड स्वैप फ़ाइल कैसे स्थापित करूं?


15

2017 चेतावनी! स्वीकृत उत्तर काम करने के लिए प्रकट होता है, लेकिन हाल की गुठली के साथ मुझे पता चला कि सिस्टम जैसे ही स्वैप करना शुरू करेगा। यदि आप एक एन्क्रिप्टेड स्वैप फ़ाइल का उपयोग करने का प्रयास करते हैं, तो सुनिश्चित करें कि यह वास्तव में ठीक से स्वैप करता है। मुझे यह पता लगाने में बहुत समय लगा कि मेरा सिस्टम बिना किसी स्पष्ट कारण के लॉक क्यों करता रहा। मैं एक एन्क्रिप्टेड स्वैप विभाजन का उपयोग करके वापस गया हूं, जो सही तरीके से काम करता है।


मैं लिनक्स में एक एन्क्रिप्टेड स्वैप फाइल (विभाजन नहीं) कैसे सेट कर सकता हूं? क्या यह भी संभव है? सभी गाइड जो मैंने पाया है कि एन्क्रिप्टेड स्वैप विभाजन के बारे में बात करते हैं, लेकिन मेरे पास स्वैप विभाजन नहीं है, और मुझे अपनी डिस्क को पुन: प्रारंभ नहीं करना होगा।

मुझे सस्पेंड-टू-डिस्क समर्थन की आवश्यकता नहीं है, इसलिए मैं प्रत्येक बूट पर एक यादृच्छिक कुंजी का उपयोग करना चाहूंगा।

मैं पहले से ही अपने डेटा के लिए ट्रू - क्रिप्ट फ़ाइल-होस्टेड वॉल्यूम का उपयोग कर रहा हूं , लेकिन मैं अपने स्वैप को उस वॉल्यूम में नहीं रखना चाहता। अगर कोई बेहतर उपाय है तो मैं स्वैप फाइल के लिए ट्रू क्रिप्ट का उपयोग करने पर सेट नहीं हूं।

मैं आर्क कर्नेल को डिफ़ॉल्ट कर्नेल के साथ उपयोग कर रहा हूं , यदि वह मायने रखता है।


वास्तव में इसका क्या मतलब होगा? इसका उपयोग करते समय इसे डिक्रिप्ट करना होगा, और उपयोग में न होने पर यह खाली हो जाएगा।
tkbx

1
जब आप encrypted swapfileपहले परिणाम की खोज करते हैं तो rayslinux.blogspot.de/2011/01/… की
ott--

@ott, शीर्षक में "स्वैप फाइल" कहने के बावजूद, यदि आप उस पोस्ट के निर्देशों को पढ़ते हैं तो वे स्पष्ट रूप से एक स्वैप विभाजन का वर्णन कर रहे हैं।
cjm

@tkbx, बिंदु किसी को मेरे कंप्यूटर को बंद करने के बाद स्वैप फ़ाइल से संवेदनशील डेटा को पुनर्प्राप्त करने से रोकने के लिए है। (या कोई मेरे पासवर्ड का अनुमान लगाने में असमर्थ रहा है, इसलिए वे एक लाइव सीडी या ऐसे में रिबूट कर रहे हैं।)
cjm

2
@tkbx, मुझे ऐसा नहीं लगता। हर बार जब आप अपना कंप्यूटर बंद करते हैं तो हर बार गीगाबाइट डेटा लिखने की आवश्यकता होगी। जब आप रिबूट करते हैं, तो स्वैप फ़ाइल में डेटा का उपयोग नहीं किया जाता है , लेकिन इसका मतलब यह नहीं है कि यह डिस्क से मिटा दिया गया है।
cjm

जवाबों:


14

वास्तव में, पृष्ठ एक विभाजन की स्थापना का वर्णन करता है, लेकिन यह एक स्वैप के समान है:

dd if=/dev/urandom of=swapfile.crypt bs=1M count=64
loop=$(losetup -f)
losetup ${loop} swapfile.crypt
cryptsetup open --type plain --key-file /dev/urandom ${loop} swapfile
mkswap /dev/mapper/swapfile
swapon /dev/mapper/swapfile

परिणाम:

# swapon -s
Filename                                Type            Size    Used    Priority
/dev/mapper/swap0                       partition       4000176 0       -1
/dev/mapper/swap1                       partition       2000084 0       -2
/dev/mapper/swapfile                    partition       65528   0       -3

swap0 और swap1 असली विभाजन हैं।


लूप- AES.README धारा 7.1 में कहता है: "स्वैप के लिए फ़ाइल समर्थित लूप का उपयोग नहीं किया जा सकता है।" क्या वह असत्य है (या केवल पाश-एईएस के लिए सच है)?
cjm

जो बिना डिवाइस मैपर के है।
ott--

मैंने आपके क्रिप्टोसेटअप कमांड को संशोधित करने के openबजाय create(जो मैनपेज अप्रचलित है) का उपयोग करने के लिए कहा, और पासवर्ड के लिए संकेत देने के बजाय एक यादृच्छिक कुंजी का उपयोग करने के लिए। लगता है यह काम कर रहा है।
cjm

यह रिबूट पर कायम रहने के लिए प्रतीत नहीं होता है: "स्वैप: नहीं खोल सकता / देव / मैपर / स्वैपफाइल: ऐसी कोई फ़ाइल या निर्देशिका नहीं है"
therobyouknow

6

यह कॉन्फ़िगरेशन बूट पर बेतरतीब ढंग से उत्पन्न कुंजियों का उपयोग करता है और हार्ड डिस्क को हाइबरनेशन का समर्थन नहीं करेगा! आपको अपने सम्मान डीई पावर प्रबंधन उपयोगिता के माध्यम से हाइबरनेशन को अक्षम करना चाहिए और डेटा हानि से बचने के लिए इसे शटडाउन पर सेट करना चाहिए!

निम्नलिखित को चलाने sudo -sया चलाने से suपहले सुनिश्चित करें ।

  1. स्वैप अक्षम करें:

    # swapoff -a
    
  2. मौजूदा स्वैप विभाजन का पता लगाएँ

    # lsblk
    

    आपको कुछ इस तरह मिलेगा:

    sda3    8:3    0     8G  0 part [SWAP]
    
  3. पुराने स्वैप को अधिलेखित करें

    # dd if=/dev/zero bs=1024000 of=/dev/sda<#>
    

    उदाहरण के लिए:

    # dd if=/dev/zero bs=1024000 of=/dev/sda3
    
  4. fstab सेट अप

    # vim /etc/fstab
    

    पुराने SWAP डिवाइस को क्रिप्टैब मैपर नाम से बदलें: /dev/mapper/cswap

    #<file system>      <mount point>   <type>  <options>   <dump>  <pass>
    /dev/mapper/cswap   none            swap    pri=1,defaults  0   0
    
  5. क्रिप्टो सेटअप

    # ls -lF /dev/disk/by-id
    

    उदाहरण के लिए:

    ata-HGST_HTS545050A7E680_TEK55D4F0BU3GV-part3 -> ../../sda3
    
    # vim /etc/crypttab
    
    # <name>    <device>                            <password>  <options>
      cswap     /dev/disk/by-id/ata-HGST_HTS545050A7E680_TEK55D4F0BU3GV-part3   /dev/urandom    swap,cipher=aes-cbc-essiv:sha256,size=256
    
  6. सक्रिय एन्क्रिप्टेड स्वैप

    # reboot
    
  7. सत्यापित स्वैप संचालन सत्यापित करें

    उदाहरण के लिए:

    # dmsetup -C info 
    cswap      253   0 L--w    2    1      0 CRYPT-PLAIN-cswap  
    # lsblk
    ├─sda3                8:3    0     8G  0 part  
    │ └─cswap             253:0    0     8G  0 crypt [SWAP]
    # cat /proc/swaps 
    Filename                Type        Size    Used    Priority
    /dev/dm-0               partition   8385532 0       -1
    

1

यदि आप उपयोग करते हैं dd if=/dev/zero of=/swapfile bs=8G count=1, mkswap /swapfileऔर उसके बाद swapon /swapfile, आपको अपने रूट फाइल सिस्टम पर एक काम करने वाला स्वैप होना चाहिए। (हम ddयह सुनिश्चित करने के लिए उपयोग करते हैं कि स्वैप में कोई छेद नहीं है)

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

देखें man mkswapऔर man swaponअधिक जानकारी के लिए।


मैंने अपने एन्क्रिप्टेड होम डाइरेक्टरी में इस तरह से एक स्वेपफाइल बनाने की कोशिश की, और यह ठीक उसी तरह क्रैश हो गया जैसे एन्क्रिप्टेड स्वैप फाइल ने किया ...
अंतिम तिथि

जब आप लॉग इन करते हैं तो क्या आपके होम डायरेक्टरी को सिस्टम बूट पर अनलॉक किया गया है? यदि आप लॉग इन करते समय इसे केवल अनलॉक करते हैं, तो आप वहाँ स्वैप नहीं कर सकते। स्वैप को अनलॉक किया जाना चाहिए और सिस्टम बूट पर उपलब्ध कराया जाना चाहिए। इसके अलावा, आप अपने उपयोगकर्ता होम निर्देशिका में सिस्टम सामान नहीं चाहते हैं। यह उपयोगकर्ता सामग्री के लिए आरक्षित है।
Mio Rin
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.