आईपी ​​​​श्वेतसूचीकरण का उपयोग करके गोलंग वेब अनुप्रयोगों को सुरक्षित करना

आईपी ​​​​श्वेतसूचीकरण का उपयोग करके गोलंग वेब अनुप्रयोगों को सुरक्षित करना
आप जैसे पाठक MUO का समर्थन करने में मदद करते हैं। जब आप हमारी साइट पर लिंक का उपयोग करके खरीदारी करते हैं, तो हम संबद्ध कमीशन अर्जित कर सकते हैं। और पढ़ें।

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





क्रोम इतना सीपीयू का उपयोग क्यों कर रहा है
दिन का वीडियो सामग्री के साथ जारी रखने के लिए स्क्रॉल करें

वेब एप्लिकेशन, सर्वर और एपीआई को सुरक्षित करने के लिए आईपी एड्रेस व्हाइटलिस्टिंग कई आधुनिक तकनीकों में से एक है। हालांकि इसका उपयोग केवल कुछ विशिष्ट मामलों में किया जाता है, यह आवश्यक होने पर इंटरनेट पर संसाधनों तक पहुंच को प्रतिबंधित करने का एक अनुशंसित तरीका है।





आईपी ​​​​श्वेतसूची क्या है?

आईपी ​​​​श्वेतसूचीकरण बस एक है श्वेतसूची का प्रकार जिसे एक वेब सुरक्षा उपाय के रूप में संदर्भित किया जा सकता है जिसका उपयोग किसी नेटवर्क या संसाधन तक पहुंच को परिभाषित आईपी पते या सिस्टम तक पहुंचने के लिए अधिकृत आईपी पते की श्रेणी तक सीमित करने के लिए किया जाता है।





जब किसी सिस्टम में IP श्वेतसूची लागू की जाती है, तो केवल श्वेतसूची में जोड़े गए IP पते सिस्टम और उस पर संसाधनों तक पहुँचने में सक्षम होते हैं, जबकि अन्य IP पते अवरुद्ध होते हैं।

आईपी ​​​​श्वेतसूची बहुत महत्वपूर्ण डेटा को सुरक्षित करने का एक बहुत ही सामान्य तरीका है जो केवल एक व्यक्ति या लोगों के एक समूह के लिए उपलब्ध होना चाहिए, और किसी भी हैकिंग प्रयास से सुरक्षित होना चाहिए।



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

आपको आईपी श्वेतसूची कब लागू करनी चाहिए?

आईपी ​​​​श्वेतसूची हर सिस्टम या एप्लिकेशन की जरूरत नहीं है। ऐसे मामले हैं जहां इसे किसी एप्लिकेशन या सिस्टम में लागू करने की सिफारिश और उचित है। निम्नलिखित परिदृश्यों के कुछ उदाहरण हैं जहाँ आपको IP श्वेतसूची लागू करने पर विचार करना चाहिए।





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

कई और मामले हैं, लेकिन मौलिक रूप से, जब भी किसी एप्लिकेशन में ऊपर बताए गए गुणों में से कोई भी हो, तो आपको आईपी श्वेतसूची लागू करने पर विचार करना चाहिए।

गो में आईपी व्हाइटलिस्टिंग कैसे लागू करें

वेब सर्वर बनाने के लिए गो एक लोकप्रिय आधुनिक प्रोग्रामिंग भाषा है और एपीआई एक मानक और सुरक्षित वेब एप्लिकेशन बनाने के लिए आवश्यक सभी चीजों के साथ बंडल किए गए हैं।





यह खंड नमूना सर्वर और आईपी श्वेतसूची तर्क को लागू करने के लिए गो के जिन ढांचे के उपयोग को प्रदर्शित करता है जो एक मिडलवेयर फ़ंक्शन है। आप निम्न आदेश चलाकर किसी प्रोजेक्ट में जिन ढांचे को स्थापित कर सकते हैं।

 go get github.com/gin-gonic/gin 

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

 package middlewares 

import (
    "github.com/gin-gonic/gin"
    "net/http"
)

func IPWhiteListMiddleware(whitelist map[string]bool) gin.HandlerFunc {
    return func(c *gin.Context) {
        userIP := c.ClientIP()

        if !whitelist[userIP] {
            c.AbortWithStatusJSON(http.StatusForbidden, gin.H{
                "error": "You are not authorized to access this resource!",
            })
        } else {
            c.Next()
        }
    }
}

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

तब फ़ंक्शन जिन ढांचे का उपयोग करता है क्लाइंटआईपी अनुरोध करने का प्रयास करने वाले उपयोगकर्ता के वर्तमान आईपी पते को प्राप्त करने के लिए कार्य करें, और जांच करें कि क्या यह श्वेतसूची में और एक के साथ मौजूद है सत्य कीमत। यदि यह नहीं मिला है, या इसका मान पाया गया है असत्य , मिडलवेयर अनुरोध को रद्द कर देता है और 403 त्रुटि (निषिद्ध) देता है।

इस कार्यक्षमता का परीक्षण करने के लिए एक नमूना समापन बिंदु यह देखने के लिए लागू किया जा सकता है कि IP श्वेतसूची कैसे काम करती है। निम्नलिखित कोड एक प्रोग्राम है जो एक श्वेतसूची को परिभाषित करता है और दो समापन बिंदुओं (एक प्रतिबंधित और एक अप्रतिबंधित) को लागू करता है।

 package main 

import (
    "github.com/gin-gonic/gin"
    "go-ip-whitelist/middlewares"
    "net/http"
)

var IPWhitelist = map[string]bool{
    "127.0.0.1": true,
    "111.2.3.4": true,
    "::1": true,
}

func main() {
    router := gin.Default()

    router.GET("/index", func(c *gin.Context) {
        c.JSON(http.StatusOK, gin.H{
            "message": "Welcome to my secure application!",
        })
    })

    restrictedPage := router.Group("/")
    restrictedPage.Use(middlewares.IPWhiteListMiddleware(IPWhitelist))

    restrictedPage.GET("/adminZone", func(c *gin.Context) {
        c.JSON(http.StatusOK, gin.H{
            "message": "This endpoint is secured with IP whitelisting!",
        })
    })

    router.Run(":3333")
}

जब एप्लिकेशन के साथ चलाया जाता है जाओ भागो main.go , सर्वर 3333 पोर्ट पर शुरू होता है, और आप इसके लिए परीक्षण अनुरोध चला सकते हैं /adminZone एंडपॉइंट, यह देखने के लिए कि मिडलवेयर कैसे काम करता है। आप बीच में श्वेतसूची में लोकलहोस्ट आईपी के मान को भी टॉगल कर सकते हैं सत्य और असत्य .

यह दिखाने के लिए एक नमूना अनुरोध है कि कब IP पता श्वेतसूची में नहीं है या कब श्वेतसूची में इसका मान सेट किया गया है असत्य :

  आईपी ​​​​पता श्वेतसूचीबद्ध नहीं होने पर परीक्षण अनुरोध

आईपी ​​श्वेतसूची में आईपी पता मौजूद होने पर इसके मूल्य के साथ एक और अनुरोध यहां दिया गया है सत्य :

  आईपी ​​​​पता श्वेतसूचीबद्ध होने पर परीक्षण अनुरोध