मृत Windows पीसी से WireGuard सुरंगें पुनः प्राप्त करें
प्रोफ़ाइल DPAPI ब्लॉब हैं जो उन्हें बनाने वाले खाते और मशीन से बंधे हैं। फ़ाइल को नए पीसी पर कॉपी करने से आपके पास ऐसे बाइट रह जाते हैं जिन्हें कोई स्थानीय कुंजी नहीं खोल सकती।
एक लैपटॉप तीन WireGuard सुरंगों के साथ कॉन्फ़िगर होकर मर जाता है, और कॉन्फ़िगरेशन फ़ाइलें अब भी डिस्क पर हैं। उन्हें किसी प्रतिस्थापन मशीन पर कॉपी करने से ऐसी सेवा बनती है जो शुरू होती है और फिर ऊपर आने से इंकार कर देती है। फ़ाइलें उस कुंजी से सुरक्षित हैं जो उन्हें बनाने वाले खाते और मशीन की है, इसलिए बाइट यात्रा करते हैं और उन्हें पढ़ने की क्षमता नहीं। नीचे दी गई यात्रा फ़ाइल ढूँढने से उस विकल्प तक जाती है जो वास्तव में सेवा बहाल करता है।
सुरंग फ़ाइल अब कहाँ रहती है
संग्रहण संस्करणों के बीच बदला है। पुराने इंस्टॉलेशन प्रोफ़ाइल को सिस्टम प्रोफ़ाइल के स्थानीय एप्लिकेशन डेटा में WireGuard\Configurations फ़ोल्डर के अंतर्गत रखते थे, और मौजूदा बिल्ड प्रोग्राम फ़ाइलों के वृक्ष के भीतर एक डेटा निर्देशिका का उपयोग करते हैं। हर सुरंग एक ही फ़ाइल है जिसका दोहरा एक्सटेंशन सुरक्षा का नाम बताता है:
Get-ChildItem "C:\Program Files\WireGuard\Data\Configurations"
.dpapi प्रत्यय सजावट नहीं है। फ़ाइल एक सुरक्षित ब्लॉब है, और सेवा उसे ठीक उसी रूप में ग्रहण करने के लिए बनी है। उससे सुरंग स्थापित करने का समर्थित तरीका एक उन्नत कॉल है जो ब्लॉब की ओर संकेत करता है:
$blob = "C:\Program Files\WireGuard\Data\Configurations\hq.conf.dpapi"
wireguard.exe /installtunnelservice $blob
वह कमांड केवल उसी संदर्भ में सफल होता है जो ब्लॉब को खोल सकता है। यह एक सेवा स्थापित करता है; यह आपके लिए कुछ भी डिक्रिप्ट नहीं करता।
ब्लॉब कहीं और क्यों नहीं खुलता
सुरक्षा अपनी कुंजी उपयोगकर्ता के लॉगिन क्रेडेंशियल से और, चुने गए दायरे के आधार पर, मशीन से प्राप्त करती है। सुरक्षा कॉल के लिए Microsoft का दस्तावेज़ कहता है कि डिफ़ॉल्ट उस उपयोगकर्ता और मशीन का है जिन्होंने इसे एन्क्रिप्ट किया, और मशीन-व्यापी विकल्प बदलता है कि कौन इसे खोल सकता है। दोनों स्थितियों में कुंजी ऑपरेटिंग सिस्टम की क्रेडेंशियल सामग्री में रहती है, फ़ाइल के भीतर नहीं। सिफ़रटेक्स्ट पोर्टेबल है; कुंजी नहीं।
फ़ोल्डर का स्वामित्व लेने से एक ACL बदलता है और कुछ नहीं। पुरानी डिस्क को एन्क्लोज़र में लगाकर ब्लॉब को नए पीसी पर कॉपी करने से आपके पास ऐसा सिफ़रटेक्स्ट रह जाता है जिसकी कुंजी कभी कॉपी नहीं हुई। विफलता क्रिप्टोग्राफ़िक है, और सेवा को फिर से स्थापित करने का कोई भी मात्रा उसे नहीं बदलता। नई मशीन के पास उस खाते के लिए कोई मास्टर कुंजी नहीं है, और पुराना कुंजी भंडार फ़ाइल के साथ यात्रा नहीं करता।
जो उत्पाद सेटिंग को धुँधली फ़ाइल में रखते हैं, वे अंतर स्पष्ट कर देते हैं। केवल धुँधला किया गया कॉन्फ़िगरेशन उस झंडे को मिलते ही पठनीय हो जाता है जो धुँधलापन बंद करता है; सुरक्षित ब्लॉब कुंजी के बिना बंद ही रहता है। दोनों को मिला देना लोगों को ऐसा डिकोडर ढूँढने भेजता है जो मौजूद नहीं है।
पुराना सिस्टम अभी बूट होते समय क्या आज़माएँ
अगर इंस्टॉलेशन अभी भी शुरू होता है, तो क्लाइंट से सुरंगें निर्यात करें जब आप उस खाते के रूप में साइन इन हों जिसने उन्हें बनाया। निर्यात सामान्य कॉन्फ़िगरेशन फ़ाइलें बनाता है, और तभी बैकअप पोर्टेबल बनता है।
अगर डिस्क पठनीय है लेकिन Windows बूट नहीं होता, तो सुरक्षित फ़ाइलें वास्तव में खो चुकी हैं। जो उपकरण उन्हें वापस लाने का वादा करते हैं, वे या तो उस मूल संदर्भ में चल रहे हैं जो अब आपके पास नहीं है, या आपसे ब्लॉब और अपनी पुरानी डिस्क छवि सौंपने को कह रहे हैं, जो ऐसा निर्णय है जिस पर रुकना बनता है।
आप जो भी सीखें उसे दर्ज करें: सुरंगों के नाम, अंतिम बिंदु और सार्वजनिक कुंजियाँ। नाम और अंतिम बिंदु आपको तेज़ी से पुनर्निर्माण करने देते हैं, और सार्वजनिक कुंजियाँ साथी पक्ष को पहचानने देती हैं कि कौन-सी प्रविष्टि हटानी है।
इसके बजाय साथी पक्ष से पुनर्निर्माण करें
जिस साथी को आप नियंत्रित करते हैं उसके लिए नई कुंजी जोड़ी बनाएँ और नई सार्वजनिक कुंजी को साथी की सूची में जोड़ें। किसी कॉर्पोरेट या होस्टेड अंतिम बिंदु के लिए प्रशासक से नई कुंजी जारी करने और पुरानी हटाने को कहें। यह अनुरोध वही है जो आप चोरी के बाद करते, क्योंकि खोई डिस्क का अर्थ है कि पुरानी निजी कुंजी को उजागर मानना होगा।
फिर आपने जो मान दर्ज किए उनसे सुरंग का पुनर्निर्माण करें, और कुछ और हटाने से पहले हैंडशेक की पुष्टि करें। साथी पर पुरानी प्रविष्टि उसी बदलाव में गायब होनी चाहिए, ताकि चोरी हुई डिस्क बाद में फिर से जुड़ न सके।
सबक बैकअप नीति में है, किसी पुनर्प्राप्ति उपकरण में नहीं। WireGuard कॉन्फ़िगरेशन एक क्रेडेंशियल है: जिसके पास निजी कुंजी है उसके पास साथी की पहचान है, और रास्ते में कोई दूसरा पासवर्ड नहीं है। या तो कॉन्फ़िगरेशन जानबूझकर निर्यात करें और उसे अपने अन्य रहस्यों के साथ रखें, या स्वीकारें कि पुनर्प्राप्ति का अर्थ कुंजियाँ फिर से जारी करना है, और लिख लें कि कौन-सा विकल्प किस सुरंग पर लागू होता है।