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

हस्ताक्षरले सङ्ग्रह प्रमाणित गर्छ, त्यसको कोड होइन

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

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

त्यसैले कुञ्जीको पहिचान भण्डारको URL जत्तिकै ध्यानको योग्य छ। पुरानो फोरम उत्तरको ठेगानाबाट लिइएको कुञ्जीले प्रकाशकबारे केही प्रमाणित गर्दैन, जबकि HTTPS ले फोन उठाउनेसम्मको ढुवानीको रक्षा गर्छ। ढुवानी सुरक्षा र प्रकाशक पहिचान छुट्टाछुट्टै प्रश्न हुन्, र पहिलो मात्र प्रमाणपत्रले टुङ्गिन्छ।

कुञ्जीलाई प्रणालीमा होइन, स्रोतमा सीमित गर्नुहोस्

आधुनिक APT ले स्रोत-विशेष Signed-By सन्दर्भ स्वीकार गर्छ। अपरेटरले व्यवस्थापन गरेको कुञ्जी /etc/apt/keyrings/ मुनि रहन सक्छ, र स्रोत प्रविष्टिले त्यो सङ्ग्रह प्रमाणित गर्न अनुमति पाएको कुञ्जीको नाम दिन्छ। यो त्यही कुञ्जीलाई विश्वव्यापी विश्वसनीय समूहमा हाल्नुभन्दा साँघुरो हुन्छ, जहाँ यसले तपाईंले कहिल्यै अनुमति दिन नचाहेका स्रोतको जमानत दिन सक्छ। विभिन्न पुस्ताका निर्देशिकाका टुक्रा मिसाउनुभन्दा स्थापित APT संस्करण र विक्रेताका हालका निर्देशनहरू पालना गर्नुहोस्।

curl -fsSL https://repo.example.com/vpn-key.gpg -o /etc/apt/keyrings/vpn.gpg
echo "deb [signed-by=/etc/apt/keyrings/vpn.gpg] https://repo.example.com/debian stable main" > /etc/apt/sources.list.d/vpn.list

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

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

स्रोत पिनिङ प्याकेज अनुमति सूची होइन

कुञ्जीलाई एउटा स्रोतमा सीमित गर्नु भनेको त्यसले कुन सङ्ग्रह प्रमाणित गर्न सक्छ भन्ने सीमित गर्नु हो, त्यो सङ्ग्रहले कुन प्याकेज प्रकाशित गर्न सक्छ भन्ने होइन। भण्डारले तपाईंले चाहेको VPN क्लाइन्टभन्दा धेरै पठाउन सक्छ, र कुन योग्य संस्करण जित्छ भन्ने APT को उम्मेदवार छनोट र प्राथमिकताले निर्धारण गर्छ। पुष्टि गर्नुअघि प्रस्तावित कारोबार, निर्भरता सूचीसहित समीक्षा गर्नुहोस्, किनकि निर्भरताहरू त्यही सङ्ग्रहबाट आउँछन्। कुञ्जीको दायराले ’यो प्याकेज मात्र’ भन्न सक्दैन।

थप बलियो नियन्त्रण चाहिए त्यसलाई प्याकेज नाम वा संस्करणमाथिको नीतिका रूपमा व्यक्त गर्नुहोस् र त्यो नीति कन्फिगरेसन व्यवस्थापनमुनि राख्नुहोस्। कारोबार पढ्न एक मिनेट लाग्छ; छ महिनापछि अप्रत्याशित प्याकेज भेट्टाउन एक समीक्षा लाग्छ।

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

अधिकार र त्यसलाई कसरी हटाउने अभिलेख गर्नुहोस्

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

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

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

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