“पूरी डिस्क एन्क्रिप्शन वाले निजता-केंद्रित VPS” की खोज आमतौर पर किसी मूल्य पृष्ठ पर एक चेकबॉक्स पर ख़त्म होती है। वह चेकबॉक्स असली है, लेकिन उससे जो मिलता है वह मार्केटिंग के इशारे से कहीं सीमित है। कुछ भी एन्क्रिप्ट करने से पहले यह साफ़ होना मदद करता है कि आप डेटा को किससे बचा रहे हैं, क्योंकि एक अहम मामले में डिस्क एन्क्रिप्शन बिल्कुल कुछ नहीं करता।
VPS पर एन्क्रिप्शन क्या बचाता है, और क्या नहीं
VPS किसी और के हार्डवेयर पर चलने वाली वर्चुअल मशीन है। जब यह चलती है, तो डिस्क अनलॉक रहती है और एन्क्रिप्शन कुंजी VM की मेमोरी में रहती है। होस्ट मशीन सिद्धांत रूप में वह मेमोरी पढ़ सकती है। इसलिए:
एन्क्रिप्शन इनसे बचाने में मदद करता है:
- आपकी डिस्क इमेज या स्नैपशॉट की कोई प्रति ऐसी जगह पहुँच जाए जहाँ नहीं होनी चाहिए।
- हार्डवेयर बदलने के बाद पुरानी डिस्कें हटाई जाएँ।
- कोई आपके चालू सर्वर तक पहुँचे बिना स्टोरेज या बैकअप तक पहुँच जाए।
एन्क्रिप्शन इनसे नहीं बचाता:
- जो भी चालू होस्ट को नियंत्रित करता है।
- वह हमलावर जिसे आपके सर्वर पर शेल मिल जाए: उसके लिए डिस्क पहले से अनलॉक है।
- सर्वर चालू रहते हुए भेजे गए क़ानूनी अनुरोध।
यह एन्क्रिप्शन छोड़ने का कारण नहीं है। यह इसे सही काम के लिए इस्तेमाल करने और इसे अदृश्यता न समझने का कारण है।
पूरी रूट डिस्क एन्क्रिप्ट क्यों न करें?
आप कर सकते हैं, लेकिन तब हर रीबूट पासफ़्रेज़ माँगने पर रुक जाएगा। आप उसे वेब कंसोल से अनलॉक करेंगे, या initramfs में SSH सर्वर (dropbear) डालकर दूर से अनलॉक करेंगे। अब कर्नेल अपडेट के लिए आपका मौजूद होना ज़रूरी होगा; बिना निगरानी वाले रीबूट का मतलब है कि आपके लॉग इन करने तक सेवा बंद। ज़्यादातर लोगों के लिए बेहतर समझौता है: सिस्टम डिस्क सामान्य रखें, और संवेदनशील डेटा एक एन्क्रिप्टेड वॉल्यूम पर रखें जिसे आप बूट के बाद अनलॉक करते हैं।
पाँच कमांड में एक एन्क्रिप्टेड तिजोरी
एक फ़ाइल में बना LUKS कंटेनर किसी भी VPS पर चलता है, अतिरिक्त डिस्क की ज़रूरत नहीं:
apt install -y cryptsetup
fallocate -l 10G /srv/vault.img
cryptsetup luksFormat /srv/vault.img # set a strong passphrase
cryptsetup open /srv/vault.img vault
mkfs.ext4 /dev/mapper/vault
इसे माउंट करें और इस्तेमाल करें:
mkdir -p /mnt/vault && mount /dev/mapper/vault /mnt/vault
रीबूट के बाद तिजोरी तब तक बंद रहती है जब तक आप इसे फिर न खोलें:
cryptsetup open /srv/vault.img vault && mount /dev/mapper/vault /mnt/vault
अतिरिक्त कुंजी के रूप में दूसरा पासफ़्रेज़ जोड़ें (cryptsetup luksAddKey /srv/vault.img) और दोनों को पासवर्ड मैनेजर में रखें। दोनों खो गए तो डेटा हमेशा के लिए चला जाएगा: कोई भी सपोर्ट टिकट उसे वापस नहीं ला सकता।
अपनी संवेदनशील सेवाओं (डेटाबेस डायरेक्टरी, दस्तावेज़ भंडार, पासवर्ड मैनेजर का डेटा फ़ोल्डर) को /mnt/vault की ओर इंगित करें और उन्हें तभी शुरू होने दें जब तिजोरी माउंट हो जाए।
अक्सर बेहतर: डिस्क नहीं, डेटा एन्क्रिप्ट करें
डिस्क एन्क्रिप्शन डिस्क पर ही रुक जाता है। जो डेटा आप कहीं और कॉपी करते हैं (बैकअप, एक्सपोर्ट, सिंक), वह बिना एन्क्रिप्शन के जाता है, जब तक आप उसे भी एन्क्रिप्ट न करें। डेटा के साथ चलने वाली सुरक्षा आमतौर पर ज़्यादा क़ीमती होती है:
- बैकअप: restic अपलोड से पहले क्लाइंट की तरफ़ सब कुछ एन्क्रिप्ट करता है।
- फ़ाइलें:
age -p secrets.tar > secrets.tar.ageपासफ़्रेज़ से एन्क्रिप्ट करता है। - ऐप में गोपनीय जानकारी: ऐप का अपना एन्क्रिप्शन इस्तेमाल करें (कई पासवर्ड मैनेजर, Nextcloud का सर्वर-साइड एन्क्रिप्शन, डेटाबेस कॉलम एन्क्रिप्शन)।
EQVPS में यह कैसा दिखता है
हम पहचान पत्र नहीं माँगते, आपका डेटा नहीं बेचते, और एक warrant canary प्रकाशित करते हैं। Managed Backups होस्ट छोड़ने से पहले एन्क्रिप्ट होते हैं और स्टोरेज में एन्क्रिप्टेड रहते हैं, लेकिन हमारी कुंजी से, क्योंकि जिस बैकअप को हम रिस्टोर न कर सकें वह बैकअप नहीं है। अगर आपको ऐसा डेटा चाहिए जिसे आपके सिवा कोई न पढ़ सके, तो डिस्क तक पहुँचने से पहले उसे खुद एन्क्रिप्ट करें। यह हर सर्वर पर सच है, हमारे पर भी।
निष्कर्ष
जो कुछ भी आप किसी लीक हुए स्नैपशॉट में देखना नहीं चाहेंगे, उसके लिए डेटा वॉल्यूम एन्क्रिप्ट करें। बैकअप को स्रोत पर ही एन्क्रिप्ट करें। और किसी चेकबॉक्स को आपको यह यक़ीन न दिलाने दें कि चालू वर्चुअल सर्वर एक तिजोरी है: आपके पास निजता का सबसे मज़बूत औज़ार है वह डेटा न रखना जिसकी आपको ज़रूरत नहीं।
टिप्पणियाँ
अभी तक कोई टिप्पणी नहीं। पहले बनें।