Ana içeriğe geç

İzin Verilen IP Listesi

ipucu

Bu doküman spesifik bir politikanın detaylı kullanımını anlatır. Eğer Apinizer politika yapısını ilk kez kullanıyorsanız veya politikaların genel çalışma prensiplerini öğrenmek istiyorsanız, öncelikle Politika Nedir? sayfasını okumanızı öneririz.

Genel Bakış​

Amacı Nedir?​

  • Erişim Güvenliğini Artırmak: API Gateway (API Vekil Sunucusu) üzerinden sunulan servislere yalnızca güvenilir IP adreslerinden erişim sağlanmasını garanti eder.
  • Yetkisiz Erişimi Engellemek: Beyaz listede yer almayan kaynaklardan gelen istekleri otomatik olarak reddederek güvenlik açıklarını minimize eder.
  • Coğrafi Kısıtlama Uygulamak: Belirli ülke ve şehirlerden gelen istekleri kabul ederek veya engelleyerek coğrafi bazlı güvenlik politikaları oluşturur.
  • Merkezi IP Yönetimi: IP grupları kullanarak aynı IP setlerini farklı politikalarda tekrar kullanılabilir hale getirir.
  • Variable Desteği: Kontrol edilecek istemci IP adresi, bağlantı adresi yerine bir variable'dan okunabilir.

Çalışma Prensibi​

  1. İstek Gelişi: API Gateway'e gelen her HTTP/HTTPS isteği için, istemcinin kaynak IP adresi tespit edilir.
  2. Politika Kontrolü: IP Beyaz Listesi politikası aktif ise, sistem aşağıdaki sırayla kontrol yapar:
    • Condition (koşul) tanımlı mı? Varsa koşul sağlanıyor mu?
    • Politika aktif mi (active=true)?
    • İstemci IP adresi bağlantıdan mı yoksa bir variable'dan mı alınıyor?
  3. IP Doğrulama: İki kontrol yapılır ve isteğin ikisini de geçmesi gerekir:
    • IP kontrolü: İstemci IP adresi, manuel tanımlanan IP listesindeki veya seçili IP Gruplarındaki bir kayıtla eşleşir.
    • Geolocation kontrolü: Geolocation etkinse ve ülke/şehir kuralları tanımlıysa, istemcinin konumu bu kurallardan biriyle eşleşir.
  4. Karar Verme:
    • İki kontrolü de geçer: İstek bir sonraki politika adımına veya backend servisine yönlendirilir.
    • Bir kontrolü geçemez: İstek reddedilir ve özelleştirilmiş hata mesajı döndürülür (default: 403 Forbidden).
    • Boş IP Listesi: Politikada ve IP gruplarında hiç IP adresi yoksa IP kontrolü her adrese izin verir. Tanımlıysa Geolocation kuralları yine kontrol edilir.
  5. Hata İşleme: Politika kuralına uymayan isteklere özelleştirilebilir HTTP durum kodu ve hata mesajı döndürülür.

Özellikler ve Yetenekler​

Temel Özellikler​

  • Manuel IP Listesi Yönetimi: IPv4 adreslerini, * joker karakterlerini (örn: 192.168.1.*) ve - aralıklarını (örn: 192.168.1.4-18) tanımlama. Her IP adresi virgül ile ayrılarak eklenebilir.
  • IP Grubu Entegrasyonu: Önceden tanımlanmış IP gruplarını politikaya ekleme. Birden fazla IP grubunu aynı anda seçme ve yönetme imkanı. IP grupları merkezi olarak güncellenir, politikada otomatik yansır.
  • Global ve Local Politika Desteği: Global olarak tanımlanıp birden fazla API Proxy'de kullanılabilir veya spesifik bir API Proxy için local politika olarak yapılandırılabilir.
  • Aktif/Pasif Durum Kontrolü: Politikanın aktif veya pasif durumunu kolayca değiştirme (active/passive toggle). Pasif durumda politika uygulanmaz ancak yapılandırma saklanır.
  • Koşul Bazlı Uygulama: Query Builder ile karmaşık koşullar oluşturarak politikanın ne zaman uygulanacağını belirleme (örn: sadece belirli endpoint'lere veya header değerlerine göre).

İleri Düzey Özellikler​

  • Geolocation (Coğrafi Konum) Desteği: Geolocation servis entegrasyonu ile ülke ve şehir bazında IP kontrolü. Tüm ülke veya spesifik şehirlerden gelen istekleri kabul etme/engelleme. Birden fazla ülke ve şehir kombinasyonu tanımlama imkanı.
  • Variable (Değişken) Mekanizması: İstemci IP'sini Kullan seçeneğini kapatıp bir variable seçin. Politika bağlantı adresi yerine variable'ın tuttuğu adresi kontrol eder.
  • Hata Mesajı Özelleştirme: HTTP durum kodu özelleştirme (default: 403). Custom JSON veya XML hata mesajı tanımlama. Farklı hata senaryoları için farklı mesajlar yapılandırma.
  • Export/Import Özelliği: Politika yapılandırmasını ZIP dosyası olarak export etme. Farklı ortamlara (Development, Test, Production) import etme. Versiyon kontrolü ve yedekleme imkanı.
  • Policy Group ve Proxy Group Desteği: Birden fazla politikayı Policy Group içinde yönetme. Proxy Group'lara toplu politika atama. Merkezi güncelleme ve deploy işlemleri.
  • Deploy ve Versiyonlama: Politika değişikliklerini canlı ortama deploy etme. Hangi API Proxy'lerde kullanıldığını görme (Policy Usage). Proxy Group ve Policy Group kullanım raporları.

Kullanım Senaryoları​

SenaryoDurumÇözüm (Politika Uygulaması)Beklenen Davranış / Sonuç
Kurumsal Ağdan ErişimYalnızca şirket içi ağdan (192.168.x.x) API'lere erişim izni verilmesi gerekiyorIP listesine 192.168.*.* ekleyin. Politikayı ilgili API Proxy'ye lokal veya global olarak atayın.Sadece 192.168.x.x ağından gelen istekler kabul edilir. Diğer IP'lerden 403 hatası döner.
Üçüncü Parti EntegrasyonBelirli bir partner firmanın sabit IP'lerinden (203.0.113.10, 203.0.113.11) gelen isteklere izin vermekIP listesine 203.0.113.10 ve 203.0.113.11 adreslerini ekleyin. Gerekirse "Partner IP Grubu" oluşturup tekrar kullanın.Sadece partner IP'lerinden gelen istekler kabul edilir. Entegrasyonlar güvenli şekilde çalışır.
Coğrafi KısıtlamaSadece Türkiye'den (TR) gelen isteklerin kabul edilmesiGeolocation ayarlarını etkinleştirin. "Ülke Seç" listesinden Türkiye'yi seçin ve politikaya ekleyin.İstemci IP'si Türkiye coğrafyasına ait değilse 403 hatası döner. TR IP'leri kabul edilir.
Şehir Bazlı ErişimYalnızca İstanbul ve Ankara şehirlerinden gelen istekleri kabul etmeGeolocation bölümünden Türkiye'yi seçin. Şehir listesinden İstanbul ve Ankara'yı seçin. "Ekle" butonuna tıklayın.Sadece İstanbul ve Ankara şehirlerinden gelen IP'ler kabul edilir. Diğer şehirler reddedilir.
Geliştirme/Test OrtamıTest ortamında sadece QA ekibinin IP'lerinden erişim izni"QA Team IPs" adında bir IP Grubu oluşturun. Bu grubu politikaya ekleyin. Test ortamına özel global politika yapın.QA ekibi test API'lere erişebilir. Üretim ortamında farklı politika uygulanır.
Proxy Arkasındaki İstemci IP'siGerçek istemci IP'si bağlantı adresi yerine bir header'da veya context değerinde geliyorPolitikada İstemci IP'sini Kullan seçeneğini kapatın ve istemci IP'sini tutan variable'ı seçin.Politika bağlantı adresi yerine variable'daki adresi kontrol eder.
Acil Durum ErişimiBelirli bir kritik IP'den gelen istekleri her zaman kabul etmeManuel IP listesine kritik IP'yi ekleyin. Koşul bölümünde acil durum header'ı kontrolü ekleyin (opsiyonel).Kritik IP her zaman erişim sağlar. Acil durumlarda politika bypass edilebilir.

Politika Parametrelerini Yapılandırma​

Bu adımda, kullanıcı yeni bir politika oluşturabilir ya da mevcut politika parametrelerini yapılandırarak erişim kurallarını belirleyebilir. Tanımlanan parametreler, politikanın çalışma şeklini (örneğin hangi IP'lerin izinli olacağı, coğrafi kısıtlamalar, koşullu aktivasyonlar vb.) doğrudan etkiler. Bu sayede politika hem kuruma özel gereksinimlere göre özelleştirilebilir hem de merkezi olarak yönetilebilir.

Yeni Allowed IP List Politikası Oluşturma​

İzin Verilen IP Listesi Politikası Yapılandırma

Yapılandırma Adımları​

AdımAçıklama / İşlem
Adım 1: Oluşturma Sayfasına Gitme- Sol menüden Development → Global Settings → Global Policies → Allowed IP List bölümüne gidin.
- Sağ üstteki [+ Create] butonuna tıklayın.
Adım 2: Temel Bilgileri GirmePolicy Status (Politika Durumu): Aktif/Pasif durumu gösterir. Yeni politikalar varsayılan olarak aktiftir.

Name (İsim) Zorunlu:
Örnek: Production_IP_Whitelist
- Benzersiz isim girin, boşlukla başlamaz.
- Sistem otomatik kontrol eder: Yeşil tik: kullanılabilir Kırmızı çarpı: mevcut isim.

Description (Açıklama):
Örnek: "Prod ortamı için yalnızca kurum içi ve partner sistemlerinden gelen isteklere izin verir."
- Maks. 1000 karakter.
- Politikanın amacını açıklayın.
Adım 3: Variable Kullanımı- Sayfanın üst kısmındaki işlem butonları alanında, [<> Variable] butonunu kullanarak dinamik değer seçebilirsiniz.
- Context/global variable ifadeleri sayesinde politika parametrelerini sabit değer yerine değişken tabanlı yönetebilirsiniz.
- Bu kullanım, değişen değerlerde manuel güncelleme ihtiyacını azaltır ve operasyonel kolaylık sağlar.
- Detaylı bilgi için Dinamik Değişkenler sayfasını inceleyebilirsiniz.
Adım 4: IP Listesi Yapılandırmasıİstemci IP'sini Kullan: Açıkken politika, gateway'in belirlediği istemci IP adresini kontrol eder. Kapalıyken İstemci IP için Değişken alanında bir variable seçin; politika variable'ın tuttuğu adresi kontrol eder.

IP Ekleme:
- Tekil IP: 192.168.1.100 → Enter veya ✓ ile eklenir.

IP Silme: IP etiketine veya ✕ ikonuna tıklayın.

IP aralığı belirtmek için (* ve -) karakterleri kullanılabilir.

Örnekler:
- 10.0.0.1 → Tekil IP
- 10.3.10.* değeri 10.3.10.0 ile 10.3.10.255 arasındaki IP'leri belirtir.
- 10.3.10.4-18 değeri 10.3.10.4 ile 10.3.10.18 arasındaki IP'leri ifade eder (4 ve 18 dahil).
- 10.*.*.* → 10 ile başlayan tüm IP'ler

IP ekledikten sonra Enter tuşuna basılmalıdır.

Yalnızca IPv4 adresleri eşleşir. CIDR notasyonu (örn: 192.168.1.0/24) hiçbir adresle eşleşmez; bunun yerine * ve - kullanın.
Adım 5: IP Grupları Kullanımı (İsteğe Bağlı)- "Click to add IP Groups" butonuna tıklayın.
- Sol tarafta mevcut IP grupları, sağda seçilenler görünür.

Ekleme:
- Sol listeden grup seçin → [Select].
- Sağ tarafa taşınır.
- Bir grup birden fazla politikada kullanılabilir.

Kaldırma:
- Sağ listede 🗑️ simgesine tıklayın → sol listeye döner.

Avantaj:
- IP listelerini merkezi yönetin.
- Tek güncelleme tüm politikalara yansır.
- Partner erişimi için idealdir.
Adım 6: Coğrafi Konum Filtresi (İsteğe Bağlı)- Country (Ülke) dropdown'ından ülke seçin (örnek: Turkey).
- City (Şehir) dropdown'ı ülke seçilince aktif olur (örnek: Istanbul, Ankara, Izmir).
- [+ Add] ile tabloya eklenir.
- Satırlar 🗑️ ile tekil, üstteki 🗑️ ile toplu silinebilir.

Örnek Senaryolar:
- Yalnızca Türkiye: Country: Turkey, City: —
- Türkiye büyük şehirler: Istanbul, Ankara, Izmir, Bursa
- Birden fazla ülke: Turkey (tümü), Germany (Berlin, Munich), USA (tümü)
Adım 7: Koşul Tanımlama (İsteğe Bağlı)- Condition sekmesine geçin.
- Koşullar, politikanın hangi durumda aktif olacağını belirler.

Örnekler:
• Ortam bazlı: Header = X-Environment, Operator = Equals, Value = production
• API Key bazlı: Header = X-API-Key, Starts With = PROD-
• Endpoint bazlı: Path = /api/admin/*

Koşul tanımlanmazsa politika her zaman aktiftir.

Adım 8: Hata Mesajı Özelleştirme (İsteğe Bağlı)- Error Message Customization sekmesine gidin
- Erişim reddedildiğinde dönecek mesajı özelleştirin.

Varsayılan:
{ "statusCode": 403, "message": "Access denied: IP not whitelisted" }

Özel:
{ "statusCode": 403, "errorCode": "ACCESS_DENIED", "message": "You do not have permission to access this API.", "details": "Your IP address is not on the allowed list. Please contact support@sirket.com for access." }
Adım 9: Kaydetme- Sağ üstteki [Save] butonuna tıklayın.

Kontrol Listesi:
- Benzersiz isim
- Zorunlu alanlar dolu
- En az bir IP veya IP grubu tanımlı (hiç IP adresi olmayan bir politika her adrese izin verir)

Sonuç:
- Politika listeye eklenir.
- API'lere bağlanabilir.
- Global politikaysa otomatik uygulanır.
uyarı

Hiç IP adresi kalmayan bir İzin Verilen IP Listesi her adrese izin verir. Bu durum, politikanın kendi IP adresi yoksa ve IP grupları boş, silinmiş veya devre dışı bırakılmışsa oluşur: gateway eksik veya devre dışı bir grubu atlar ve bu yüzden istekleri reddetmez. Bir IP grubunu silerken veya devre dışı bırakırken önce hangi politikaların kullandığını kontrol edin; IP Grubu penceresi bunları listeler. Bkz. IP Grupları.

Koşullar ve Hata Mesajı Özelleştirme panellerinin açıklaması için Politika Nedir? sayfasındaki Koşullar ve Hata Mesajı Özelleştirme (Error Message Customization) bölümlerini inceleyebilirsiniz.

Hata mesajı yapılandırmasının tüm katmanları, öncelik sırası ve senaryo örnekleri için Hata Mesajı Yapılandırma Rehberi sayfasına bakın.

Politikayı Silme​

Bu politikanın silme adımları ve kullanımdayken uygulanacak işlemler için Politika Yönetimi sayfasındaki Akıştan Politika Kaldırma bölümüne bakabilirsiniz.

Politikayı Dışa/İçe Aktarma​

Bu politikanın dışa aktarma (Export) ve içe aktarma (Import) adımları için Export/Import sayfasına bakabilirsiniz.

Politikayı API'ye Bağlama​

Bu politikanın API'lere nasıl bağlanacağına ilişkin süreç için Politika Yönetimi sayfasındaki Politikayı API'ye Bağlama bölümüne bakabilirsiniz.

İleri Düzey Özellikler​

ÖzellikAçıklama ve Adımlar
Variable ile İstemci IP'si- Öncelikle istemci IP adresini tutan bir Variable oluşturun (Variables menüsünden), örneğin bir header'dan okunan değer.
- Politika oluşturma/düzenleme sayfasında İstemci IP'sini Kullan toggle'ını kapatın.
- İstemci IP için Değişken alanında variable'ı seçin.
- Kaydedin. Politika artık her istekte variable'daki adresi kontrol eder.
- Variable'ın değeri yoksa politika isteği reddetmez.
IP Grubu ile Merkezi Yönetim- IP Group menüsünden yeni bir IP Grubu oluşturun (örn: "Partner IPs").
- IP grubuna IP'leri ekleyin (politikadaki biçimle aynı).
- Farklı IP Beyaz Listesi politikalarında bu grubu kullanın.
- IP Grubunu güncelleyin (yeni IP ekle/çıkar).
- Değişiklik otomatik olarak bu grubu kullanan tüm politikalara yansır.

Avantaj: Bir IP setini birden fazla politikada kullanma, tek noktadan güncelleme.
Geolocation ile Ülke Bazlı EngellemeÖn Gereksinim: Geolocation Settings'den Geolocation servisinin aktif edilmiş olması.
- Politika sayfasında "Geolocation" bölümünde ülke dropdown'ını açın.
- İstenen ülkeyi seçin (örn: Germany).
- Şehir seçmeden [ Add ] butonuna tıklayın (tüm ülke için geçerli olur).
- Birden fazla ülke ekleyebilirsiniz.

Avantaj: IP bilgisine gerek kalmadan coğrafi lokasyon bazlı erişim kontrolü
Geolocation ile Şehir Bazlı Engelleme- Ülke seçtikten sonra "City" dropdown'ı aktif olur.
- Bir veya birden fazla şehir seçin (multi-select destekler).
- [ Add ] butonuna tıklayın.
- Eklenen şehirler tablo formatında görünür.

Örnek: "Türkiye - İstanbul" ve "Türkiye - Ankara" seçilirse sadece bu iki şehirden istekler kabul edilir.

Dikkat: Şehir verisinin doğruluğu Geolocation sağlayıcısına bağlıdır.
Condition ile Koşullu IP Kontrolü- Politika düzenleme sayfasında "Condition" sekmesine geçin.
- Query Builder'da koşul oluşturun (örn: path='/admin' OR header.X-Admin-Request='true').
- Koşul sağlandığında IP kontrolü yapılır, sağlanmazsa politika atlanır.
- Kaydedin.
- Admin endpoint'lere özel IP kısıtlaması, public API'lere IP kontrolü yok.

Avantaj: Aynı API Proxy'de farklı endpoint'ler için farklı politika davranışları.
Hata Mesajı Özelleştirme- "Error Message Customization" sekmesine geçin.
- Hata tipi seçin (örn: "IP Not Whitelisted").
- HTTP Status Code değiştirin (örn: 403 yerine 401).
- Custom JSON mesajı girin:
{ "error": "Erişim Reddedildi", "message": "IP adresiniz beyaz listede değil", "code": "IP_NOT_ALLOWED" }
- Dil bazlı mesajlar ekleyin (TR, EN).
- Kaydedin.

Avantaj: Kullanıcıya daha anlamlı hata mesajları, custom error tracking.
Export/Import ile Politika TaşımaExport:
- Politika listesinde "..." menüsünden [ Export ] seçin.
- ZIP dosyası indirilir (format: DD-MMM-YYYY-policy-[name]-export.zip).

Import:
- Liste sayfasında [ Import ] butonuna tıklayın.
- Export edilmiş ZIP dosyasını seçin.
- Import ayarlarını yapın (override, yeni ad vb.).
- Import işlemini tamamlayın.

Avantaj: Geliştirme → Test → Canlı ortam arasında politika taşıma, yedekleme.
Policy Group ile Toplu Yönetim- "Policy Group" menüsünden yeni bir grup oluşturun.
- IP Beyaz Listesi politikası dahil birden fazla politikayı gruba ekleyin.
- Policy Group'u bir veya birden fazla API Proxy'ye atayın.
- Grup içindeki tüm politikalar toplu olarak uygulanır.

Avantaj: Birden fazla politikayı paket olarak yönetme, toplu deploy.

İpuçları ve En İyi Uygulamalar​

Yapılması Gerekenler ve En İyi Uygulamalar​

KategoriAçıklama / Öneriler
IP Formatı ve TanımlamaKötü: 192.168.1 (eksik format)
İyi: 192.168.1.100 (tam IPv4 adresi)
En İyi: 192.168.1.* veya 192.168.1.4-18 (aralığı tek tanımla ifade etmek)
IP Grubu KullanımıKötü: Her politikada aynı IP listesini manuel eklemek
İyi: IP grubunu bir kez tanımlamak
En İyi: İlgili IP'leri kategorize ederek gruplamak (örn: "Partner IPs", "Office IPs", "QA Team IPs")
Global vs Local Politika SeçimiKötü: Her API Proxy için ayrı local IP Beyaz Listesi politikası oluşturmak
İyi: Ortak güvenlik politikası olarak global politika kullanmak
En İyi: Genel kurallar için global, özel durumlar için local politika kullanmak
Geolocation KullanımıKötü: Tüm ülke IP bloklarını manuel eklemek
İyi: Geolocation servisini aktif etmek
En İyi: Ülke ve şehir kombinasyonlarını kullanarak hassas kontrol sağlamak
Hata Mesajı ÖzelleştirmeKötü: Default 403 hatası kullanmak
İyi: Custom JSON mesajı ile detaylı açıklama yapmak
En İyi: Farklı hata senaryoları için farklı mesajlar, log ID eklemek
Politika AdlandırmaKötü: policy1, ipwhite gibi belirsiz isimler
İyi: IP_White_List_Production gibi açıklayıcı isimler
En İyi: [ENV]_[Purpose]_IP_White formatı (örn: PROD_Partner_API_IP_White)
Condition KullanımıKötü: Tüm endpoint'lere aynı IP kısıtlaması uygulamak
İyi: Public ve private endpoint'leri ayırmak
En İyi: Condition ile /admin/* path'lerine özel IP kontrolü, /public/* path'lerine IP kontrolü yapmamak

Güvenlik En İyi Uygulamaları​

Güvenlik AlanıAçıklama / Uyarılar
En Az Yetki Prensibi (Least Privilege)Kritik: IP Beyaz Listesine sadece gerçekten gerekli IP'leri ekleyin. Geniş joker karakterleri (örn: *.*.*.*) kullanmaktan kesinlikle kaçının.
Öneri: Tek IP veya en fazla son oktet aralığı (örn: 192.168.1.*) kullanın.
IP Spoofing ve Proxy GüvenliğiUyarı: Eğer API Gateway önünde bir Load Balancer veya Reverse Proxy varsa, gerçek istemci IP'sini almak için X-Forwarded-For veya X-Real-IP header'larını doğru yapılandırın.
Risk: IP spoofing ile beyaz listeyi bypass etme riski.
Geolocation GüvenilirliğiNot: Geolocation servisleri %100 doğru değildir. VPN ve Proxy kullanımı ile atlatılabilir.
Öneri: Geolocation'ı tek başına değil, diğer güvenlik katmanları (JWT, API Key vb.) ile birlikte kullanın.
Variable GüvenliğiGüvenlik Riski: İstemci IP'si, istemcinin değerini belirleyebildiği bir variable'dan (örneğin bir istek header'ı) okunuyorsa, istemci kontrol edilecek adresi kendisi seçebilir.
Öneri: Yalnızca kendi altyapınızın belirlediği bir variable kullanın; örneğin güvenilir bir load balancer'ın eklediği header.
Hata Mesajı Bilgi SızıntısıDikkat: Hata mesajlarında sistem mimarisi veya internal IP'ler hakkında bilgi vermeyin.
Kötü: "Your IP 203.0.113.5 is not in whitelist. Allowed range: 192.168.1.*"
İyi: "Access denied. Your IP address is not authorized."
Düzenli Güncelleme ve Gözden GeçirmeBest Practice: IP Beyaz Listesini düzenli olarak gözden geçirin (örn: aylık).
Aksiyon: Kullanılmayan, eski partner IP'lerini kaldırın. Değişen IP'leri güncelleyin. Audit log'larını kontrol edin.
Multi-Factor SecurityÖneri: IP Beyaz Listesini tek güvenlik katmanı olarak kullanmayın.
Best Practice: IP kontrolü + API Key/JWT + Rate Limiting kombinasyonu kullanın.
Production Ortam İzolasyonuKritik: Production ortamı için ayrı global politika oluşturun. Test/Development ortamlarının IP'lerini production politikasına asla eklemeyin.
Öneri: Ortam bazlı Policy Group kullanın.

Kaçınılması Gerekenler​

KategoriAçıklama / Uyarılar
Geniş Aralıklar KullanmaNeden kaçınılmalı: 10.*.*.* gibi geniş aralıklar milyonlarca IP'yi kapsayabilir ve güvenlik riskini artırır.
Alternatif: Spesifik aralıklar kullanın (örn: 10.10.50.*). İhtiyaç duyulan IP'leri tek tek veya küçük aralıklarla ekleyin.
İstemci IP'sini Güvenilmez Bir Variable'dan OkumakNeden kaçınılmalı: Variable'ın değeri yoksa politika isteği reddetmez.
Alternatif: Her zaman değeri olan bir variable kullanın veya İstemci IP'sini Kullan seçeneğini açık tutun.
Politikayı Pasif Durumda BırakmaNeden kaçınılmalı: Pasif politika trafiğe uygulanmaz, unutulması durumunda güvenlik açığı oluşabilir.
Alternatif: Geçici olarak test etmek için kısa süreliğine pasif yapın. Test tamamlandıktan sonra aktif edin veya silin.
Hata Mesajında IP Bilgisi VermekNeden kaçınılmalı: Hata mesajında istemcinin veya izin verilen IP'lerin gösterilmesi saldırganlara bilgi verir.
Alternatif: Genel hata mesajları kullanın: "Access denied" veya "Unauthorized". Detaylı logları sadece sunucu tarafında tutun.
Local Politika ile Yönetimi KarmaşıklaştırmaNeden kaçınılmalı: Her API Proxy için ayrı local IP Beyaz Listesi politikası oluşturmak, yönetimi zorlaştırır ve IP güncellemelerinde tutarsızlık yaratır.
Alternatif: Global politika kullanın. Sadece gerçekten farklı IP gereksinimlerine sahip API Proxy'ler için local politika oluşturun.
Geolocation'a Aşırı GüvenmekNeden kaçınılmalı: VPN, Tor, Proxy kullanımı ile coğrafi konum atlatılabilir. Hassas işlemler için yeterli değildir.
Alternatif: Geolocation'ı ek güvenlik katmanı olarak kullanın. Kritik işlemler için IP + Authentication + MFA kombinasyonu uygulayın.
Politika Güncellemelerini Deploy EtmemekNeden kaçınılmalı: Global politikada yapılan değişiklikler deploy edilmeden canlı ortama yansımaz.
Alternatif: Politika güncellendikten sonra Deploy butonunu kullanın. Deploy işlemini CI/CD pipeline'a entegre edin.
Test Etmeden Production'a GeçişNeden kaçınılmalı: Yanlış IP yapılandırması tüm kullanıcıların engellenmesine neden olabilir.
Alternatif: Test ortamında politikayı doğrulayın. Önce passive modda deploy edin, logları kontrol edin. Sonra aktif edin. Rollback planı hazırlayın.

Performans İpuçları​

KriterÖneri / Etki
IP Grubu BoyutuÖneri: IP gruplarını maksimum 100-200 IP ile sınırlayın. Daha fazla IP gerekiyorsa birden fazla grup oluşturun.
Etki: Her istekte tüm IP listesi kontrol edilir. Çok büyük listeler performansı düşürür (her IP için O(n) karşılaştırma).
Aralıkları Tercih EtmeÖneri: IP aralıkları için mümkün olduğunca * ve - aralıklarını kullanın.
Etki: 254 ayrı kayıt yerine 192.168.1.* (1 kayıt) kullanmak listeyi kısa tutar ve kontrolü hızlandırır.
Geolocation PerformansıNot: Geolocation lookup her istekte gerçekleşir ve ek gecikme yaratır (ortalama 1-5ms).
Öneri: Yüksek trafikli API'lerde geolocation yerine sabit IP listesi kullanmayı tercih edin. Geolocation sonuçlarını cache'leyin (IP → Country/City mapping).
Condition KarmaşıklığıÖneri: Basit ve optimize edilmiş koşullar yazın. Gereksiz karmaşık regex veya nested condition'lardan kaçının.
Etki: Basit koşul (path='/' AND method='GET') < 0.1ms. Karmaşık regex koşul > 1-2ms.
Politika SıralamasıBest Practice: Policy Group içinde IP Beyaz Listesi politikasını önce çalıştırın.
Mantık: Yetkisiz IP'lerden gelen istekler erken aşamada engellenirse, diğer politikalar (Rate Limiting, JWT vb.) gereksiz yere çalışmaz.
Log Seviyesi AyarıProduction: Log seviyesini ERROR veya WARN'da tutun.
Development: DEBUG veya TRACE kullanabilirsiniz.
Etki: Aşırı logging (her istekte IP kontrolü loglanması) disk I/O ve performans sorununa yol açabilir.
Aktif Olmayan Politikaları SilmeÖneri: Kullanılmayan veya pasif durumdaki politikaları düzenli olarak silin.
Etki: Veritabanı ve in-memory policy registry'nin küçük kalması, politika lookup süresini azaltır.

Sık Sorulan Sorular (SSS)​

KategoriSoruCevap
GenelIP Beyaz Listesi politikası kaç tane IP destekler?Teknik olarak sınır yoktur ancak performans için 500-1000 IP önerilir. Daha fazla IP için IP grupları ve * veya - aralıkları kullanın.
GenelIPv6 adresleri destekleniyor mu?Hayır. Yalnızca IPv4 adresleri eşleşir.
GenelPolitikayı pasif yapsam bile API Proxy deploy edilmeli mi?Evet. Global politikalarda yapılan her değişiklik (aktif/pasif dahil) deploy edilmelidir. Local politikalarda API Proxy'nin kendisi deploy edilmelidir.
TeknikX-Forwarded-For header'ından IP nasıl alınır?API Gateway otomatik olarak X-Forwarded-For, X-Real-IP header'larını kontrol eder. Gateway ayarlarından "Use Forwarded IP" seçeneğini aktif etmelisiniz. Header yoksa direkt socket IP'si kullanılır.
Teknikİstemci IP için Değişken nasıl formatlanmalı?Variable tek bir istemci IP adresine çözülmelidir, örneğin 203.0.113.10.
TeknikCIDR notasyonu destekleniyor mu?Hayır. Gateway tam IPv4 adreslerini, * joker karakterlerini ve her oktetteki - aralıklarını eşleştirir. 192.168.1.0/24 gibi bir kayıt hiçbir adresle eşleşmez. Bunun yerine 192.168.1.* kullanın.
TeknikPolitika uygulandığında hangi HTTP header'lar eklenir?Politika başarılı olduğunda herhangi bir header eklenmez. Başarısız olduğunda (IP reddedildi) custom hata mesajı döner. Debugging için X-Apinizer-Policy-Status: REJECTED gibi custom header'lar ekleyebilirsiniz.
KullanımHem IP listesi hem de Geolocation kullanırsam mantık AND mi OR mu?AND mantığı çalışır. İsteğin iki kontrolü de geçmesi gerekir:
- IP kontrolü: İstemci IP'si manuel IP listesindeki veya IP Gruplarındaki herhangi bir kayıtla eşleşir. İkisi de boşsa her adres geçer.
- Geolocation kontrolü: Geolocation etkinse ve ülke/şehir kuralları tanımlıysa, istemcinin konumu bu kurallardan biriyle eşleşir.
Bir kontrolü geçemeyen istek reddedilir.
KullanımGlobal politikayı güncelledim ama API'de yansımadı, neden?Global politika değişiklikleri deploy edilmelidir.

İşlem adımları:
- Politikayı kaydedin.
- Politika detay sayfasındaki "Deploy" butonuna tıklayın.
- Deploy edilecek ortamları (DEV, TEST, PROD) seçin.
- Deploy işlemini onaylayın.
- Deploy sonrası 1-2 dakika içinde değişiklikler canlıya yansır.
KullanımIP Grubunu silersem veya devre dışı bırakırsam politika ne olur?Uyarı: Politika daha sıkı hale gelmez. Gateway silinen veya devre dışı bırakılan grubu atlar, bu yüzden grubun adreslerine artık izin verilmez. Politikada başka IP adresi veya grup yoksa IP listesi boşalır ve boş liste her adrese izin verir.
Politika grubu seçiminde tutar ve hata göstermez. Bir grubu silmeden veya devre dışı bırakmadan önce hangi politikaların kullandığını kontrol edin; IP Grubu penceresi bunları listeler ve her politikadaki etkiyi gösterir.
KullanımGeolocation servisi nasıl aktifleştirilir?- Admin menüsünden "Geolocation Settings" sayfasına gidin.
- Geolocation sağlayıcısını seçin (örn: MaxMind GeoIP2).
- API Key veya lisans bilgilerini girin.
- "Test Connection" ile bağlantıyı test edin.
- "Enable Geolocation" toggle'ını açın ve kaydedin.
- Geolocation database'i düzenli güncellenmelidir (aylık).
KullanımBir API Proxy'de hem global hem local IP Beyaz Listesi politikası kullanabilir miyim?Teknik olarak evet, ancak önerilmez. İki politika da aktif ise AND mantığı çalışır (her iki listeye de uyması gerekir). Karmaşık yönetim ve beklenmeyen bloklamalara yol açabilir.
Best Practice: Global politika kullanın. Spesifik durum varsa global politikayı localize edin ve özelleştirin.
Hata GidermeIP kaydım kabul edildi ama hiç eşleşmiyor, neden?Ekran kaydın biçimini kontrol etmez. Tam IPv4 adresi (192.168.1.100), joker karakter (192.168.1.*) veya aralık (192.168.1.4-18) kullanın. CIDR (192.168.1.0/24), IPv6 veya eksik adres gibi diğer biçimlerdeki kayıtlar hiçbir adresle eşleşmez.
Hata GidermeWhitelist'e eklediğim IP hala 403 alıyor, ne yapmalıyım?Troubleshooting adımları:
- Politika aktif mi kontrol edin (active=true).
- Global politika ise deploy edilmiş mi kontrol edin.
- API Gateway loglarında istemcinin gerçek IP'sini görün (Load Balancer arkasındaysa X-Forwarded-For).
- Condition tanımlı mı? Koşul sağlanıyor mu kontrol edin.
- IP kaydı desteklenen biçimde mi (CIDR değil)?
- İstemci IP'si için variable kullanılıyorsa variable değerini kontrol edin.
- Cache temizliği yapın (politika cache'i reload).
Hala sorun varsa destek ekibine log dosyalarını iletin.
Hata GidermeGeolocation kontrolü çalışmıyor, ne yapmalıyım?Kontrol listesi:
- Geolocation Settings'de servis aktif mi?
- Geolocation database güncel mi? (Son güncelleme tarihini kontrol edin)
- İstemci IP'si public IP mi? (Private IP'ler için geolocation çalışmaz: 192.168.x.x, 10.x.x.x)
- VPN veya Proxy kullanılıyor olabilir (gerçek lokasyonu gizler).
- API Gateway loglarında geolocation lookup sonucunu kontrol edin (hangi ülke/şehir tespit edilmiş).
- Geolocation sağlayıcısının API limit'ine ulaşılmış olabilir.

Bu doküman Apinizer ürün dokümantasyonunun bir parçasıdır. © 2025 Apinizer - Tüm hakları saklıdır.