
IPSpinner एक स्थानीय प्रॉक्सी के रूप में कार्य करता है जो बाहरी सेवाओं के माध्यम से अनुरोधों को पुनर्निर्देशित करता है।
IPSpinner एक स्थानीय प्रॉक्सी है जिसका उपयोग सभी आने वाले अनुरोधों को विभिन्न चयनित प्रदाताओं के माध्यम से पुनर्निर्देशित करने के लिए किया जा सकता है। इसका उद्देश्य एक पास-थ्रू प्रॉक्सी बनाना है जो प्रत्येक अनुरोध के स्रोत IP पते को घुमाता है। उदाहरण के तौर पर, IPSpinner के माध्यम से ब्रूटफोर्स ऑपरेशन चलाने से पकड़े जाने से बचने में मदद मिलेगी क्योंकि सर्वर को सैकड़ों विभिन्न IP पतों से अनुरोध प्राप्त होंगे।
IPSpinner वर्तमान में AWS (API Gateway), Azure (Cloud Shell) और GitHub (GitHub Actions) का समर्थन करता है।
चित्र 1: IPSpinner - समग्र आरेख
IPSpinner एक स्थानीय प्रॉक्सी के रूप में कार्य करता है जो अनुरोधों को बाहरी सेवाओं के माध्यम से पुनर्निर्देशित करता है। इस उद्देश्य के लिए, IPSpinner प्रदाताओं और लॉन्चरों का लाभ उठाता है।
एक प्रदाता किसी क्लाउड प्रदाता या ऑनलाइन सेवा प्रदाता (AWS, Azure, GitHub, आदि) के अनुरूप होता है, जो विभिन्न सेवाएँ प्रदान करता है, जिन्हें लॉन्चर कहा जाता है, जिनका उपयोग उपयोगकर्ता के अनुरोधों को रिले करने के लिए किया जा सकता है (AWS API Gateway, GitHub Actions, Azure Cloud Shells, आदि)।
इस प्रकार, IPSpinner को लॉन्च करने के लिए, उपयोगकर्ता को उन प्रदाताओं के लिए क्रेडेंशियल प्रदान करने होंगे जिन्हें वह उपयोग करना चाहता है और लॉन्चरों के लिए अतिरिक्त कॉन्फ़िगरेशन प्रदान करने होंगे। एक साथ कई लॉन्चर प्रकारों का उपयोग किया जा सकता है, IPSpinner प्रत्येक अनुरोध के लिए उपलब्ध लॉन्चरों में से यादृच्छिक रूप से एक का चयन करेगा।
इसके अलावा, IPSpinner एक प्रीलोड सुविधा लागू करता है। कुछ लॉन्चरों को प्रीलोड किया जा सकता है ताकि प्रॉक्सी द्वारा कोई नया होस्ट देखे जाने पर पुनर्विन्यास में देरी से बचा जा सके। इन लॉन्चरों के लिए, प्रीलोड प्रक्रिया अनुशंसित है लेकिन अनिवार्य नहीं है। अन्य लॉन्चरों के लिए, कोई प्रीलोडिंग आवश्यक नहीं है।
IPSpinner अनुरोध भेजने के लिए AWS API Gateway का लाभ उठा सकता है। यह कार्यान्वयन FireProx पर आधारित है, जो आने वाले अनुरोधों को पुनर्निर्देशित करने के लिए एक REST API Gateway बनाता है। इसलिए FireProx को प्रति API Gateway कई होस्टों को संभालने और नई सुविधाओं को लागू करने के लिए अनुकूलित किया गया है। संक्षेप में, जब IPSpinner को कोई अनुरोध प्राप्त होता है, तो यह सही API Gateway इंस्टेंस का चयन या निर्माण करता है और अनुरोध को उसकी ओर भेजता है। फिर, यह प्रतिक्रिया एकत्र करता है और उसे उपयोगकर्ता को लौटाता है। इस प्रकार, लक्षित सर्वर को अनुरोध API Gateway से प्राप्त हुआ है, न कि सीधे उपयोगकर्ता से। चूँकि API Gateway प्रत्येक अनुरोध के लिए अपना आउटगोइंग IP घुमाता है, IPSpinner इस सुविधा का उपयोग IP पते को घुमाने के लिए करता है।
चित्र 2: AWS API Gateway - समग्र आरेख
अगला ग्राफ, जो अक्टूबर 2024 में बनाया गया था, भेजे गए अनुरोधों की संख्या के अनुसार प्रति AWS क्षेत्र उपलब्ध अद्वितीय IP पतों की संख्या दिखाता है। अधिकांश क्षेत्र 100 से अधिक IP पते प्रदान करते हैं और एक साथ कई क्षेत्रों का उपयोग किया जा सकता है, जिससे उपयोगकर्ता अपने अनुरोधों को दुनिया भर के हजारों पतों के माध्यम से प्रॉक्सी कर सकता है।
चित्र 3: AWS API Gateway - प्रति क्षेत्र उपलब्ध IP पते
अंत में, चित्र 4 लघुगणकीय हरे रंग के स्तर के साथ दिखाता है कि प्रति देश कितने पते उपलब्ध हैं। यह प्रदर्शित करता है कि उपयोगकर्ता किसी भी महाद्वीप के पतों के साथ अपने स्रोत IP पते को जाली बना सकता है।
चित्र 4: AWS API Gateway - प्रति देश IP पते
IPSpinner एक रोटेशन सुविधा लागू करता है जो नियमित रूप से बनाए गए FireProx इंस्टेंसों को हटाता और नवीनीकृत करता है। जैसा कि निम्नलिखित ग्राफ दिखाता है, FireProx इंस्टेंस को घुमाने से IP का एक नया उपसमुच्चय प्राप्त हो सकता है। हालाँकि, प्रत्येक AWS क्षेत्र में IP का एक सीमित सेट होता है और इसलिए किसी बिंदु पर, रोटेशन नए IP प्रदान नहीं करेंगे।
चित्र 5: AWS API Gateway - रोटेशन प्रक्रिया
यह लॉन्चर एक प्रीलोडिंग प्रक्रिया लागू करता है। जैसा कि पहले कहा गया है, यह अनिवार्य नहीं है, लेकिन पुनर्विन्यास के बाद पहले कुछ सेकंड के दौरान कुछ पुनर्विन्यास देरी या सिंक्रनाइज़ेशन त्रुटियों को रोक सकता है।
इसके अलावा, API Gateways डिफ़ॉल्ट रूप से एक X-Forwarded-For हेडर सेट करते हैं, जिसे हटाया नहीं जा सकता लेकिन ओवरराइड किया जा सकता है। इस प्रकार, उपयोगकर्ता IPSpinner कॉन्फ़िगरेशन में एक IP पता रेंज निर्दिष्ट कर सकता है जिसमें से प्रत्येक अनुरोध के लिए एक यादृच्छिक IP चुना जाएगा (IPv4 या IPv6 रेंज)।
IPSpinner अनुरोध भेजने के लिए Azure Cloud Shell का लाभ उठाता है। Azure Cloud Shell Azure संसाधनों के प्रबंधन के लिए एक इंटरैक्टिव, प्रमाणित, ब्राउज़र-सुलभ टर्मिनल है। Cloud Shell प्रति-सत्र, प्रति-उपयोगकर्ता आधार पर प्रदान किए गए अस्थायी होस्ट पर चलता है।
इस प्रकार, IPSpinner कई Azure उपयोगकर्ताओं का उपयोग करता है जिनके लिए एक Cloud Shell सत्र तैयार किया जाता है। फिर, प्रत्येक अनुरोध को एक प्रारंभित Cloud Shell पर पुनर्निर्देशित किया जाएगा, और उसके IP पते को रीसेट करने के लिए उसे नवीनीकृत किया जाएगा।
चित्र 6: Azure Cloud Shell - समग्र आरेख
जैसा कि निम्नलिखित ग्राफ दिखाता है, Cloud Shell सत्रों को तैनात करने के लिए उपलब्ध विभिन्न क्षेत्र प्रत्येक दर्जनों IP पते प्रदान करते हैं। उपयोगकर्ता अपने IP पूल को बढ़ाने के लिए एक साथ कई क्षेत्रों को कॉन्फ़िगर कर सकता है।
चित्र 7: Azure Cloud Shell - प्रति क्षेत्र उपलब्ध IP पते
हालाँकि, IP पते AWS API Gateway की तुलना में अधिक केंद्रित हैं। जैसा कि निम्नलिखित मानचित्र दर्शाता है, उनमें से अधिकांश US, यूरोप और भारत में स्थित हैं।