गेटवे होस्टचे प्रमाणपत्र अजून वैध असतानाच त्याच्याशी तडजोड झाली असे समजा. अभ्यागत कोणती पाने मागू शकतो हे ठरवणारा प्रत्येक नियम लागू राहतो, आणि त्या नियमांपैकी कोणताही नियम हल्लेखोराने आता त्या होस्टवरून डेटाबेस सबनेटकडे उघडलेल्या कनेक्शनला मर्यादित करत नाही. हीच पोकळी म्हणजे केवळ-वेब प्रवेश बिंदू विभाजित नेटवर्कसारखाच दावा नाही याचे कारण. दोन्ही दाव्यांना वेगवेगळ्या सुरुवातीच्या बिंदूंवरून स्वतंत्र आढावे लागतात, त्यापैकी कोणताही प्रामाणिकपणे मांडता येण्यापूर्वी.

दोन दावे, आणि त्यापैकी फक्त एकच अभ्यागताकडून सुरू होतो

पहिला दावा एका व्यक्तीबद्दल आहे: ब्राउझर आणि वैध सत्र असलेला अभ्यागत एक अनुप्रयोग उघडू शकतो, त्यापुढे काही नाही. केवळ-वेब प्रवेश बिंदू त्या दाव्याला चांगले उत्तर देतो, कारण अभ्यागताला मार्ग नाही तर पृष्ठ मिळते. ते उत्तर ठेवण्यासारखे आहे, आणि बहुतेक आकृत्या नोंदवतात तो एकमेव दावाही तोच आहे.

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

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

एक कार्यान्वित खर्च सेवा, आणि ती ज्या दोन प्रकारे हरते

एक खर्च सेवा घ्या: 10.60.4.10 वरचा सार्वजनिक गेटवे कर्मचाऱ्यांचे प्रमाणीकरण करतो आणि मंजूर विनंत्या पोर्ट 8443 वरच्या अनुप्रयोग श्रोत्याकडे पाठवतो, आणि तो अनुप्रयोग expenses_app भूमिका म्हणून 10.60.4.20:5432 वरच्या एका PostgreSQL श्रोत्यापर्यंत पोहोचतो. कर्मचाऱ्यांना सामान्य अंतर्गत प्रवेश मिळावा हा हेतू नाही. सामान्य कारभारात रचना खरोखर डेटाबेस श्रोत्याला कुठेही प्रकाशित न करता अनुप्रयोग-विशिष्ट प्रवेश देते. पत्ते महत्त्वाचे आहेत, कारण या लेखातील प्रत्येक पुढील तपासणी त्यांची नावे घेते.

आता गेटवे विश्वासार्ह संचातून काढा. 10.60.4.10 ची प्रक्रिया हल्लेखोराची झाल्यावर तो कोणत्या गंतव्यांपर्यंत पोहोचू शकतो? अभ्यागतांना मर्यादित करणारा URL गाळणी गेटवे होस्टने डेटाबेस सबनेटकडे उघडलेल्या कनेक्शनबद्दल काहीही सांगत नाही.

त्याऐवजी अनुप्रयोग प्रक्रिया काढा, आणि अधिकाराचे स्वरूप बदलते: expenses_app भूमिका, तो सर्व्हर ज्या सेवांपर्यंत पोहोचू शकतो, आणि ते खाते ज्या फाइली वाचू शकते. दोन्ही बाबतीत पुढचे दार केवळ-वेब राहू शकते, तर बॅकएंडची सीमा अनुपस्थित असते. म्हणून पुढच्या दारावरील लेबल दोन्ही प्रश्नांपैकी कोणत्याचे उत्तर नाही.

प्रत्येक पक्षाकडे प्रत्यक्षात असलेल्या अधिकाराचे नकाशे काढा

हेतू केलेल्या परवानग्या म्हणून लिहिलेला करार तुम्हाला रचना पुन्हा सांगतो. तो धारण केलेला अधिकार, अधिकतेचे खंडन करणारी तपासणी आणि त्या तपासणीचा मालक म्हणून लिहा, मग प्रत्येक ओळ चाचणीयोग्य होते. हा तक्ता वरील उदाहरणासाठीचा प्रस्ताव आहे, उत्पादन दावा नाही:

ComponentAuthority it actually holdsCheck that proves the denialOwner of the check
Identity providerIssues assertions and session cookies, and holds no network path of its ownA request to the application URL without a session is redirected to the login pageIdentity team
Public gateway hostTCP reachability to whatever its routing table and egress rules permitAn egress rule drops 10.60.4.20:5432 and the probe reports the port filteredNetwork platform team
Application roleSQL privileges granted to expenses_app inside the expenses databaseA privilege query shows no ownership or create right on any other schemaApplication team
Database listenerAccepts connections only from the source ranges named in its host-based rulesA connection from an unlisted address is refused before authenticationDatabase administrator
Management pathAdministrative access reserved for patching, monitoring and recoveryA staff workstation cannot reach the administrative port or jump through itPlatform 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 परिमिती मार्गदर्शन अंतर्गत नेटवर्कमधील रहदारीसह, न्याय्य पोर्ट आणि प्रोटोकॉलपर्यंत आवक आणि जावक प्रवेश मर्यादित करण्यास सांगते, जो बॅकएंडपासून सुरू होणारा दिशा आहे आणि बहुतेक आकृत्या तो सोडून देतात.

आढाव्याला तारीख द्या आणि त्याच्या मालकाचे नाव द्या. गेटवे प्रतिमा, मार्गनिर्देशन तक्ता किंवा अनुप्रयोग भूमिकेत कोणताही बदल झाल्यावर गणना आणि विशेषाधिकार क्वेरी पुन्हा चालवा.

संबंधित लेख