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

दुई सीमा, र ती एक-अर्कामा ओभरल्याप हुँदैनन्

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

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

पहिलो सीमा: लिसनर कसले खोल्न सक्छ

वास्तविक सर्भर ठेगाना र कन्फिगर गरिएको पोर्ट पहिचान गर्नुहोस्, जो परिवर्तन नगरिएको भए 3050 हो, त्यसपछि होस्ट र नेटवर्क फायरवालमा अनुमोदित VPN स्रोतलाई मात्र अनुमति दिनुहोस्। VPN गेटवेमा हुने कुनै पनि ठेगाना अनुवादलाई विचार गर्नुहोस्, र गेटवे अलग भए डाटाबेस होस्टलाई क्लाइन्ट पूलतर्फ फर्कने मार्ग दिनुहोस्।

त्यसपछि निषेध प्रमाणित गर्नुहोस्। अस्वीकार गर्नुपर्ने बाह्य मार्ग अस्वीकृत नै रहनुपर्छ, किनकि टनेल खोल्नाले Firebird लिसनर आफैंमा सीमित हुँदैन।

दोस्रो सीमा: Firebird ले के कुरा गर्छ

Firebird 3 ले अक्षम, सक्षम वा अनिवार्य हुन सक्ने सर्भर नीतिसहित वायर-इन्क्रिप्शन ढाँचा प्रस्तुत गर्यो। नीतिले न्यूनतम तह तोक्छ। वास्तविक सत्र अझै पनि अनुप्रयोगले लोड गर्ने क्लाइन्ट लाइब्रेरी र दुवै पक्षले समर्थन गर्ने प्लगइनमा निर्भर छ।

Firebird 3 को रिलिज नोटहरूमा त्यो रिलिजका लागि Arc4 लाई पूर्वनिर्धारित वायर-इन्क्रिप्शन प्लगइनका रूपमा सूचीबद्ध गरिएको छ। Arc4 ऐतिहासिक पूर्वनिर्धारित हो, आधुनिक सिफरको सिफारिस होइन, र यो बाह्य VPN सुरक्षा जस्तै होइन।

प्रमाणीकरण त्यही वार्ताको तेस्रो चर हो। सर्भरले प्रमाणीकरण प्लगइनको समूह स्वीकार गर्छ, क्लाइन्ट लाइब्रेरीले त्यसको उपसमूह प्रस्ताव गर्छ, र दुवै ओभरल्याप हुनुपर्छ।

Legacy_Auth को जाल

Legacy_Auth समर्थन गर्न सर्भरको पूर्वनिर्धारित अनिवार्य-इन्क्रिप्शन नीति खुकुलो बनाउनुपर्छ। यही अभिलेखित अनुकूलता लागत हो, र त्यसैले जडान त्रुटि शान्त पार्न नीति तल झार्नु सुधार होइन, सुरक्षा परिवर्तन हो।

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

महत्त्वपूर्ण जडान जाँच्नुहोस्

सन्दर्भ चर उपलब्ध गराउने बिल्डमा, यो क्वेरीले हालको जडानको इन्क्रिप्शन स्थिति रिपोर्ट गर्छ:

SELECT RDB$GET_CONTEXT('SYSTEM', 'WIRE_ENCRYPTED')
FROM RDB$DATABASE;

यसलाई अनुप्रयोगको आफ्नै जडानबाट चलाउनुहोस्, त्यही सर्भरमा प्रशासक सत्रबाट होइन। इन्क्रिप्टेड प्रशासक जडानले अर्को क्लाइन्ट लाइब्रेरीको सत्रबारे केही भन्दैन, र चरलाई समर्थन नगर्ने पुरानो बिल्ड इन्क्रिप्शन बन्द छ भन्ने प्रमाण होइन।

क्लाइन्ट लाइब्रेरीको संस्करण, सर्भर बिल्ड र नतिजा सँगै लेख्नुहोस्, किनकि यीमध्ये कुनै पनि एक्लै पढ्न योग्य छैन।

अनुमतिहरू र अपग्रेड मार्ग

स्रोत सीमित गर्नु र यातायात इन्क्रिप्ट गर्नु प्रमाणीकरण वा न्यूनतम-विशेषाधिकार अनुमतिको विकल्प हुँदैन। सामान्य डाटाबेस प्रयोगकर्ताको वास्तवमा छुने वस्तुहरूमा अनुमति जाँच्नुहोस्।

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

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