समझौता किया गया वेब गेटवे अभी भी कहाँ तक पहुँच सकता है?
वेब गेटवे सीमित करता है कि आगंतुक क्या खोलता है, यह नहीं कि समझौता किया गया होस्ट कहाँ कनेक्ट कर सकता है। दो समीक्षाएँ, एक अधिकार तालिका और पहुँच मापने वाले आदेश।
मान लीजिए कि गेटवे होस्ट से समझौता हो गया है जबकि उसका प्रमाणपत्र अभी भी वैध है। आगंतुक किन पृष्ठों का अनुरोध कर सकता है, यह तय करने वाला हर नियम लागू रहता है, और उनमें से कोई भी नियम उस कनेक्शन को सीमित नहीं करता जो हमलावर अब उस होस्ट से डेटाबेस सबनेट की ओर खोलता है। यही खाई कारण है कि केवल-वेब प्रवेश बिंदु विभाजित नेटवर्क के समान दावा नहीं है। दोनों दावों के लिए अलग-अलग समीक्षाएँ चाहिए, अलग-अलग प्रारंभिक बिंदुओं से, इससे पहले कि उनमें से किसी को ईमानदारी से किया जा सके।
दो दावे, और उनमें से केवल एक आगंतुक से शुरू होता है
पहला दावा एक व्यक्ति के बारे में है: ब्राउज़र और वैध सत्र वाला आगंतुक एक एप्लिकेशन खोल सकता है और कुछ नहीं। केवल-वेब प्रवेश बिंदु उस दावे का अच्छा उत्तर देता है, क्योंकि आगंतुक को मार्ग के बजाय पृष्ठ मिलता है। वह उत्तर रखने योग्य है, और यह वही एकमात्र दावा भी है जिसे अधिकांश आरेख दर्ज करते हैं।
दूसरा दावा एक घटक के बारे में है: मान लिया जाता है कि गेटवे, या उसके पीछे की एप्लिकेशन प्रक्रिया, किसी और के नियंत्रण में है। इस धारणा से प्रश्न किन URL की अनुमति है से बदलकर यह हो जाता है कि प्रक्रिया अभी भी किन गंतव्यों और पहचानों तक पहुँच सकती है।
दोनों दावों के मालिक अलग हैं, अलग प्रमाण देते हैं और स्वतंत्र रूप से विफल होते हैं। पहचान टीम सत्र परीक्षण से पहला दावा दिखा सकती है; दूसरे के लिए नेटवर्क नीति, सेवा-खाता समीक्षा और होस्ट नियंत्रण चाहिए। जो डिज़ाइन केवल आगंतुक का आधा हिस्सा दर्ज करता है, वह समीक्षा स्लाइड पर पूरा और घटना के समय पतला दिखता है, क्योंकि समझौते के बाद महत्वपूर्ण नियंत्रण कभी दायरे में नहीं थे। बताइए कि कौन-सा नियंत्रण किस दावे का समर्थन करता है, वरना एक गेटवे नियम दोनों के खाते में जाएगा।
एक काम किया हुआ व्यय सेवा, और वह जिन दो तरह से हारती है
एक व्यय सेवा लें: 10.60.4.10 पर सार्वजनिक गेटवे कर्मचारियों को प्रमाणित करता है और स्वीकृत अनुरोधों को पोर्ट 8443 पर एप्लिकेशन श्रोता तक भेजता है, और वह एप्लिकेशन expenses_app भूमिका के रूप में 10.60.4.20:5432 पर एक PostgreSQL श्रोता तक पहुँचता है। कर्मचारियों को सामान्य आंतरिक पहुँच मिलनी नहीं है। सामान्य संचालन में डिज़ाइन वास्तव में डेटाबेस श्रोता को कहीं भी प्रकाशित किए बिना एप्लिकेशन-विशिष्ट प्रवेश देता है। पते महत्वपूर्ण हैं, क्योंकि इस लेख में बाद का हर जाँच उनके नाम लेता है।
अब गेटवे को विश्वसनीय समूह से हटाइए। 10.60.4.10 की प्रक्रिया हमलावर की होने पर वह किन गंतव्यों तक पहुँच सकता है? आगंतुकों को सीमित करने वाला URL फ़िल्टर गेटवे होस्ट के डेटाबेस सबनेट की ओर खोले जाने वाले कनेक्शन के बारे में कुछ नहीं कहता।
इसके बजाय एप्लिकेशन प्रक्रिया हटाइए, और अधिकार आकार बदलता है: expenses_app भूमिका, वे सेवाएँ जिन तक वह सर्वर पहुँच सकता है, और वे फ़ाइलें जिन्हें वह खाता पढ़ सकता है। दोनों स्थितियों में सामने का दरवाज़ा केवल-वेब रह सकता है जबकि बैकएंड सीमा अनुपस्थित है। इसलिए सामने के दरवाज़े पर लगा लेबल दोनों प्रश्नों में से किसी का उत्तर नहीं है।
हर पक्ष के वास्तविक अधिकार का नक्शा बनाइए
इच्छित अनुमतियों के रूप में लिखा गया अनुबंध आपको डिज़ाइन दोहराकर लौटाता है। इसे धारित अधिकार, अतिरिक्त को गलत सिद्ध करने वाली जाँच और उस जाँच के मालिक के रूप में लिखिए, तब हर पंक्ति परीक्षण योग्य हो जाती है। यह तालिका ऊपर के उदाहरण के लिए प्रस्ताव है, उत्पाद दावा नहीं:
| Component | Authority it actually holds | Check that proves the denial | Owner of the check |
|---|---|---|---|
| Identity provider | Issues assertions and session cookies, and holds no network path of its own | A request to the application URL without a session is redirected to the login page | Identity team |
| Public gateway host | TCP reachability to whatever its routing table and egress rules permit | An egress rule drops 10.60.4.20:5432 and the probe reports the port filtered | Network platform team |
| Application role | SQL privileges granted to expenses_app inside the expenses database | A privilege query shows no ownership or create right on any other schema | Application team |
| Database listener | Accepts connections only from the source ranges named in its host-based rules | A connection from an unlisted address is refused before authentication | Database administrator |
| Management path | Administrative access reserved for patching, monitoring and recovery | A staff workstation cannot reach the administrative port or jump through it | Platform owner |
स्वामित्व अधिकार का अनुसरण करता है। पहचान टीम अभिकथनों की मालिक है, नेटवर्क प्लेटफ़ॉर्म टीम मार्गों की, एप्लिकेशन टीम डेटाबेस भूमिका की, डेटाबेस प्रशासक श्रोता और उसके होस्ट-आधारित नियमों का, और प्लेटफ़ॉर्म मालिक प्रबंधन तल का। बिना मालिक का इनकार दस्तावेज़ में एक वाक्य है, नियंत्रण नहीं।
यह विभाजन दोहरी गणना भी रोकता है। पोर्ट प्रतिबंध तालिका विशेषाधिकार व्यक्त नहीं कर सकता, और डेटाबेस भूमिका किसी होस्ट को असंबंधित सबनेट की ओर सॉकेट खोलने से नहीं रोक सकती।
गेटवे कहाँ तक पहुँच सकता है, यह दावा करने के बजाय गिनिए
सीमा का दावा उसके पीछे की गणना जितना ही अच्छा होता है। गेटवे होस्ट पर तीन आदेश मार्ग चयन, जीवंत प्रोब और निर्गम नीति को कवर करते हैं:
ip route get 10.60.4.20
nc -zv 10.60.4.20 5432
sudo nft list chain inet filter outputआउटपुट उसी क्रम में पढ़िए। मार्ग बताता है कि 10.60.4.20 उस होस्ट से चुना जाता है या नहीं; प्रोब बताता है कि श्रोता उत्तर देता है या नहीं; नियम सूची दिखाती है कि नीति पैकेट रोकती है या उसके मार्ग में कभी कुछ था ही नहीं।
एप्लिकेशन होस्ट से गणना दोहराइए। वहाँ से डेटाबेस पक्ष एप्लिकेशन भूमिका के रूप में चलाई गई एक क्वेरी है:
psql -h 10.60.4.20 -U expenses_app -d expenses -c 'select rolname, rolsuper, rolcreatedb from pg_roles'ऐसी भूमिका के अधीन सफल कनेक्शन, जो दूसरी स्कीमा नहीं पढ़ सकती, मालिक भूमिका के अधीन सफल कनेक्शन से अलग परिणाम है। केवल दूसरा ही एक खोज है।
इनकारों को दर्ज कीजिए, फिर समीक्षा को तारीख दीजिए
स्वीकृति आशयों के बजाय परिणामों के रूप में लिखी जाती है: कर्मचारी सत्र श्रोता तक नहीं पहुँच सकता, गेटवे होस्ट असंबंधित सबनेट तक नहीं पहुँच सकता, और एप्लिकेशन भूमिका डेटाबेस नहीं बना सकती। हर एक नामित मालिक और तारीख वाली अलग जाँच है।
निगरानी, पैचिंग और पुनर्प्राप्ति को उनके लिए बनाए गए प्रबंधन मार्ग से पहुँच योग्य रखें। जो सीमा अपने मालिक को भी अवरुद्ध करती है वह व्यवधान बन जाती है, और उस व्यवधान की सामान्य पहली प्रतिक्रिया नियम को फिर से चौड़ा करना है। CISA परिधि मार्गदर्शन आगमन और निर्गम पहुँच को उचित पोर्ट और प्रोटोकॉल तक सीमित करने के लिए कहता है, जिसमें आंतरिक नेटवर्क के बीच ट्रैफ़िक भी शामिल है, जो बैकएंड से शुरू होने वाली दिशा है जिसे अधिकांश आरेख छोड़ देते हैं।
समीक्षा को तारीख दीजिए और उसके मालिक का नाम बताइए। गेटवे इमेज, रूटिंग तालिका या एप्लिकेशन भूमिका में किसी भी बदलाव के बाद गणना और विशेषाधिकार क्वेरी फिर से चलाइए।