तपाईंको गेटवे आफैं हो भनी प्रमाणित गर्ने कुञ्जी र एक व्यक्ति सामेल हुन सक्छ भनी बताउने प्रमाण दुवै गोप्य हुन्, र समानता त्यहीँ सकिन्छ। एउटाले हरेक ग्राहकसामु सेवाको पहिचान गराउँछ; अर्कोले त्यो सेवासामु एक प्रयोगकर्ताको पहिचान गराउँछ। तिनीहरूलाई मिसाउँदा सेटअपमा एक चरण बच्छ र घटनाको समयमा आधा दिन बित्छ, किनकि दुवैको पुनःप्राप्ति एउटै कार्य होइन। विभाजन तयार गर्न उबाउने हुन्छ र छोड्न सम्झनलायक हुन्छ।

दुई गोप्य कुरा, दुई फरक मालिक

गेटवेले एउटा निजी कुञ्जी वा प्रमाणपत्र राख्छ जसको एकमात्र काम ह्यान्डशेकका बेला आफ्नो पहिचान प्रमाणित गर्नु हो। ग्राहकहरूलाई त्यो जाँच्न मिल्ने सार्वजनिक सामग्री चाहिन्छ, र उनीहरूलाई निजी आधा कहिल्यै चाहिँदैन। यही असमानताले हरेक प्रयोगकर्तालाई सर्भरको नक्कल गर्ने क्षमता नदिई सर्भर प्रमाणीकरण सम्भव बनाउँछ।

प्रयोगकर्ताको सामग्री उल्टो दिशामा जान्छ। ग्राहकको निजी कुञ्जी, ग्राहक प्रमाणपत्र वा पासवर्डले यही विशेष व्यक्ति वा यन्त्रलाई पहुँच दिइएको देखाउँछ। यो वितरण गरिने, यन्त्रहरूबीच प्रतिलिपि गरिने र अन्ततः रद्द गरिने अपेक्षा छ।

WireGuard ले विभाजन स्पष्ट बनाउँछ किनकि हरेक सहभागीसँग कुञ्जी-जोडी हुन्छ: सर्भरको निजी कुञ्जी सर्भरमै रहन्छ, र प्रयोगकर्तालाई दिइने कन्फिगरेसन फाइलमा उसको आफ्नै निजी कुञ्जी र सर्भरको सार्वजनिक कुञ्जी हुन्छ। सर्भरको निजी कुञ्जी भएको प्रोफाइल छोटो बाटो होइन, त्यो फाइल साझेदारीको प्रतीक्षामा रहेको सहुलियत हो।

विभाजन निर्धारण गर्ने तीन प्रश्न

गोप्य कुरा कसले पढ्न सक्नुपर्छ, खुलासाले आक्रमणकारीलाई के गर्न दिन्छ, र समाधान एक पटक रद्द गर्नु हो वा सेवाको पुनर्निर्माण, सोध्नुहोस्।

यदि प्रयोगकर्ताले त्यो पढ्न सक्छ र त्यसले गेटवेको पहिचान प्रमाणित गर्छ भने, दोस्रो प्रश्नको उत्तर हो कि आक्रमणकारीले हरेक ग्राहकसामु तपाईंको सर्भरको नक्कल गर्न सक्छ — यो सबैभन्दा नराम्रो परिणाम हो, किनकि ग्राहकहरू त्यो पहिचानमा विश्वास गर्नैका लागि बनाइएका हुन्। यदि त्यसले एक प्रयोगकर्ताको मात्र प्रमाणित गर्छ भने, खुलासाले त्यो प्रयोगकर्तालाई एक सहकर्मीसम्म पहुँच दिन्छ, र रद्द गर्नु नियमित कार्य हो। यदि त्यो प्रमाणपत्र प्राधिकरणको कुञ्जी हो भने, खुलासा दुवैभन्दा नराम्रो हुन्छ, किनकि आक्रमणकारीले हरेक अन्तिम बिन्दुले विश्वास गर्ने पहिचानहरू बनाउन सक्छ।

ती तीन उत्तरले भण्डारण नियम दिन्छन्: CA कुञ्जी अफलाइन वा तिजोरीमा रहन्छ, गेटवे कुञ्जी गेटवेमा रहन्छ, र प्रयोगकर्ता कुञ्जीहरू प्रयोगकर्तासँग रहन्छन्। सुविधाका लागि तीनवटै एउटै निर्देशिकामा राख्ने कुनै पनि व्यवस्थाले निर्णयलाई दुर्घटनामा बदलिदिएको छ।

ग्राहकलाई वास्तवमा के चाहिन्छ

ग्राहकलाई सार्वजनिक प्रमाणपत्र वा सहकर्मीको सार्वजनिक कुञ्जी, विश्वास गर्नुपर्ने CA सामग्री वा औंठाछाप, आफ्नै निजी कुञ्जी र अन्तिम बिन्दुको विवरण चाहिन्छ। त्यो सूचीमा गेटवेको निजी पहिचानको केही छैन।

कागजात नै चुहावट हुने ठाउँ हो। सर्भर निर्देशिका प्रतिलिपि गर्नु र नचाहिने मेट्नु भन्ने मार्गदर्शकले पहिले नै गलत ढाँचा सिकाइसकेको छ, किनकि मेट्ने चरणपछि बाँकी रहने फाइललाई विरलै कसैले जाँच्छ।

गेटवेलाई छुँदै नछोई एक प्रयोगकर्ता रद्द गर्नुहोस्

प्रयोगकर्ताका पहिचानहरू छुट्टै जारी हुने भएकाले तिनीहरू छुट्टै फिर्ता लिन सकिन्छ। प्रमाणपत्रमा आधारित तैनातीले ग्राहक प्रमाणपत्र रद्द गर्छ र अद्यावधिक रद्दीकरण सूची प्रकाशित गर्छ; WireGuard तैनातीले सर्भर कन्फिगरेसनबाट सहकर्मी प्रविष्टि हटाउँछ। यीमध्ये कुनै पनि कार्यले गेटवेको आफ्नै कुञ्जी बदल्दैन।

जारी अभिलेख राख्नुहोस्, नत्र कुन पहिचान फिर्ता लिने भन्ने थाहा हुँदैन। स्प्रेडसिट पर्याप्त छ, यदि त्यसमा व्यक्ति, यन्त्र, क्रमसंख्या वा सार्वजनिक कुञ्जी र मिति उल्लेख छ भने, र त्यो बनाउने व्यक्ति गएपछि पनि कसैले हेरचाह गर्छ भने।

तलका आदेशहरूले ग्राहक प्रमाणपत्र जाँच्छन् र त्यसपछि OpenSSL शैलीको प्राधिकरणमार्फत रद्द गर्छन्, easy-rsa ले यही प्रवाह बेर्छ:

openssl x509 -in client.crt -noout -subject -serial
openssl ca -config openssl.cnf -revoke client.crt
openssl ca -config openssl.cnf -gencrl -out crl.pem

नयाँ सूची ग्राहकहरूले जाँच्ने ठाउँमै प्रकाशित गर्नुहोस्, नत्र रद्दीकरण केही नबदल्ने फाइलको टिप्पणी मात्र हो। यदि तपाईंको गेटवेले रद्दीकरण सूची नहेरी ग्राहक प्रमाणपत्र स्वीकार गर्छ भने, रद्दीकरण चल्छ भन्ने सङ्केत दिनुको सट्टा त्यो स्पष्ट भन्नुहोस्।

ब्याकअपलाई गोप्य कुराझैं छुट्टै राख्नुहोस्

पुनर्निर्माण अभिलेखमा गेटवे कुञ्जी र CA सामग्री वैध रूपमा हुन्छ, किनकि तीबिना पुनर्स्थापनाले सेवा पुनः उत्पादन गर्न सक्दैन। ग्राहक सेटअप प्याकेजमा हुनु हुँदैन, र दुवैलाई सँगै भण्डारण गर्नु हुँदैन। हरेक अभिलेखलाई कसले राख्न सक्छ भन्ने आधारमा लेबल गर्नुहोस्, बनाइएको मितिका आधारमा होइन। थकित प्रशासकले राति दुई बजे त्यही लेबल पढ्छ।

यो भिन्नताले प्रत्येकलाई कसले प्राप्त गर्न सक्छ पनि निर्धारण गर्छ। गेटवेको प्रशासन, प्रयोगकर्ता पहिचान जारी गर्ने र ब्याकअप पढ्ने तीन फरक अधिकार हुन्, र जसलाई एउटा चाहिन्छ उसलाई अरू स्वतः चाहिँदैन। ती अनुमतिहरू लेख्नुहोस्, त्यसपछि तपाईंको भण्डारणले वास्तवमा के अनुमति दिन्छ भन्नेसँग तिनीहरूलाई जाँच्नुहोस्, किनकि निर्देशिका उत्तराधिकारले नीतिले सोचेभन्दा बढी चुपचाप दिन्छ।

सम्बन्धित लेखहरू