Pasinaudokite „Go's Gin“ sistema, kad apsaugotumėte žiniatinklio programas įtraukdami IP baltąjį sąrašą.

Šiuolaikinėje interneto technologijų srityje svarbu užtikrinti žiniatinklio programų saugumą ir serverių negalima pervertinti, nes kibernetinių atakų dažnis ir sudėtingumas ir toliau tęsiasi padidinti. Dėl šios priežasties taip pat didėja būtinybė įdiegti patikimas ir pažangiausias žiniatinklio sistemų saugumo priemones.

IP adresų įtraukimas į baltąjį sąrašą yra vienas iš daugelio šiuolaikinių žiniatinklio programų, serverių ir API apsaugos metodų. Nors yra naudojamas tik kai kuriais konkrečiais atvejais, tai rekomenduojamas būdas užtikrinti prieigos prie interneto išteklių apribojimą, kai reikia.

Kas yra IP įtraukimas į baltąjį sąrašą?

IP įtraukimas į baltąjį sąrašą yra tiesiog a įtraukimo į baltąjį sąrašą tipas kuri gali būti vadinama žiniatinklio saugos priemone, naudojama apriboti prieigą prie tinklo arba išteklių iki apibrėžto IP adreso arba IP adresų diapazono, kuris laikomas įgaliotu pasiekti sistemą.

instagram viewer

Kai sistemoje įdiegtas IP įtraukimas į baltąjį sąrašą, tik į baltąjį sąrašą įtraukti IP adresai gali pasiekti sistemą ir joje esančius išteklius, o kiti IP adresai blokuojami.

IP įtraukimas į baltąjį sąrašą yra labai paplitęs būdas apsaugoti labai svarbius duomenis, kurie turėtų būti prieinami tik asmeniui arba tam tikrai žmonių grupei ir apsaugoti nuo bet kokio bandymo įsilaužti.

Dažnas IP įtraukimo į baltąjį sąrašą pavyzdys yra MongoDB Atlas, kur jūs debesyje nustatykite Mongo duomenų bazės klasterį ir būsite paraginti įtraukti savo dabartinį IP adresą į sąrašą, kad užklausos į jūsų duomenų bazę ar grupę būtų leidžiamos tik tada, kai jos gaunamos iš jūsų kompiuterio.

Kada turėtumėte įdiegti IP baltąjį sąrašą?

IP baltasis sąrašas nėra tai, ko reikia kiekvienai sistemai ar programai. Pasitaiko atvejų, kai rekomenduojama ir tikslinga jį įdiegti programoje ar sistemoje. Toliau pateikiami keli scenarijų pavyzdžiai, kai turėtumėte apsvarstyti galimybę įdiegti IP baltąjį sąrašą.

  • Kai programa skirta naudoti tik konkrečiai vartotojų grupei, pvz., konkrečios įmonės darbuotojams ar klientams.
  • Jei norite, kad programa būtų pasiekiama tik iš konkrečios vietos, į baltąjį sąrašą galite įtraukti tik tai vietai būdingų IP adresų diapazoną.
  • Kai programa naudojama siekiant suteikti prieigą prie konfidencialios informacijos arba intelektinės nuosavybės, pvz., tyrimų duomenų bazės arba patentuotos programinės įrangos.
  • Kai programa yra privati, bet pasiekiama internetu ir turi būti apsaugota nuo išorinių grėsmių, pvz., DDoS atakų ar kenkėjiškų programų užkrėtimo.
  • Kai programa priglobta viešoje debesų platformoje ir turi būti apsaugota nuo neteisėtos kitų platformos nuomininkų ar naudotojų prieigos.
  • Kai programa naudojama reguliuojamoje pramonėje, pvz., sveikatos priežiūros ar finansų srityje, kur būtina laikytis saugumo standartų.

Yra daug daugiau atvejų, tačiau iš esmės, kai programa turi kurią nors iš aukščiau nurodytų savybių, turėtumėte apsvarstyti galimybę įdiegti IP baltąjį sąrašą.

Kaip įdiegti IP baltąjį sąrašą Go

Go yra populiari šiuolaikinė programavimo kalba, skirta kurti žiniatinklio serverius ir API kartu su viskuo, ko reikia standartinei ir saugiai žiniatinklio programai sukurti.

Šiame skyriuje parodytas „Go's Gin“ sistemos naudojimas pavyzdiniam serveriui ir IP įtraukimo į baltąjį sąrašą logiką, kuri yra tarpinės programinės įrangos funkcija. Galite įdiegti Gin sistemą projekte vykdydami šią komandą.

eikite ir gaukite github.com/gin-gonic/gin

Įdiegę Gin sistemą, dabar galite įdiegti IP baltojo sąrašo tarpinę programinę įrangą. Galite sukurti naują tarpinės programinės įrangos failą bet kurioje projekto vietoje, priklausomai nuo projekto architektūros. Štai tarpinės programinės įrangos funkcijos įgyvendinimas:

paketą tarpinės programinės įrangos

importuoti (
„github.com/gin-gonic/gin“
"net/http"
)

funcIPWhiteListMiddleware(baltasis sąrašas žemėlapį[styga]bool)džinas.HandlerFunc {
grąžintifunc(c *gin. kontekstas) {
vartotojo IP := c. Kliento IP()

jeigu !whitelist[naudotojo IP] {
c. AbortWithStatusJSON (http. BūsenaUždrausta, džinas. H{
"klaida": "Jūs neturite prieigos prie šio šaltinio!",
})
} Kitas {
c. Kitas()
}
}
}

Aukščiau pateiktame kode IPWhiteListMiddleware funkcija yra apibrėžta, kad priimtų apibrėžtą IP adresų baltąjį sąrašą kaip argumentą. Baltasis sąrašas įgyvendinamas kaip žemėlapio duomenų struktūra, kad IP adresams būtų galima lengvai priskirti reikšmes tiesa ir klaidinga nurodyti jų prieinamumą.

Tada funkcija naudoja Gin sistemą Kliento IP funkcija gauti dabartinį vartotojo, bandančio pateikti užklausą, IP adresą ir patikrinti, ar jis yra baltajame sąraše ir ar tiesa vertė. Jei jis nerastas arba nustatyta, kad jo vertė yra klaidinga, tarpinė programinė įranga nutraukia užklausą ir grąžina 403 klaidą (uždrausta).

Pavyzdinis galinis taškas, skirtas šiai funkcijai išbandyti, gali būti įdiegtas, kad pamatytumėte, kaip veikia IP baltasis sąrašas. Šis kodas yra programa, kuri apibrėžia baltąjį sąrašą ir įgyvendina du galutinius taškus (ribotą ir neribotą).

paketą pagrindinis

importuoti (
„github.com/gin-gonic/gin“
„go-ip-whitelist/middleware“
"net/http"
)

var IPWhitelist = žemėlapį[styga]bool{
"127.0.0.1": tiesa,
"111.2.3.4": tiesa,
"::1": tiesa,
}

funcpagrindinis() {
maršrutizatorius := gin. Numatytas()

maršrutizatorius. GET("/indeksas", func(c *gin. kontekstas) {
c. JSON (http. BūsenaGerai, džinas. H{
"žinutė": "Sveiki atvykę į mano saugią programą!",
})
})

limitedPage := maršrutizatorius. Grupė ("/")
apribotasPuslapis. Naudokite (tarpinės įrangos. IPWhiteListMiddleware (IPWhitelist))

apribotasPuslapis. GET("/adminZone", func(c *gin. kontekstas) {
c. JSON (http. BūsenaGerai, džinas. H{
"žinutė": "Šis galutinis taškas apsaugotas naudojant IP baltąjį sąrašą!",
})
})

maršrutizatorius. Vykdyti (":3333")
}

Kai programa paleista su eik bėk main.go, serveris paleidžiamas naudojant 3333 prievadą ir galite vykdyti bandomąsias užklausas /adminZone galinį tašką, kad pamatytumėte, kaip veikia tarpinė programinė įranga. Taip pat galite perjungti „localhost“ IP reikšmę baltajame sąraše tiesa ir klaidinga.

Čia yra užklausos pavyzdys, rodantis, kai IP adresas neįtrauktas į baltąjį sąrašą arba kai jo reikšmė baltame sąraše nustatyta į klaidinga:

Štai dar viena užklausa, kada IP adresas yra baltajame IP sąraše, kai nustatyta jo vertė tiesa:

Galite gauti 403 klaidos atsakymą (uždrausta), jei išbandysite programą įtraukdami į baltąjį sąrašą bendrąjį localhost IP adresą (127.0.0.1). IP adresas, kuris greičiausiai veiks vietoje ::1 kuris yra IPv6 atitikmuo 127.0.0.1 (Ipv4). Pabandykite įtraukti į baltąjį sąrašą ::1 jei 127.0.0.1 atsisako veikti, taip pat galite pabandyti prisijungti vartotojo IP kintamąjį konsolėje, kad pamatytumėte tikslų naudojamą adresą.

Žiniatinklio programų apsauga įtraukiant IP baltąjį sąrašą

Šiuolaikiniame pasaulyje žiniatinklio programų ir sistemų saugumas yra nepaprastai svarbus, nes technologija nuolat tobulėja. IP įtraukimas į baltąjį sąrašą yra labai paprastas ir efektyvus būdas apriboti prieigą prie interneto išteklių tik iš patikimų šaltinių.

Iki šiol šiame straipsnyje buvo išsamiai aprašyta IP adresų įtraukimo į baltąjį sąrašą sąvoka, kada ją įdiegti ir kaip ją įdiegti Go naudojant Gin sistemą. Norint išvengti nereikalingų techninių išlaidų, IP baltąjį sąrašą rekomenduojama įtraukti tik tada, kai tai tinkama.