SSRF एक क्लाउड-आइडेंटिटी समस्या है, सिर्फ़ URL-फ़िल्टर नहीं
संक्षेप में: कोई सर्वर-साइड रिक्वेस्ट फ़ोर्जरी किसी निर्दोष फ़ेच-फ़ीचर को आंतरिक सेवाओं और क्लाउड क्रेडेंशियल तक पहुँच में बदल सकती है। टिकाऊ बचाव गंतव्यों, रीडायरेक्ट, DNS रिज़ॉल्यूशन और वर्कलोड-आइडेंटिटी — सभी को मिलाकर सीमित करते हैं।
भेद्य फ़ीचर अक्सर हानिरहित दिखता है
एप्लिकेशन लिंक-प्रीव्यू, वेबहुक, डॉक्यूमेंट-इंपोर्ट, इमेज-प्रोसेसिंग और सुरक्षा-स्कैन के लिए रिमोट कंटेंट फ़ेच करते हैं। ख़तरा तब शुरू होता है जब कोई हमलावर गंतव्य के किसी भी हिस्से को नियंत्रित करता है और सर्वर उन नेटवर्कों तक पहुँच सकता है जिन तक हमलावर नहीं पहुँच सकता। एप्लिकेशन एक प्रॉक्सी बन जाता है, जो सर्वर के भरोसे को आंतरिक स्थान में ले जाता है।
स्ट्रिंग्स की एक छोटी सूची को ब्लॉक करना काफ़ी नहीं है। वैकल्पिक IP प्रतिनिधित्व, IPv6 रूप, रीडायरेक्ट, यूज़र-इन्फ़ो सिंटैक्स और DNS रीबाइंडिंग, वैलिडेशन पास हो जाने के बाद भी, किसी दिखने में सार्वजनिक URL को लूपबैक एड्रेस, प्राइवेट सेवा या क्लाउड मेटाडेटा एंडपॉइंट के लिए रिक्वेस्ट में बदल सकते हैं।
हर नेटवर्क-निर्णय को सत्यापित करें
- केवल आवश्यक स्कीम और पोर्ट की अनुमति दें, और क्रेडेंशियल, फ़्रैगमेंट, अस्पष्ट होस्ट-सिंटैक्स और ग़ैर-कैननिकल एड्रेस-रूप अस्वीकार करें।
- होस्टनेम रिज़ॉल्व करें, हर लौटाए गए एड्रेस को वर्गीकृत करें, और IPv4 व IPv6 दोनों के लिए लूपबैक, प्राइवेट, लिंक-लोकल, मल्टीकास्ट और रिज़र्व्ड रेंज अस्वीकार करें।
- हर रीडायरेक्ट-टारगेट को फिर से सत्यापित करें और कनेक्शन को सत्यापित एड्रेस पर पिन करें, ताकि जाँच और रिक्वेस्ट के बीच DNS बदल न सके।
- रिस्पॉन्स-साइज़, कंटेंट-टाइप, टाइमआउट और रीडायरेक्ट-सीमाएँ लागू करें, ताकि कोई अनुमति-प्राप्त फ़ेच रिसोर्स-थकावट का रास्ता न बन जाए।
नेटवर्क-नियंत्रणों को एप्लिकेशन-जाँचों का बैकस्टॉप होना चाहिए
एप्लिकेशन-वैलिडेशन बदलता रहेगा और पीछे भी हट सकता है, इसलिए रनटाइम को एक स्वतंत्र एग्रेस-सीमा चाहिए। एक संकरी allowlist, आइसोलेटेड नेटवर्क-पथ और प्रोडक्शन कंट्रोल-प्लेन तक बिना एक्सेस वाली समर्पित फ़ेच-सेवा यह नाटकीय रूप से घटा देती है कि कोई पार्सर-ग़लती कहाँ तक पहुँच सकती है।
क्लाउड मेटाडेटा-सुरक्षा भी मायने रखती है। जहाँ समर्थित हो वहाँ सत्र-आधारित मेटाडेटा-प्रोटोकॉल अनिवार्य करें, नेटवर्क-स्तर पर मेटाडेटा-रूट ब्लॉक करें, और फ़ेच करने वाले वर्कलोड को सबसे छोटी संभव पहचान दें। अगर कोई रिक्वेस्ट किसी आंतरिक क्रेडेंशियल-एंडपॉइंट तक पहुँच भी जाए, तो वहाँ चुराने लायक़ कुछ थोड़ा या कुछ भी नहीं होना चाहिए।
बायपास-श्रेणियाँ टेस्ट करें, एक पेलोड नहीं
किसी परिचित मेटाडेटा-एड्रेस पर एक अकेली रिक्वेस्ट सिर्फ़ एक स्मोक-टेस्ट है। एक पूर्ण SSRF-सुइट एन्कोडिंग-ट्रिक, दशमलव और हेक्साडेसिमल एड्रेस, मिश्रित IPv6 नोटेशन, रीडायरेक्ट-चेन, DNS-बदलाव, पार्सर-असहमति और आंतरिक होस्टनेम को कवर करती है। यह यह भी सत्यापित करती है कि विफलताएँ रिस्पॉन्स-टाइमिंग या बॉडी-फ़्रैगमेंट लीक न करें।
KENSAI का प्रमाण-प्रथम दृष्टिकोण गंतव्य-वर्गीकरण और वास्तव में जुड़े गए एड्रेस को दर्ज करता है। यह किसी प्रतीत होते ब्लॉक को इस सत्यापन-योग्य प्रमाण में बदल देता है कि रिक्वेस्ट ने अभीष्ट नेटवर्क-सीमा कभी पार नहीं की।
निष्कर्ष
रिमोट फ़ेचिंग को विशेषाधिकार-प्राप्त नेटवर्क-एक्सेस मानें। गंतव्यों को सत्यापित और पिन करें, रीडायरेक्ट को दोबारा जाँचें, एग्रेस सीमित करें, और वर्कलोड-पहचान को न्यूनतम रखें, ताकि एक पार्सिंग-ग़लती किसी क्लाउड भंग में न बदल जाए।
निरंतर सुरक्षा निगरानी, भेद्यता स्कैनिंग, और अनुपालन-तैयार साक्ष्य ट्रेल पाएँ।
निःशुल्क स्कैन शुरू करें