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

पैकेट को डिक्रिप्शन के बाद खींचें, पहले नहीं

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

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

  1. दूरस्थ क्लाइंट: उपयोगकर्ता का उपकरण जो टनल बनाता है।
  2. किनारा नीति: नियम-समूह जो बाहरी परिवहन को सार्वजनिक लिसनर तक स्वीकार करता है।
  3. समाप्त करने वाला उपकरण: VPN अंतिम बिंदु जो डीकैप्सुलेट करता है और पैकेट साधारण IP को सौंपता है।
  4. भीतरी फ़िल्टर: फ़ॉरवर्डिंग या सुरक्षा-समूह नियम-समूह जो क्लाइंट से सेवा तक ट्रैफ़िक सीमित करता है।
  5. अनुप्रयोग होस्ट: वह सेवा जो डिक्रिप्टेड अनुरोध प्राप्त करती है।

दो नीतियाँ, दो स्वामी

बाहरी नीति उत्तर देती है कि कौन टनल स्थापित कर सकता है, और वह उन नियमों में व्यक्त होती है जो परिवहन को समाप्त करने वाली सेवा तक स्वीकार करते हैं। भीतरी नीति उत्तर देती है कि प्रमाणित उपयोगकर्ता किस सेवा तक पहुँच सकता है, और वह फ़ॉरवर्डिंग नियमों, सुरक्षा समूहों या स्वयं अनुप्रयोग में रहती है। एक उपकरण दोनों की मेज़बानी कर सकता है, और कई उपकरणों वाले डिज़ाइन में भी दोनों होती हैं। उन्हें अलग-अलग नाम देना ही आपको यह बताने देता है कि कौन-सी विफल हुई जब कोई उपयोगकर्ता किसी अनुप्रयोग तक नहीं पहुँच पाता।

प्रमाणपत्र और बहु-कारक प्रमाणीकरण जैसे प्रवेश नियंत्रण पहचान का उत्तर देते हैं और कुछ नहीं। वे स्थान तय नहीं करते, और उपयोगकर्ता के भीतर आने के बाद संसाधन-वार अनुमति नहीं देते।

स्थान तय करता है कि अनुरोध कौन-सी सीमा पार करता है

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

PlacementWhat terminates thereWhat sees plaintextWhich control can still denyFailure domain
Termination in a dedicated segmentA dedicated VPN endpointThe endpoint and anything on its segmentThe filter between that segment and the applicationThe segment path can bypass the filter if no rule sits on it
Termination on the edge firewallThe firewall's public listenerThe firewall, after decapsulationThe firewall's inner rule setAdmission and inspection fail together
Termination on the protected LANThe appliance's LAN legEvery host on the protected LANOnly a host control or a downstream gatewayThe appliance and the protected hosts fail together

तीसरा स्थान वह है जो चुपचाप प्रवर्तन हटा देता है, क्योंकि संरक्षित खंड पर एक पैर उपकरण को सीधा पथ देता है जो आरेख शायद न दिखाए। चित्र के बजाय इंटरफ़ेस और रूट जाँचें: ip route get 10.20.5.10 बताता है कि पैकेट किस इंटरफ़ेस से निकलेगा, और उत्तर अक्सर वह नहीं होता जो डिज़ाइन ने मान लिया था। आसनों के बीच ट्रैफ़िक नियंत्रित करने की फ़ायरवॉल की पारंपरिक भूमिका, जैसा कि वर्णित हैNIST SP 800-41 में, यहाँ एक उपयोगी परीक्षण है, क्योंकि संरक्षित नेटवर्क तक असीमित पैर वाला उपकरण अधिक नियंत्रित नहीं करता। रूट खोज पेशकश के आरेख से अधिक ईमानदार आरेख है।

प्रशासन अपने ही स्पष्ट रूप से अनुमत पथ पर होना चाहिए। उपयोगकर्ताओं को किसी अनुप्रयोग तक पहुँचने देना कभी भी उन्हें उपकरण के नियंत्रण इंटरफ़ेस तक पहुँचने देना नहीं माँगता, और दोनों अनुमतियाँ अलग नियमों से दी जानी चाहिए। दोनों पथों का अलग-अलग अंकेक्षण करें, क्योंकि साझा नियम छिपाता है कि कौन-सा खोला गया।

अनुवाद बदल देता है कि नीचे के नियम क्या देख सकते हैं

स्रोत अनुवाद सुविधाजनक है और यह जानकारी नष्ट करता है। मास्करेड के बाद हर क्लाइंट उपकरण जैसा दिखता है, इसलिए उपयोगकर्ताओं को अलग पहचानने के लिए लिखा गया नीचे का नियम अब ऐसा नहीं कर सकता। यह केवल लॉगिंग की समस्या नहीं है, यह नीति की समस्या है: क्लाइंट पते पर कुंजीबद्ध नियम चुपचाप गेटवे पर कुंजीबद्ध नियम बन जाता है। यदि प्रति-उपयोगकर्ता नीति मायने रखती है, तो स्रोत सुरक्षित रखें या अनुवाद से पहले नीति लागू करें।

उत्तर पथ भी उसी जाँच का पात्र है। दर्ज करें कि गंतव्य वापसी पैकेट के लिए कौन-सा रूट चुनता है, क्योंकि असममित वापसी स्टेटफुल निरीक्षण को दरकिनार कर देती है और ऐसा कनेक्शन बनाती है जो स्थापित होकर अटक जाता है। दोनों दिशाओं को आपके खींचे सीमा को पार करना होगा, अन्यथा सीमा शोभा है।

sudo tcpdump -ni inside0 host 10.20.5.10
ip route get 10.20.5.10
sudo iptables -t nat -S POSTROUTING

एक अनुमत और एक अस्वीकृत कार्रवाई स्वीकार करें

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

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

अंतिम बिंदु, डिक्रिप्टेड पथ और उसे सीमित करने वाला नियंत्रण प्रलेखित करें। वे तीन पंक्तियाँ कार्यान्वयन का नाम कुछ भी हो, अर्थपूर्ण रहती हैं।

संबंधित लेख