गृहस्वामी के लिए लिनक्स पर चुनने के लिए फ़ाइल सिस्टम को प्रबंधित करना कितना आसान है?


2

मेरे पास एचपी प्रोलिएंट माइक्रोसेवर जेन 7 पर चलने वाला एक होमसाइवर है जिसमें 10 जीबी की ईसीसी मेमोरी चल रही है डेबियन 8 (जेसी)। अभी मेरे पास एक छोटी सी सिस्टम डिस्क (rsnapshot का उपयोग करके बैकअप) और 2x 3TB स्टोरेज डिस्क एक RAID 1 के रूप में mdadm का उपयोग करके सेटअप है, शीर्ष पर मेरे पास विभिन्न उद्देश्यों के लिए LVM समूह हैं, जिनमें से एक - इसके अतिरिक्त dm-crypt / luks एन्क्रिप्टेड है निजी डेटा रखें।

मैं स्टोरेज पूल के लिए दो अतिरिक्त, एक ही आकार के HD खरीदने की योजना बना रहा हूं और संभवत: स्क्रैच से सर्वर सेट कर रहा हूं, निश्चित रूप से फिर से डेबियन का उपयोग कर रहा हूं, लेकिन शायद इस बार xucerver वर्चुअलाइजेशन के तहत। तो स्टोरेज पूल 4x 3TB होगा, जिसमें RAID 1 एक प्रयोग करने योग्य 6TB छोड़कर, RAID5 (या raidz1) 9TB के साथ होगा।

हालांकि mdadm / lvm / dm-crypt का संयोजन अच्छी तरह से काम करता है, मैं इसे एक आसान आपदा वसूली रणनीति की योजना बनाने के लिए अविश्वसनीय रूप से जटिल, सटीक रूप से पाता हूं। मुझे उन सभी परतों के लिए शोध करने की आवश्यकता है जो सर्वश्रेष्ठ मेटाडेटा बैकअप और पुनर्स्थापना प्रक्रिया आदि हैं।

एक संपूर्ण दुनिया में, मैं पूरे स्टोर को एन्क्रिप्टेड raidz1 पूल बनाऊंगा, लेकिन BUT एन्क्रिप्शन ने इसे अभी तक लिनक्स पर Zfs में नहीं बनाया है और मेरे शोध से यह पूरी तरह से स्पष्ट नहीं है कि इसे कब लागू किया जा सकता है

Btrfs की स्थिति समान है: कम से कम यह उत्पादन स्थिर लगता है - लेकिन अफसोस - एन्क्रिप्शन भी एक अप्रत्याशित भविष्य में आ जाएगा।

इसलिए फाइलसिस्टम से मैं उपयोग करना पसंद करूंगा, दोनों ही मूल रूप से लिनक्स (अभी तक) पर एन्क्रिप्शन का समर्थन नहीं करते हैं। खैर, वहाँ कैसे ZFS या BtrFS के साथ संयोजन में LVM एन्क्रिप्टेड LVM का उपयोग करने के बारे में howtos और ट्यूटोरियल का एक समूह है। एलवीएम के शीर्ष पर जेडएफएस या जेडएफएस के ऊपर एलवीएम का उपयोग करने के लिए दृष्टिकोण है - मेरे लिए जो एक भयानक गड़बड़ की तरह लगता है।

मुझे EncFS की अवधारणा बिल्कुल पसंद नहीं है, इसलिए यह कोई विकल्प भी नहीं है।

उम्मीद है कि कुछ विकल्प हैं जिनके बारे में मैंने सुना है, इस प्रकार मेरा सवाल यहां है: होमसेवर के लिए लिनक्स पर चयन करने के लिए फ़ाइल सिस्टम को प्रबंधित करने के लिए इसे "आसान (जैसे विस्तार में, जैसे कि zfs, त्रुटि सुधारना)" प्राप्त करने के लिए और क्या है पूरी तरह से या भागों में एन्क्रिप्ट किया जा सकता है?

अद्यतन दिसंबर 2017: जल्द ही आने वाले एन्क्रिप्शन की विशेषता वाले लिनक्स पर ZFS https://blog.heckel.xyz/2017/01/08/zfs-encryption-openzfs-zfs-on-linux/


बैकअप और / या आपदा वसूली करने पर आप क्या / कैसे योजना बना रहे हैं? एन्क्रिप्शन के लिए आपकी स्पष्ट आवश्यकता और सादगी के लिए स्पष्ट इच्छा को देखते हुए, आप सोलारिस 11 को चलाने पर गंभीरता से विचार करना चाहते हैं। इससे आपको बैकअप / डिजास्टर रिकवरी में आसानी के साथ-साथ आपको आसानी से मिलने वाला एन्क्रिप्शन मिल जाएगा।
Andrew Henle

हां, एक ऐसा ओएस जो ZFS के सभी फीचर फ्लैग को सपोर्ट करता है। लेकिन मैं सिर्फ फाइलसिस्टम के लिए ओएस स्विच करने के लिए नहीं हूं। ऐसा नहीं है कि सोलारिस पसंद नहीं है, बस सुविधा की बात है।
Hans Meiser

जवाबों:


1

यदि आप ZFS सेटअप चुनते हैं, तो मैं सुझाव दूंगा:

  • LVM का उपयोग न करें, पूल के ऊपर ZVOLs बनाएं

  • OS के लिए - दर्पण के साथ अनएन्क्रिप्टेड ZFS पूल के लिए GPT विभाजन (या raidz)

  • निजी डेटा के लिए - GPT विभाजन पर LUKS का उपयोग करें, फिर शीर्ष पर ZFS पूल मिरर (या raidz) का निर्माण करें

बूट करने के बाद, आप ssh के माध्यम से लॉगिन करते हैं, एन्क्रिप्ट किए गए विभाजन के लिए पासवर्ड दर्ज करते हैं, और LUKS के शीर्ष पर स्थित पूल को आयात करते हैं, फिर मशीन को चालू करते हैं (सबसे अच्छा एक शेल स्क्रिप्ट लिखें)

इसलिए सुझाया गया स्कीमा है GPT / LUKS / ZFS / डेटा या VM के लिए ZVOL

यदि आप UEFI बूट का उपयोग नहीं करते हैं तो BIOS विभाजन (आकार 1M) बनाना न भूलें 150M की तरह GRUB के लिए एक विभाजन करना न भूलें

भारी यादृच्छिक आईओ के लिए मैं ZFS प्रीफ़ैच को अक्षम करने का सुझाव देता हूं (प्रतिध्वनि 1 & gt; / sys / मॉड्यूल / zfs / पैरामीटर / zfs_prefetch_disable)


कम से कम आखिरी बार मैंने देखा, ZFS पैच के साथ GRUB भी raidzN vdevs से बूट नहीं हो सकता है, केवल दर्पण समर्थित हैं।
a CVn

यही कारण है कि मैंने ग्रब के लिए बूट विभाजन का उल्लेख किया है
Sidias-Korrado

क्या आपके पास कोई विचार है कि एलयूकेएस वॉल्यूम पर जेडएफएस पूल का प्रदर्शन एक मूल रूप से एन्क्रिप्टेड जेडएफएस सिस्टम की तुलना में कैसे है?
Hans Meiser

मेरा सीपीयू एईएस-एनआई का समर्थन करता है, और iostat को देखकर मुझे कच्चे और LUKS मात्रा प्रदर्शन के बीच कोई अंतर नहीं दिखता है। हाल ही में मुझे ZoL के साथ समस्या थी, लेकिन एक VM में FreeBSD में जाने के बाद इसे हल किया गया है, और अभी भी ZoL की तुलना में LUKS डिवाइस के ऊपर तेजी से चलता है। इसलिए मेरा सेटअप GPT / LUKS / KVM virtio / FreeBSD ZFS है
Sidias-Korrado

1

यह उन सभी के लिए एक सलाह है जो कुछ डेटा एन्क्रिप्टेड चाहते हैं, सभी रास्ते कंप्यूटर से जुड़े सभी संभावित स्टोरेज का 100% एन्क्रिप्ट करते हैं, भले ही यह ग्रब विभाजन, सिस्टम विभाजन, होम विभाजन, डेटा विभाजन, स्वैप, आदि के लिए हो। सभी की जाँच करें।

क्यूं कर? क्योंकि आप नियंत्रित नहीं करते हैं कि एप्लिकेशन / सिस्टम द्वारा डेटा कहाँ सहेजा गया है।

आपदा नमूना घटना क्रम:

  1. बूट सामान्य
  2. एक एप्लिकेशन का उपयोग करें
  3. एक 'निजी' दस्तावेज़ खोलें
  4. सिस्टम क्रैश (सॉफ्टवेयर या हार्डवेयर)
  5. अगला बूट काम नहीं करता है
  6. एक उपकरण अपने जीवन को समाप्त करता है (फिर से काम नहीं करता है)

आप हटा नहीं सकते कि ऐसे डिवाइस पर क्या है (यह काम नहीं कर रहा है), आप इसे नहीं पढ़ सकते हैं, इसलिए, वहां क्या बचाया गया था? शायद कुछ 'निजी'? आप यह भी नहीं जान सकते कि क्या और कहाँ नहीं।

लेकिन कोई और (शायद जेब पर कुछ लाखों रुपये के साथ) सीए इसे लाल कर दे, इसलिए आप उस उपकरण को कूड़ेदान में नहीं डाल सकते, तब तक नहीं जब तक आप पुष्टि नहीं करते कि 'निजी' डेटा नहीं है ... लेकिन आप तब तक नहीं जान सकते जब तक आप नहीं देते एक कंपनी के लिए उपकरण, लेकिन फिर से 'निजी' जोखिम में है, शायद वे इसे 'कॉपी' (वहां काम करने वाले बुरे व्यक्ति, आदि) करते हैं।

आपसे यह पूछें: क्या आप जानते हैं कि आपके द्वारा उपयोग किए जाने वाले सभी कोड (बूट कोड, सिस्टम कोड, एप्लिकेशन कोड, आदि) के प्रत्येक स्रोत लाइन, स्रोत कोड जिसे आप अपने स्वयं के द्वारा संकलित करते हैं ... और किसी भी प्रकार के 'बाइनरी' का उपयोग नहीं करते हैं इसलिए आपने एक पेंसिल और एक पेपर को कंपाइलर के साथ संकलित किया होगा।

और आप कोड का उपयोग करते हैं कि आप नहीं जानते कि यह क्या करता है।

साइड नोट: यदि आपको 'निजी' डेटा का उपयोग करने की आवश्यकता है, तो कभी भी उस कंप्यूटर को फिर से इंटरनेट से कनेक्ट न करें ... हो सकता है कि आपके द्वारा उपयोग किए गए ऐप का कुछ हिस्सा, कुछ डेटा को सहेजे और भविष्य में इसे इंटरनेट सर्वर पर भेजें।

चरम नमूना: आप TXT fole को पढ़ने के लिए एक लिखने वाले ऐप का उपयोग करते हैं, इसमें कहीं छिपा हुआ सेव करने के लिए एक छिपा हुआ कोड होता है ... फिर कुछ वर्षों के अपडेट के बाद उस छिपे हुए डेटा को पढ़ने के लिए ऐप (या किसी अन्य) के पास छिपा हुआ कोड है इसे एक इंटरनेट सर्वर या तीसरे पक्ष के कंप्यूटर आदि पर भेजा जाता है।

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

क्या आपको लगता है कि मैं केवल ट्रॉयन, छिपी हुई चीजों, आदि पर सोच रहा हूं, बिल्कुल नहीं, स्वैप, टेम्प फाइल आदि याद रखें ... कुछ एप्लिकेशन आपके द्वारा उपयोग किए जा रहे दस्तावेज़ को सहेजते हैं या आपकी मदद के लिए जो आपने किया था उसे ढीला नहीं करने के लिए। , जहां नरक ते पर उस डेटा को बचाने के लिए? आप पर एन्क्रिप्टेड विभाजन नहीं, शायद SWAP पर, अस्थायी फ़ोल्डर या सामान्य रूप से जहां एप्लिकेशन का लेखक चाहता था, इसलिए, आप यह नहीं जान सकते कि यह कहां सहेजा गया है .... फिर से सभी को एन्क्रिप्ट करें।

ओह, हाँ, grub.cfg एक RAID0, LUKS के ऊपर LUKS ... LUKS के ऊपर, आदि में निवास कर सकता है। आपको Grub2 को बताने के लिए केवल 8MiB के स्टेज 1.5 या 2 या 8MiB या उससे कम के लिए बहुत छोटे विभाजन की आवश्यकता है। बूट ... इंटरनेट पर BIOS GRUB विभाजन के लिए खोज।

क्षमा करें, मैंने अभी तक ZFS की कोशिश नहीं की है और निश्चित नहीं है कि अगर Grub files (grub.cfg, etc) एक ZFS के अंदर निवास कर सकते हैं ... लेकिन मैंने उन पर परीक्षण किया था: LvKS पर LVM से अधिक LVM से अधिक, LUKS से अधिक ... कुछ स्तरों ... EFI विभाजन के बिना एक वास्तविक GPT (एक MBR में ओलो) पर LUKS पर और यह ठीक बूट करता है ... केवल grub2 स्थापित करते समय एक्सटेंशन 'क्रिप्टो' और 'lvm' को जोड़ने की जरूरत है ... मैं टाइप करना पसंद करता हूं मेरे अपने grub.cfg तो मैं grub2-grub2 (फिर मैं पागल हूं) से संबंधित स्थापित करने के अलावा और कुछ का उपयोग नहीं करता।

मैं हमेशा मुख्य बूटलोडर को अपने स्वयं के grub.cfg के रूप में उपयोग करता हूं जो अन्य बूटलोडर्स को कॉल करता है, इस तरह मैं सिस्टम को अपने स्वयं के बूटलोडर को प्रबंधित करने देता हूं बिना मुख्य संपादक को छूने के बिना जो मैं एक पाठ संपादक के साथ मैन्युअल रूप से संपादित करता हूं।

क्षमा करें, मैं कुल पागल हूं।

आपको क्या सोचना चाहिए? यदि कोई 'जगह' है जहां गैर-एन्क्रिप्टेड डेटा लिखा / पढ़ा जा सकता है, तो किसी भी प्रकार का 'निजी' डेटा कुल मिस है, यह उस अनएन्क्रिप्टेड भाग पर लिखा जा सकता है। सुरक्षित होने के लिए, कभी भी कोई गैर-एन्क्रिप्टेड हिस्सा नहीं है।

P.D।: यदि आप EFI विभाजन का उपयोग करते हैं, तो ध्यान रखें कि कोई भी कोड लिख सकता है, क्योंकि यह कोई सुरक्षा नहीं है और यह एक गैर एन्क्रिप्टेड FAT32 विभाजन है।

P.P.D .: FAT32 पर डेटा कहाँ संग्रहीत किया जा सकता है? कहीं भी, मुक्त स्थान पर भी। और Ext4 में? बिल्कुल वैसा ही ... सभी रास्ते सभी भंडारण को एन्क्रिप्ट करते हैं।


0

mdadm / lvm / dm-crypt शायद आपकी सबसे अच्छी शर्त है - और यह उस परिसर में बिल्कुल भी नहीं है - आप बस प्रत्येक परत को उचित रूप से संभालते हैं - या, अपनी आवश्यकताओं के आधार पर, mdadm / dm-crypt / lmm (यदि आप सभी LV की चाहते हैं) 1 पासफ़्रेज़ के साथ एक उपकरण साझा करें)

आप सही हैं कि एनएफ़सीएफ का उपयोग न करें - यह असुरक्षित है

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