IP beyaz listesiyle web uygulamalarınızı güvenceye almak için Go'nun Gin çerçevesinden yararlanın.

Modern internet teknolojisi alanında, web uygulamalarının güvenliğini sağlamanın önemi siber saldırıların sıklığı ve karmaşıklığı artmaya devam ettikçe sunucular da abartılamaz. yükseltmek. Bu nedenle, web tabanlı sistemler için sağlam ve son teknoloji güvenlik önlemlerine olan ihtiyaç da artmaktadır.

IP adresini beyaz listeye alma, web uygulamalarının, sunucuların ve API'lerin güvenliğini sağlamak için kullanılan birçok modern teknikten biridir. Olmasına rağmen yalnızca bazı özel durumlarda kullanılır, internetteki kaynaklara erişimin kısıtlanmasını sağlamanın önerilen bir yoludur. gerekli.

IP Beyaz Listesi Nedir?

IP beyaz listesi basitçe bir beyaz liste türü bir ağa veya kaynağa erişimi, sisteme erişim yetkisi olduğu düşünülen tanımlanmış bir IP adresi veya IP adresleri aralığıyla kısıtlamak için kullanılan bir web güvenlik önlemi olarak adlandırılabilecek.

Bir sistemde IP beyaz listesi uygulandığında, yalnızca beyaz listeye eklenen IP adresleri sisteme ve üzerindeki kaynaklara erişebilir, diğer IP adresleri engellenir.

instagram viewer

IP beyaz listesi, yalnızca bir kişinin veya belirli bir grup kişinin erişebilmesi ve herhangi bir bilgisayar korsanlığı girişiminden korunması gereken çok kritik verileri güvence altına almanın çok yaygın bir yoludur.

IP beyaz listesi oluşturmanın yaygın bir örneği MongoDB Atlas'tadır; burada bulutta bir Mongo veritabanı kümesi kurun ve geçerli IP adresinizi bir listeye eklemeniz istenir, böylece veritabanınıza veya kümenize yapılan isteklere yalnızca bilgisayarınızdan geldiklerinde izin verilir.

IP Beyaz Listesini Ne Zaman Uygulamalısınız?

IP beyaz listesi, her sistemin veya uygulamanın ihtiyaç duyduğu bir şey değildir. Bir uygulamada veya sistemde uygulanmasının önerildiği ve uygun olduğu durumlar vardır. Aşağıda, bir IP beyaz listesi uygulamayı düşünmeniz gereken bazı senaryo örnekleri verilmiştir.

  • Uygulamanın yalnızca belirli bir şirketin çalışanları veya müşterileri gibi belirli bir kullanıcı grubu tarafından kullanılması amaçlandığında.
  • Uygulamaya yalnızca belirli bir konumdan erişilebilmesini istediğinizde, yalnızca o konuma özgü bir dizi IP adresini beyaz listeye alabilirsiniz.
  • Uygulama, gizli bilgilere veya araştırma veri tabanı veya tescilli yazılım gibi fikri mülkiyete erişim sağlamak için kullanıldığında.
  • Uygulama özel olduğunda, ancak internet üzerinden erişilebilir olduğunda ve DDoS saldırıları veya kötü amaçlı yazılım bulaşmaları gibi dış tehditlerden korunması gerektiğinde.
  • Uygulama bir genel bulut platformunda barındırıldığında ve platformun diğer kiracıları veya kullanıcıları tarafından yetkisiz erişime karşı korunması gerektiğinde.
  • Uygulama, sağlık veya finans gibi güvenlik standartlarına uygunluğun gerekli olduğu denetime tabi bir sektörde kullanıldığında.

Daha birçok durum vardır, ancak temelde, bir uygulama yukarıda belirtilen özelliklerden herhangi birine sahip olduğunda, bir IP beyaz listesi uygulamayı düşünmelisiniz.

Go'da IP Beyaz Listesi Nasıl Uygulanır?

Go, web sunucuları oluşturmak için popüler bir modern programlama dilidir. ve standart ve güvenli bir web uygulaması oluşturmak için ihtiyacınız olan her şeyi içeren API'ler.

Bu bölüm, bir ara yazılım işlevi olan örnek sunucu ve IP beyaz listeleme mantığını uygulamak için Go'nun Gin çerçevesinin kullanımını gösterir. Aşağıdaki komutu çalıştırarak Gin çerçevesini bir projeye kurabilirsiniz.

github.com/gin-gonic/gin adresini edinin

Gin çerçevesini kurduktan sonra, IP beyaz listeleme ara katman yazılımını uygulamaya geçebilirsiniz. Proje mimarinize bağlı olarak, projenizin herhangi bir yerinde yeni bir ara yazılım dosyası oluşturabilirsiniz. İşte ara katman işlevinin uygulanması:

paket ara yazılımlar

içe aktarmak (
"github.com/gin-gonic/gin"
"ağ/http"
)

işlevIPWhiteListAra Yazılım(beyaz liste harita[sicim]bool)cin.HandlerFunc {
geri dönmekişlev(c *cin. Bağlam) {
kullanıcıIP := c. İstemciIP()

eğer !beyazliste[kullanıcıIP] {
C. AbortWithStatusJSON(http. Durum Yasak, cin. H{
"hata": "Bu kaynağa erişim yetkiniz yok!",
})
} başka {
C. Sonraki()
}
}
}

Yukarıdaki kodda, IPWhiteListAra Yazılım işlev, tanımlı bir IP adresi beyaz listesini argüman olarak kabul edecek şekilde tanımlanır. Beyaz liste, IP adreslerine kolayca aşağıdaki değerlerin atanabilmesi için bir harita veri yapısı olarak uygulanır: doğru Ve YANLIŞ erişilebilirliklerini belirtmek için.

Ardından işlev Gin çerçevesini kullanır İstemci IP'si istekte bulunmaya çalışan kullanıcının mevcut IP adresini almak için işlev görür ve beyaz listede olup olmadığını kontrol eder. doğru değer. Bulunamazsa veya değerine sahip olduğu bulunursa YANLIŞ, ara yazılım isteği iptal eder ve bir 403 hatası (Yasak) döndürür.

IP beyaz listesinin nasıl çalıştığını görmek için bu işlevselliği test etmeye yönelik örnek bir uç nokta uygulanabilir. Aşağıdaki kod, bir beyaz liste tanımlayan ve iki uç nokta (kısıtlanmış ve kısıtlanmamış) uygulayan bir programdır.

paket ana

içe aktarmak (
"github.com/gin-gonic/gin"
"go-ip-beyaz listesi/ara yazılımlar"
"ağ/http"
)

var IP Beyaz Listesi = harita[sicim]bool{
"127.0.0.1": doğru,
"111.2.3.4": doğru,
"::1": doğru,
}

işlevana() {
yönlendirici := cin. Varsayılan()

yönlendirici. ELDE ETMEK("/dizin", işlev(c *cin. Bağlam) {
C. JSON(http. DurumTamam, cin. H{
"İleti": "Güvenli uygulamama hoş geldiniz!",
})
})

kısıtlı Sayfa := yönlendirici. grup("/")
kısıtlı Sayfa. Kullanın (orta donanımlar. IPWhiteListMiddleware (IPWhitelist))

kısıtlı Sayfa. ELDE ETMEK("/adminZone", işlev(c *cin. Bağlam) {
C. JSON(http. DurumTamam, cin. H{
"İleti": "Bu uç nokta, IP beyaz listesiyle güvence altına alındı!",
})
})

yönlendirici. Koşmak(":3333")
}

Uygulama ile çalıştırıldığında git main.go'yu çalıştır, sunucu 3333 numaralı bağlantı noktasında başlar ve sunucuya test istekleri çalıştırabilirsiniz. /adminZone uç nokta, ara yazılımın nasıl çalıştığını görmek için. Beyaz listedeki yerel ana bilgisayar IP'sinin değerini de arasında değiştirebilirsiniz. doğru Ve YANLIŞ.

IP adresi beyaz listede olmadığında veya beyaz listedeki değeri olarak ayarlandığında göstermek için örnek bir isteği burada bulabilirsiniz. YANLIŞ:

IP adresinin IP beyaz listesinde değeri olarak ayarlı olarak mevcut olduğu durumlar için başka bir istek: doğru:

Programı genel yerel ana bilgisayar IP adresini (127.0.0.1) beyaz listeye alarak test ederseniz, 403 hata yanıtı (Yasak) alabilirsiniz. Büyük olasılıkla yerel olarak çalışacak olan IP adresi ::1 bu, 127.0.0.1'in (Ipv4) IPv6 eşdeğeridir. Beyaz listeye almayı deneyin ::1 127.0.0.1 çalışmayı reddederse, ayrıca günlüğe kaydetmeyi de deneyebilirsiniz. kullanıcı IP'si kullanılan tam adresi görmek için konsoldaki değişken.

IP Beyaz Listesiyle Web Uygulamalarının Güvenliğini Sağlama

Günümüz dünyasında, web uygulamalarının ve sistemlerinin güvenliği, teknolojinin ilerlemeye devam etmesi nedeniyle büyük önem taşımaktadır. IP beyaz listesi, internetteki kaynaklara erişimi yalnızca güvenilir kaynaklarla sınırlamanın çok basit ve etkili bir yoludur.

Şimdiye kadar bu makalede, IP adresi beyaz listeye alma kavramı, ne zaman uygulanacağı ve Gin çerçevesini kullanarak Go'da nasıl uygulanacağı ayrıntılı olarak ele alınmıştır. Gereksiz teknik maliyetlerden kaçınmak için yalnızca uygun olduğunda IP beyaz listesinin uygulanması önerilir.