क्या लिनक्स के लिए एक एन्क्रिप्टेड राइट-ओनली फाइल सिस्टम है?


14

मैं लिनक्स के लिए एक एन्क्रिप्टेड फाइलसिस्टम की खोज कर रहा हूं, जो केवल राइट-मोड में माउंट किया जा सकता है, इसका मतलब है कि आपको पासवर्ड की आपूर्ति के बिना इसे माउंट करने में सक्षम होना चाहिए, फिर भी फाइल लिखने / अपेंड करने में सक्षम होना चाहिए, लेकिन न तो आपको होना चाहिए आपके द्वारा लिखी गई फ़ाइलों को पढ़ने में सक्षम हो और न ही पहले से ही फाइलसिस्टम पर मौजूद फाइलों को पढ़ें। फ़ाइलों को एक्सेस केवल तब दिया जाना चाहिए जब पासवर्ड सिस्टम पासवर्ड के माध्यम से माउंट किया गया हो। इसका उद्देश्य लॉग फाइल या इसी तरह के डेटा को लिखना है जो केवल लिखा गया है, लेकिन कभी भी संशोधित नहीं किया गया है, बिना फ़ाइलों को स्वयं उजागर किए बिना। फ़ाइल अनुमतियाँ यहां मदद नहीं करती हैं क्योंकि मैं चाहता हूं कि सिस्टम पूरी तरह से समझौता किए जाने पर भी डेटा अप्राप्य हो।

क्या लिनक्स पर ऐसी कोई चीज़ मौजूद है? या यदि नहीं, तो एन्क्रिप्टेड लॉग फाइल बनाने के लिए सबसे अच्छा विकल्प क्या होगा?

मेरे वर्तमान वर्कअराउंड में डेटा को आसानी से पाइप करना शामिल है gpg --encrypt, जो काम करता है, लेकिन बहुत ही बोझिल है, क्योंकि आप आसानी से संपूर्ण रूप से फाइल सिस्टम तक पहुंच प्राप्त नहीं कर सकते हैं, आपको प्रत्येक फ़ाइल को gpg --decryptमैन्युअल रूप से पाइप करना होगा।


3
मेरा मानना ​​है कि आप वह कर सकते हैं जो आप चाहते हैं syslog। वह लॉग संदेशों की पीढ़ी को उस सिस्टम से अलग करता है जो उन्हें संग्रहीत करता है, इसलिए संदेश उत्पन्न करने वाले ऐप्स की कोई पहुंच नहीं है जहां वे संग्रहीत हैं। लॉग एक अलग सर्वर पर भी हो सकते हैं (और अक्सर होते हैं)।
mpez0

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

जवाबों:


4

... मैं चाहता हूं कि सिस्टम पूरी तरह से समझौता किए जाने पर भी डेटा अप्राप्य हो।

यह नहीं हो सकता। यदि सिस्टम पूरी तरह से समझौता किया गया है, तो उस पर "परिभाषा के अनुसार" कुछ भी सुलभ है - जिसमें एन्क्रिप्शन कुंजी भी शामिल है।

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

आपको उस डेटा को शिप करना होगा जिसे आप सिस्टम के बाहर सुरक्षित रखना चाहते हैं + इसे उस सिस्टम पर एक मध्यस्थ माध्यम को न लिखें, यदि आप पूरी तरह से इसे प्राप्त करना नहीं चाहते हैं। rsyslogलॉगिंग के संबंध में स्पष्ट रूप से इसका समर्थन करता है, और आप स्रोत के बीच कनेक्शन को एन्क्रिप्ट कर सकते हैं और ओपनवीपीएन stunnelया इसी तरह के सिंक के साथ सिंक कर सकते हैं । मुझे यकीन है कि वहाँ अन्य "वन-वे" हस्तांतरण विकल्प हैं।



"क्योंकि वे राम में रहने के लिए फाइल सिस्टम को डिक्रिप्ट करने के लिए है" यह सामान्य रूप में नहीं विशेष रूप से LUKS के साथ सच है, लेकिन हो सकता है: विषम क्रिप्टो वास्तव में उद्देश्य है कि के लिए डिज़ाइन किया गया है (किसी सार्वजनिक कुंजी एन्क्रिप्ट कर सकते हैं पकड़े, लेकिन नहीं डिक्रिप्ट)
मेहरबान

3

यह मुझे लगता है जैसे आप गलत दिशा में जा रहे हैं। यदि आप एक ऐसी फ़ाइल चाहते हैं, जिसे आप लिख सकते हैं, लेकिन पढ़ नहीं रहे हैं, तो फ़ाइल अनुमतियाँ वह हैं जो आप खोज रहे हैं।


$ touch log
$ chmod 222 log
$ echo test > log
$ cat log
cat: log: Permission denied

बेशक, यह फ़ाइल एक एन्क्रिप्टेड फ़ाइल सिस्टम पर हो सकती है।


आप दिए गए umask के साथ फाइलसिस्टम को माउंट कर सकते हैं, उपयोगकर्ताओं को अनुमतियाँ बदलने की अनुमति नहीं देते हैं।
nos

और केवल फ़ाइल (या सुपरयूज़र) का मालिक अनुमति बदल सकता है।
गोरिल्ला

मुझे लगता है कि ओपी एक हमलावर के खिलाफ खुद को बचाने की कोशिश कर रहा है।
क्लेमेंट

1
umask 0477 && touch file && echo test > file && cat file

उपयोगी भी हो सकता है। वर्तमान प्रक्रिया के भीतर बनाई गई किसी भी फ़ाइल में 0200 मोड होगा।

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