Kasutage Go’s Gini raamistikku, et kaitsta oma veebirakendusi IP valgesse loendisse lisamisega.

Kaasaegses Interneti-tehnoloogia vallas on veebirakenduste ohutuse tagamise tähtsus ja servereid ei saa üle hinnata, kuna küberrünnakute sagedus ja keerukus jätkub tõsta. Seetõttu kasvab ka vajadus veebipõhiste süsteemide jõuliste ja tipptasemel turvameetmete järele.

IP-aadresside valgesse nimekirja lisamine on üks paljudest kaasaegsetest tehnikatest veebirakenduste, serverite ja API-de turvamiseks. Kuigi on kasutatakse ainult teatud juhtudel, on soovitatav viis Interneti-ressurssidele juurdepääsu piiramiseks vaja.

Mis on IP valgesse nimekirja lisamine?

IP valgesse nimekirja lisamine on lihtsalt a valge nimekirja lisamise tüüp mida võib nimetada veebiturbemeetmeks, mida kasutatakse võrgule või ressursile juurdepääsu piiramiseks määratletud IP-aadressi või IP-aadresside vahemikuga, mida peetakse süsteemile juurdepääsuks volitatud.

Kui süsteemis on rakendatud IP valgesse loendisse lisamine, pääsevad süsteemile ja selle ressurssidele juurde ainult lubatud loendisse lisatud IP-aadressid, teised IP-aadressid aga blokeeritakse.

instagram viewer

IP valgesse nimekirja lisamine on väga levinud viis väga kriitiliste andmete turvamiseks, mis peaksid olema kättesaadavad ainult üksikisikule või teatud inimeste rühmale ja kaitstud mis tahes häkkimiskatsete eest.

Levinud näide IP valgesse loendisse lisamisest on MongoDB Atlases, kus te looge pilves Mongo andmebaasiklaster ja teil palutakse lisada oma praegune IP-aadress loendisse, nii et teie andmebaasi või klastri päringud on lubatud ainult siis, kui need pärinevad teie arvutist.

Millal peaksite IP valgesse nimekirja lisama?

IP valgesse loendisse lisamine ei ole midagi, mida iga süsteem või rakendus vajab. On juhtumeid, kus see on soovitatav ja asjakohane rakendada rakenduses või süsteemis. Järgnevalt on toodud mõned näited stsenaariumidest, mille puhul peaksite kaaluma IP valge nimekirja rakendamist.

  • Kui rakendus on mõeldud kasutamiseks ainult kindlale kasutajarühmale, näiteks konkreetse ettevõtte töötajatele või klientidele.
  • Kui soovite, et rakendus oleks juurdepääsetav ainult kindlast asukohast, saate lisada valgesse loendisse ainult selle asukoha spetsiifilised IP-aadressid.
  • Kui rakendust kasutatakse juurdepääsu pakkumiseks konfidentsiaalsele teabele või intellektuaalomandile, nagu uuringute andmebaas või patenteeritud tarkvara.
  • Kui rakendus on privaatne, kuid juurdepääsetav Interneti kaudu ja seda tuleb kaitsta väliste ohtude, näiteks DDoS-i rünnakute või pahavara nakatumise eest.
  • Kui rakendus on hostitud avalikul pilveplatvormil ja seda tuleb kaitsta platvormi teiste rentnike või kasutajate volitamata juurdepääsu eest.
  • Kui rakendust kasutatakse reguleeritud tööstusharus, näiteks tervishoius või rahanduses, kus on nõutav vastavus turvastandarditele.

Juhtumeid on palju rohkem, kuid põhimõtteliselt, kui rakendusel on mõni ülaltoodud atribuutidest, peaksite kaaluma IP valge nimekirja rakendamist.

Kuidas rakendada Go-s IP valgesse nimekirja lisamist

Go on populaarne kaasaegne programmeerimiskeel veebiserverite ehitamiseks ja API-d, mis on komplekteeritud kõige vajalikuga standardse ja turvalise veebirakenduse loomiseks.

See jaotis demonstreerib Go's Gin raamistiku kasutamist näidisserveri ja IP valge nimekirja lisamise loogika rakendamiseks, mis on vahevara funktsioon. Gin-raamistiku saate projekti installida, käivitades järgmise käsu.

hankige github.com/gin-gonic/gin

Pärast Gini raamistiku installimist võite nüüd hakata juurutama IP valgesse loendisse lisamise vahevara. Sõltuvalt projekti arhitektuurist saate luua uue vahevara faili kõikjal oma projektis. Siin on vahevara funktsiooni rakendamine:

pakett vahevara

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

funcIPWhiteListMiddleware(valge nimekiri kaart[string]bool)džinn.HandlerFunc {
tagasifunc(c *gin. Kontekst) {
kasutaja IP := c. Kliendi IP()

kui !whitelist[kasutaja IP] {
c. AbortWithStatusJSON(http. OlekKeelatud, gin. H{
"viga": "Teil pole sellele ressursile juurdepääsu luba!",
})
} muidu {
c. Järgmine()
}
}
}

Ülaltoodud koodis on IPWhiteListMiddleware funktsioon on defineeritud aktsepteerima määratletud IP-aadresside valge nimekirja argumendina. Valge nimekiri on rakendatud kaardi andmestruktuurina, nii et IP-aadressidele saab hõlpsasti väärtusi määrata tõsi ja vale et näidata nende ligipääsetavust.

Seejärel kasutab funktsioon Gin raamistikku Kliendi IP funktsioon, et saada päringut üritava kasutaja praegune IP-aadress ja kontrollida, kas see on valges nimekirjas ja kas see on tõsi väärtus. Kui seda ei leitud või leitakse, et sellel on väärtus vale, katkestab vahevara päringu ja tagastab tõrketeate 403 (Keelatud).

Selle funktsiooni testimise näidisotspunkti saab rakendada, et näha, kuidas IP valge nimekiri töötab. Järgmine kood on programm, mis määratleb valge nimekirja ja rakendab kahte lõpp-punkti (piiratud ja piiramata).

pakett peamine

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

var IPWhitelist = kaart[string]bool{
"127.0.0.1": tõsi,
"111.2.3.4": tõsi,
"::1": tõsi,
}

funcpeamine() {
ruuter := gin. Vaikimisi()

ruuter. GET("/indeks", func(c *gin. Kontekst) {
c. JSON(http. Olek OK, gin. H{
"sõnum": "Tere tulemast minu turvalisse rakendusse!",
})
})

limitedPage := ruuter. Grupp("/")
piiratud leht. Kasuta (vahevara. IPWhiteListMiddleware (IPWhitelist))

piiratud leht. GET("/adminZone", func(c *gin. Kontekst) {
c. JSON(http. Olek OK, gin. H{
"sõnum": "See lõpp-punkt on kaitstud IP valgesse nimekirja lisamisega!",
})
})

ruuter. Run(":3333")
}

Kui rakendust käivitatakse mine jooksma main.go, käivitub server pordist 3333 ja saate käivitada testpäringuid /adminZone lõpp-punkti, et näha, kuidas vahevara töötab. Saate ka kohaliku hosti IP väärtust valges loendis muuta tõsi ja vale.

Siin on näidispäring, mis näitab, kui IP-aadress pole lubatud loendis või kui selle väärtuseks valges loendis on määratud vale:

Siin on veel üks päring selle kohta, millal IP-aadress on IP-aadressi valges loendis ja selle väärtuseks on määratud tõsi:

Kui testite programmi üldise kohaliku hosti IP-aadressi (127.0.0.1) valgesse loendisse lisades, võite saada tõrketeate 403 (keelatud). IP-aadress, mis tõenäoliselt kohapeal töötab, on ::1 mis on IPv6 ekvivalent 127.0.0.1 (Ipv4). Proovige lisada lubatud loendisse ::1 kui 127.0.0.1 keeldub töötamast ja võite proovida ka logida kasutaja IP muutuja konsoolis, et näha täpset kasutatavat aadressi.

Veebirakenduste kaitsmine IP valgete loendite lisamisega

Tänapäeva maailmas on veebirakenduste ja -süsteemide turvalisus tehnoloogia arenedes ülimalt oluline. IP valgesse nimekirja lisamine on väga lihtne ja tõhus viis piirata juurdepääsu Interneti-ressurssidele ainult usaldusväärsete allikatega.

Siiani on selles artiklis üksikasjalikult käsitletud IP-aadresside valgesse loendisse lisamise kontseptsiooni, millal seda rakendada ja kuidas seda Gin-raamistiku abil Go-s rakendada. Tarbetute tehniliste kulude vältimiseks on soovitatav IP valgesse nimekirja lisada ainult siis, kui see on asjakohane.