त्रुटीने संपणारा हँडशेक संदेश पाहण्यापर्यंत हल्ल्यासारखा वाटतो, आणि बहुतेक वेळा ते गणित असते: सामायिक प्रस्ताव नाही, कालबाह्य प्रमाणपत्र, किंवा कधीही न पोहोचलेले पॅकेट. डाउनग्रेड हल्ला ही एक विशिष्ट गोष्ट आहे: हल्लेखोर दोन्ही टोकांना त्यांनी निवडले असते त्यापेक्षा दुर्बल वर्तनाकडे ढकलतो, आणि तो वेगळे पुरावे सोडतो. प्रत्येक अपयशाला दुर्भावना मानल्यास तुम्ही असा बळी शोधता जो कदाचित अस्तित्वात नसेल, तर खऱ्या डाउनग्रेडला कॉन्फिगरेशन बग मानल्यास दुर्बल निकाल जागेवरच राहतो. दोन्ही चुकांची किंमत वेगळी आहे, आणि फक्त एकच स्वस्तात दुरुस्त करता येते.

डाउनग्रेड हल्ला प्रत्यक्षात काय बदलतो

ध्येय सायफर तोडणे नाही आणि किल्ली ओळखणे नाही. ध्येय वाटाघाटीवर असा प्रभाव टाकणे आहे की दोन्ही बाजू हल्लेखोर हाताळू शकेल अशा जुन्या आवृत्तीवर किंवा दुर्बल अल्गोरिदमवर थांबतील, किंवा एक बाजू दुसरी फक्त तेच पाठवते असे मानेल.

बदलतो तो करार, प्रमाणीकरण नाही. हल्लेखोराला न कळता प्रस्ताव बदलता आला, तर दोन्ही बाजू हँडशेक पूर्ण करू शकतात आणि एकमेकांना प्रमाणित करू शकतात, पण हल्लेखोराला आवडणाऱ्या पॅरामीटरसह. म्हणूनच खरा प्रश्न असा की वाटाघाटी स्वतः अखंडता संरक्षणात आहे का.

वाटाघाटीचेच प्रमाणीकरण का आवश्यक आहे

TLS 1.3 हे संरक्षण स्पष्ट करते. नवी आवृत्ती देऊ केलेला क्लायंट शांतपणे मागे फिरलेला सर्व्हर ओळखू शकतो, कारण सर्व्हरचे यादृच्छिक मूल्य 1.2 किंवा त्याहून कमी वाटाघाटी करताना ठराविक नमुना घेऊन येते, आणि क्लायंटला ते पाहिल्यावर थांबावे लागते. संपूर्ण ट्रान्स्क्रिप्ट अंतिम संदेशांनीही व्यापलेले आहे, म्हणून वाटाघाटीत कुठेही बदल नंतर अपयशी होतो, शांतपणे पार होत नाही.

जुन्या प्रोटोकॉल आवृत्त्यांच्या कथा दुर्बल होत्या, आणि म्हणूनच फॉलबॅक नियम महत्त्वाचे आहेत. त्याच कॉन्फिगरेशनमधील TLS 1.0 एंडपॉइंट डाउनग्रेड हल्ला नाही; तो तुम्ही अनुमती देण्याचे निवडलेला अनुमत निकाल आहे. फरक असा की दुर्बल निकाल संरक्षित निर्णयातून आला की मध्यस्थ प्रभाव टाकू शकेल अशा असंरक्षित मार्गातून. असे म्हटल्यावर बहुतेक घटना कॉन्फिगरेशनच्या प्रश्नात उतरतात.

IKEv2 वेगळे वागते पण त्याच कल्पनेवर उभे आहे. प्रस्ताव अशा देवाणघेवाणीत नेला जातो जी नंतर दोन्ही बाजूंचे प्रमाणीकरण करते, म्हणून अल्गोरिदम पुन्हा लिहिणारा मधला बॉक्स प्रमाणीकरणाला दिशा देण्याऐवजी तोडतो. OpenVPN चा नियंत्रण चॅनेल TLS ने आपली वाटाघाटी संरक्षित करतो आणि नंतर त्या चॅनेलने डेटा चॅनेलचे सायफर ठरवतो, म्हणूनच नियंत्रण चॅनेलची लॉग ओळ महत्त्वाची आहे.

कॉन्फिगर केलेली सुसंगती हल्ला नाही

प्रशासक दस्तऐवजीकृत क्लायंटला आधार देण्यासाठी जाणूनबुजून जुने पर्याय अनुमत करू शकतो, आणि तो निर्णय कॉन्फिगरेशनमध्ये दिसतो. हल्लेखोर ते कॉन्फिगरेशन तयार करू शकत नाही; तो फक्त असा मार्ग वापरू शकतो जो प्रस्तावावर प्रभाव टाकू देतो.

धोकादायक दुरुस्ती ती आहे जी फरकाचा पुरावा काढून टाकते. प्रत्येक जुना पर्याय सुरू करणे, प्रमाणपत्र पडताळणी बंद करणे किंवा त्रुटी मिटवण्यासाठी कोणतेही सायफर स्वीकारणे हे एंडपॉइंट जे स्वीकारेल ते विस्तारते, आणि दुर्बल निकाल कळवणाऱ्या तपासण्या काढून टाकते.

जुना पर्याय एक ठेवावाच लागला, तर कारण आणि क्लायंट कॉन्फिगरेशन टिप्पणीत नमूद करा, नंतर पर्याय त्या प्रोफाइलपुरता मर्यादित करा ज्याला तो हवा आहे. एका श्रोत्यापुरता मर्यादित सुसंगती अपवाद लेखापरीक्षणयोग्य असतो; सर्वत्र लागू केलेला फक्त दुर्बल डीफॉल्ट असतो जो कोणालाही निवडल्याचे आठवत नाही.

कारण सांगण्यापूर्वी अपयश वाचा

कोणत्याही बदलापूर्वी अचूक त्रुटी मजकूर, क्लायंट व सर्व्हर आवृत्त्या आणि वेळ जतन करा. नंतर वर्गीकरण करा: बाजूंचे प्रस्तावावर एकमत नव्हते, पॅकेट मार्ग अपयशी झाला, की एका बाजूने पूर्वी स्वीकारलेले पॅरामीटर नाकारले?

प्रस्तावाची जुळणी न होणे सहसा दोषी आवृत्त्या किंवा अल्गोरिदम सांगते आणि प्रत्येक वेळी त्याच बिंदूवर अपयशी होते. राउटिंग किंवा MTU समस्या थांबते किंवा वेळ संपते, आणि ती नेटवर्कनुसार बदलते. कालबाह्य प्रमाणपत्र वाटाघाटीची नाही तर पडताळणीची त्रुटी देते.

यापैकी कोणतेही हल्लेखोराचा पुरावा नाही. पहिल्या अपयशीवर दुर्भावनापूर्ण कारण मानणे ही चूक आहे, कारण ती उद्या पुन्हा अपयशी होणारा निश्चित बग लपवते.

प्रत्यक्षात काय निवडले गेले याची खात्री करा

कोणत्याही दुरुस्तीनंतर जोडणी आली असे मानण्याऐवजी वाटाघाटी झालेला निकाल वाचा. पडताळणी काढून टाकल्यामुळे यशस्वी झालेली जोडणी हाच तो निकाल आहे जो तुम्हाला टाळायचा होता. खालील दोन आज्ञा TLS-समोरील एंडपॉइंटसाठी निवडलेली आवृत्ती व सायफर, तसेच OpenVPN सर्व्हर लॉगमधील नियंत्रण चॅनेल ओळ दाखवतात.

openssl s_client -connect 198.51.100.30:443 -servername vpn.example.net -brief </dev/null
grep -iE 'Control Channel|Data Channel' /var/log/openvpn.log | tail -5

निकालाची तुलना तुम्ही इच्छिलेल्या कॉन्फिगरेशनशी करा, आता जे जोडले जाते त्याच्याशी नाही. निवडलेली आवृत्ती अनुमत किमानपेक्षा जुनी असल्यास प्रोफाइल किंवा फॉलबॅक यादी पाहण्याची जागा आहे, आणि उत्तर ती यादी दुरुस्त करणे आहे, हल्ला जाहीर करून सभोवतालचे सर्व पुन्हा बांधणे नाही.

संबंधित लेख