IP వైట్‌లిస్టింగ్‌ని ఉపయోగించి గోలాంగ్ వెబ్ అప్లికేషన్‌లను భద్రపరచడం

IP వైట్‌లిస్టింగ్‌ని ఉపయోగించి గోలాంగ్ వెబ్ అప్లికేషన్‌లను భద్రపరచడం
మీలాంటి పాఠకులు MUOకి మద్దతు ఇవ్వడానికి సహాయం చేస్తారు. మీరు మా సైట్‌లోని లింక్‌లను ఉపయోగించి కొనుగోలు చేసినప్పుడు, మేము అనుబంధ కమీషన్‌ను సంపాదించవచ్చు. ఇంకా చదవండి.

ఇంటర్నెట్ సాంకేతికత యొక్క ఆధునిక రంగంలో, సైబర్-దాడుల యొక్క ఫ్రీక్వెన్సీ మరియు అధునాతనత పెరుగుతూనే ఉన్నందున వెబ్ అప్లికేషన్‌లు మరియు సర్వర్‌ల భద్రతను నిర్ధారించడం యొక్క ప్రాముఖ్యతను అతిగా చెప్పలేము. దీని కారణంగా, వెబ్ ఆధారిత సిస్టమ్‌ల కోసం పటిష్టమైన మరియు అత్యాధునిక భద్రతా చర్యల అవసరం కూడా పెరుగుతోంది.





రోజు యొక్క వీడియోను తయారు చేయండి కంటెంట్‌తో కొనసాగడానికి స్క్రోల్ చేయండి

IP చిరునామా వైట్‌లిస్టింగ్ అనేది వెబ్ అప్లికేషన్‌లు, సర్వర్లు మరియు APIలను భద్రపరచడానికి అనేక ఆధునిక పద్ధతుల్లో ఒకటి. ఇది కొన్ని నిర్దిష్ట సందర్భాలలో మాత్రమే ఉపయోగించబడినప్పటికీ, అవసరమైనప్పుడు ఇంటర్నెట్‌లోని వనరులకు ప్రాప్యత పరిమితిని నిర్ధారించడానికి ఇది సిఫార్సు చేయబడిన మార్గం.





IP వైట్‌లిస్టింగ్ అంటే ఏమిటి?

IP వైట్‌లిస్టింగ్ అనేది కేవలం a వైట్‌లిస్టింగ్ రకం ఒక నెట్‌వర్క్ లేదా రిసోర్స్‌కి యాక్సెస్‌ని నిర్వచించిన IP చిరునామాకు లేదా సిస్టమ్‌ను యాక్సెస్ చేయడానికి అధీకృతంగా పరిగణించబడే IP చిరునామాల శ్రేణికి యాక్సెస్‌ని పరిమితం చేయడానికి ఉపయోగించే వెబ్ సెక్యూరిటీ కొలతగా సూచించవచ్చు.





సిస్టమ్‌లో IP వైట్‌లిస్టింగ్ అమలు చేయబడినప్పుడు, వైట్‌లిస్ట్‌కు జోడించబడిన IP చిరునామాలు మాత్రమే దానిలోని సిస్టమ్ మరియు వనరులను యాక్సెస్ చేయగలవు, అయితే ఇతర IP చిరునామాలు బ్లాక్ చేయబడతాయి.

IP వైట్‌లిస్టింగ్ అనేది చాలా క్లిష్టమైన డేటాను భద్రపరచడానికి చాలా సాధారణ మార్గం, ఇది ఒక వ్యక్తికి లేదా నిర్దిష్ట వ్యక్తులకు మాత్రమే అందుబాటులో ఉండాలి మరియు ఏదైనా హ్యాకింగ్ ప్రయత్నం నుండి రక్షించబడుతుంది.



మీరు ఉన్న MongoDB అట్లాస్‌లో IP వైట్‌లిస్టింగ్‌కి ఒక సాధారణ ఉదాహరణ క్లౌడ్‌లో మొంగో డేటాబేస్ క్లస్టర్‌ను సెటప్ చేయండి మరియు మీ ప్రస్తుత IP చిరునామాను జాబితాకు జోడించమని మీరు ప్రాంప్ట్ చేయబడతారు, తద్వారా మీ డేటాబేస్ లేదా క్లస్టర్‌కు అభ్యర్థనలు మీ కంప్యూటర్ నుండి వచ్చినప్పుడు మాత్రమే అనుమతించబడతాయి.

మీరు IP వైట్‌లిస్టింగ్‌ను ఎప్పుడు అమలు చేయాలి?

IP వైట్‌లిస్టింగ్ అనేది ప్రతి సిస్టమ్ లేదా అప్లికేషన్‌కు అవసరమైనది కాదు. అప్లికేషన్ లేదా సిస్టమ్‌లో దీన్ని అమలు చేయడానికి సిఫార్సు చేయబడిన మరియు సముచితమైన సందర్భాలు ఉన్నాయి. మీరు IP వైట్‌లిస్ట్‌ని అమలు చేయడాన్ని పరిగణించాల్సిన కొన్ని దృశ్యాలకు ఈ క్రింది ఉదాహరణలు ఉన్నాయి.





  • అప్లికేషన్ ఒక నిర్దిష్ట కంపెనీ ఉద్యోగులు లేదా కస్టమర్‌లు వంటి నిర్దిష్ట వినియోగదారుల సమూహం కోసం మాత్రమే ఉద్దేశించబడినప్పుడు.
  • మీరు అప్లికేషన్‌ను నిర్దిష్ట స్థానం నుండి మాత్రమే ప్రాప్యత చేయాలనుకున్నప్పుడు, మీరు ఆ స్థానానికి మాత్రమే నిర్దిష్టమైన IP చిరునామాల పరిధిని వైట్‌లిస్ట్ చేయవచ్చు.
  • పరిశోధన డేటాబేస్ లేదా యాజమాన్య సాఫ్ట్‌వేర్ వంటి రహస్య సమాచారం లేదా మేధో సంపత్తికి ప్రాప్యతను అందించడానికి అప్లికేషన్ ఉపయోగించినప్పుడు.
  • అప్లికేషన్ ప్రైవేట్‌గా ఉన్నప్పటికీ ఇంటర్నెట్‌లో యాక్సెస్ చేయగలిగినప్పుడు మరియు DDoS దాడులు లేదా మాల్‌వేర్ ఇన్‌ఫెక్షన్‌ల వంటి బాహ్య బెదిరింపుల నుండి రక్షించబడాలి.
  • అప్లికేషన్ పబ్లిక్ క్లౌడ్ ప్లాట్‌ఫారమ్‌లో హోస్ట్ చేయబడినప్పుడు మరియు ప్లాట్‌ఫారమ్ యొక్క ఇతర అద్దెదారులు లేదా వినియోగదారులచే అనధికారిక యాక్సెస్ నుండి రక్షించబడినప్పుడు.
  • భద్రతా ప్రమాణాలను పాటించాల్సిన అవసరం ఉన్న ఆరోగ్య సంరక్షణ లేదా ఫైనాన్స్ వంటి నియంత్రిత పరిశ్రమలో అప్లికేషన్ ఉపయోగించినప్పుడు.

ఇంకా చాలా సందర్భాలు ఉన్నాయి, కానీ ప్రాథమికంగా, ఒక అప్లికేషన్ పైన పేర్కొన్న ఏవైనా లక్షణాలను కలిగి ఉన్నప్పుడు, మీరు IP వైట్‌లిస్ట్‌ని అమలు చేయడాన్ని పరిగణించాలి.

గోలో IP వైట్‌లిస్టింగ్‌ని ఎలా అమలు చేయాలి

గో అనేది వెబ్ సర్వర్‌లను రూపొందించడానికి ఒక ప్రసిద్ధ ఆధునిక ప్రోగ్రామింగ్ భాష మరియు APIలు మీకు ప్రామాణికమైన మరియు సురక్షితమైన వెబ్ అప్లికేషన్‌ను రూపొందించడానికి అవసరమైన అన్నిటితో బండిల్ చేయబడ్డాయి.





ఈ విభాగం నమూనా సర్వర్ మరియు మిడిల్‌వేర్ ఫంక్షన్ అయిన IP వైట్‌లిస్టింగ్ లాజిక్‌ను అమలు చేయడానికి గోస్ జిన్ ఫ్రేమ్‌వర్క్‌ను ఉపయోగించడాన్ని ప్రదర్శిస్తుంది. కింది ఆదేశాన్ని అమలు చేయడం ద్వారా మీరు ప్రాజెక్ట్‌లో జిన్ ఫ్రేమ్‌వర్క్‌ను ఇన్‌స్టాల్ చేయవచ్చు.

 go get github.com/gin-gonic/gin 

జిన్ ఫ్రేమ్‌వర్క్‌ను ఇన్‌స్టాల్ చేసిన తర్వాత, మీరు ఇప్పుడు IP వైట్‌లిస్టింగ్ మిడిల్‌వేర్‌ను అమలు చేయడానికి ముందుకు వెళ్లవచ్చు. మీరు మీ ప్రాజెక్ట్ ఆర్కిటెక్చర్ ఆధారంగా మీ ప్రాజెక్ట్‌లో ఎక్కడైనా కొత్త మిడిల్‌వేర్ ఫైల్‌ను సృష్టించవచ్చు. మిడిల్‌వేర్ ఫంక్షన్ యొక్క అమలు ఇక్కడ ఉంది:

విండోస్ 10 యొక్క చిత్రాన్ని ఎలా తయారు చేయాలి
 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()
        }
    }
}

పై కోడ్‌లో, ది IPWhiteListMiddleware ఫంక్షన్ నిర్వచించబడిన IP చిరునామా వైట్‌లిస్ట్‌ను వాదనగా అంగీకరించడానికి నిర్వచించబడింది. వైట్‌లిస్ట్ మ్యాప్ డేటా స్ట్రక్చర్‌గా అమలు చేయబడుతుంది, తద్వారా IP చిరునామాలు సులభంగా విలువలను కేటాయించవచ్చు నిజం మరియు తప్పుడు వారి ప్రాప్యతను సూచించడానికి.

అప్పుడు ఫంక్షన్ జిన్ ఫ్రేమ్‌వర్క్‌ను ఉపయోగిస్తుంది ClientIP అభ్యర్థనను చేయడానికి ప్రయత్నిస్తున్న వినియోగదారు యొక్క ప్రస్తుత 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")
}

అప్లికేషన్ అమలు చేసినప్పుడు గో రన్ మెయిన్.గో , సర్వర్ పోర్ట్ 3333లో ప్రారంభమవుతుంది మరియు మీరు దీనికి పరీక్ష అభ్యర్థనలను అమలు చేయవచ్చు /అడ్మిన్‌జోన్ ఎండ్ పాయింట్, మిడిల్‌వేర్ ఎలా పనిచేస్తుందో చూడటానికి. మీరు మధ్య ఉన్న వైట్‌లిస్ట్‌లో లోకల్ హోస్ట్ IP విలువను కూడా టోగుల్ చేయవచ్చు నిజం మరియు తప్పుడు .

IP చిరునామా వైట్‌లిస్ట్ చేయబడనప్పుడు లేదా వైట్‌లిస్ట్‌లో దాని విలువ ఎప్పుడు సెట్ చేయబడిందో చూపడానికి ఇక్కడ ఒక నమూనా అభ్యర్థన ఉంది తప్పుడు :

  IP చిరునామా వైట్‌లిస్ట్ చేయబడనప్పుడు పరీక్ష అభ్యర్థన

IP వైట్‌లిస్ట్‌లో IP చిరునామా దాని విలువకు సెట్ చేయబడినప్పుడు దాని కోసం మరొక అభ్యర్థన ఇక్కడ ఉంది నిజం :

  IP చిరునామా వైట్‌లిస్ట్ చేయబడినప్పుడు పరీక్ష అభ్యర్థన