Ana içeriğe atla
Bu döküman, Apinizer platformu üzerinde geolocation (coğrafi konum) özelliği kullanılarak belirli şehirlerden gelen isteklerin nasıl engelleneceğini veya izin verileceğini anlatmaktadır. Çalışma sonunda, bu gelen isteklerin hangi şehirlerden geldiğini görselleştirmek için Kibana Map üzerinden gösterim yapacağız.

1) Geolocation Verisi Sağlama

Bu veriyi sağlamak için MaxMind, IpGeolocation hizmetlerinden yararlanabilirsiniz. Bu hizmetler, IP ve şehir bilgisini içeren veritabanlarını indirmenize olanak tanır. Bu adımda, MaxMind’in sunduğu ücretsiz GeoLite2 City veritabanını indirerek nasıl kullanılacağını anlatacağız. Apinizer, geolocation verisini elde etmek için genellikle istemci IP adresini kullanır. Gelen IP adresi, bir veritabanı üzerinden sorgulanarak isteğin hangi şehirden geldiği belirlenir. Sayfaya kayıt işlemi tamamlandıktan sonra, aşağıda belirtilen kırmızı işaretli alana giderek GeoLite2 City bölümünde zip dosyasını indiriyoruz ve bunu çıkartarak .mmdb uzantılı dosyamızı elde ediyoruz: MaxMind GeoLite2 City İndirme

2) Geolocation Veritabanının Apinizer’a Entegrasyonu

Administration → System Settings → IP Geolocation Setting sayfasından .mmdb uzantılı dosya buraya eklenir ve deploy edilir. IP Geolocation Setting

3) XFF Aktifleştirme ve Allowed/Blocked IP List Politikası Ekleme

Apinizer üzerinden, X-Forwarded-For (XFF) header bilgisi kullanılarak, isteklerde (request) istemcinin (client) gerçek IP adresi belirlenebilir. Allowed IP politikası ile belirli IP adreslerinden veya belirli şehirlerden gelen isteklere izin verilebilir. Blocked IP politikası kullanılarak ise bu istekler engellenebilir. XFF bilgisini kullanabilmek için, Proxy ayarları üzerinden Settings sekmesinde aktif edebilirsiniz: XFF Aktifleştirme Bu Proxy’e Blocked IP List politikasını ekleyerek, İstanbul üzerinden gelen istekleri engelleyelim: Blocked IP List Politikası IP Geolocation alanından İstanbul seçilir ve kaydedilir: IP Geolocation İstanbul Seçimi

4) Erişimin Engellenmesi ve Sonuç

İstanbul lokasyonundaki bir IP adresi ile servise yapılan istekte erişim engellendi: Erişim Engellendi
  1. Apinizer platformu üzerinde İstanbul’dan gelen istekleri nasıl engellediğimizi anlattık.
  2. MaxMind’in sunduğu GeoLite2 City veritabanını indirip, bu veriyi Apinizer’a entegre ettik.
  3. X-Forwarded-For (XFF) header bilgisi ile istemcilerin gerçek IP adreslerini belirleyerek, belirli şehirlerden gelen istekleri kontrol ettik.
  4. İstanbul’dan gelen istekleri engellemek için Block Ip List politikalarını kullanarak, İstanbul’u seçtik ve bu şehirden gelen erişimi başarıyla engelledik.
Çok ÖnemliKibana üzerinden gelen isteklerin hangi şehirlerden geldiğini görselleştirmek için Kibana Maps ile Coğrafi Görselleştirme sayfasına bakabilirsiniz.