Yasaklı IP Listesi
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?
- Gelen tüm istemcileri kaynak IP adresine göre değerlendirerek kara listedeki istemcilerin API Proxy (API Vekil Sunucusu) üzerinden geçişini engellemek.
- Kurumsal olarak tanımlanmış IP Grup kayıtlarıyla merkezi kara liste yönetimini kolaylaştırmak ve yeniden kullanım sağlamak.
- Coğrafi konum verilerini kullanarak ülke veya şehir bazında istemci engellemesi yapabilmek.
- Değişken tabanlı dinamik IP setleriyle dış sistemlerden beslenen kara liste uygulamalarını mümkün kılmak.
Çalışma Prensibi
- İstek Gelişi: API Gateway'e gelen her HTTP/HTTPS isteği için, istemin kaynak IP adresi tespit edilir.
- Politika Kontrolü: Yasaklı IP Liste 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)?
- Variable kullanılıyor mu yoksa Apinizer default mı?
- Kara Liste Değerlendirmesi: İstek IP'si tanımlı IP listesi, bağlı IP Grupları veya seçili coğrafi konum girdileriyle karşılaştırılır; gerekirse dinamik variable kaynağından alınan IP seti kullanılır.
- Karar Verme:
- Eşleşme Var: İstek reddedilir, özelleştirilmiş hata mesajı ve belirlenen HTTP kodu döndürülür, işlem loglanır.
- Eşleşme Yok: İstek akışı bir sonraki Policy'ye veya hedef servise yönlendirilir.
- Hata İşleme: Politika kuralına uymayan istekler için özelleştirilebilir HTTP durum kodu ve hata mesajı döndürülür.
Özellikler ve Yetenekler
Temel Özellikler
- Kara Liste IP Yönetimi: IPv4 / CIDR formatında IP adreslerini ekleme, düzenleme ve silme imkanı sunar; yazım hatalarını engelleyen doğrulama içerir.
- IP Grup Entegrasyonu: Mevcut IP Gruplarını seçerek çok sayıda IP kaydını tek seferde kara listeye dahil eder ve grup bazlı güncelleme sağlar.
- Coğrafi Konum Filtreleri: Ülke ve opsiyonel şehir seçimiyle geniş ölçekli engelleme senaryolarını yönetir, tüm şehirleri kapsayan kayıt oluşturabilir.
- Aktif/Pasif Durum Kontrolü: Politikanın aktif veya pasif durumunu kolayca değiştirme (active/passive toggle). Pasif durumda politika uygulanmaz ancak yapılandırması 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
- Değişken Tabanlı Kara Liste: Apinizer Variable seçerek dış sistemlerden beslenen IP listelerini dinamik olarak uygular.
- Geolocation-Veri Harmanı: Seçilen ülkeler ve şehirler ile IP listesi birleşiminde çok katmanlı engelleme stratejileri tanımlar.
- Politika Kullanım Görselleştirme: Kullanıldığı API Proxy ve Policy Group bilgilerini izleyerek etki analizini kolaylaştırır.
- Export/Import Özelliği: Politika yapılandırmasını ZIP dosyası olarak export etme. Farklı ortamlara (Geliştirme, Test, Canlı Ortam) 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ı
| Senaryo | Durum | Çözüm (Politika Uygulaması) | Beklenen Davranış / Sonuç |
|---|---|---|---|
| Ofis Dışı Erişim Engeli | İç sistemlere sadece kurum ağından erişim isteniyor | IP listesine dış IP bloklarını ekle. | Kurum dışı IP'lerden gelen istekler 403 Forbidden döner. |
| Şüpheli Trafik Kaynağı | Belirli ülkelerden gelen yoğun saldırı tespit edildi | Geolocation'da ilgili ülke seçilerek tüm şehirler engellenir. | Seçilen ülkeden gelen tüm istekler engellenir, loglanır. |
| Geçici Kara Liste | Saldırı yapan IP'ler kısa süreli engellenecek | IP listesine süreli kayıt ekle, notu Description'da belirt. | İlgili IP erişimi kesilir; süre sonunda liste güncellenebilir. |
| Partner API Koruması | Yetkisiz partner denemeleri var | IP Grup'tan sadece izinli partner IP'leri dışındaki set dahil edilir. | Partner dışı IP denemeleri reddedilir, partner IP'leri etkilenmez. |
| Dinamik DLP Bazlı Engelleme | SIEM sistemi kara listeyi değişkenle paylaşıyor | useApinizerDefault kapatılıp Variable seçilir. | Variable'daki IP'ler her kontrol öncesi kullanılır. |
| Bölgesel Bakım Süreci | Belirli şehirlerden geçici erişim kesilecek | Geolocation ile ülke+şehir seçilerek listeye alınır. | Seçilen şehirlerden gelen tüm istekler bakım süresince engellenir. |
| Çoklu API Güvenliği (Opsiyonel) | Birden fazla API aynı kara listeyi kullanıyor | Policy Group oluşturup bu politikayı ekleyin. | Tüm API'ler güncel kara listeden aynı anda yararlanır. |
Politika Parametrelerini Yapılandırma
Bu bölümde yeni bir Blocked IP List politikası oluşturabilir ya da mevcut politika parametrelerini yapılandırarak erişim kurallarını belirleyebilirsiniz.
Yeni Yasaklı IP Listesi Politikası Oluşturma
Yapılandırma Adımları
| Adım | Açıklama / İşlem |
|---|---|
| Adım 1: Oluşturma Sayfasına Gitme | - Sol menüden Development → Global Settings → Global Policies → Blocked IP List bölümüne gidin. - Sağ üstteki [+ Create] butonuna tıklayın. |
| Adım 2: Temel Bilgileri Girme | Policy Status (Politika Durumu): Aktif/Pasif durumu gösterir. Yeni politikalar varsayılan olarak aktiftir. Name (İsim) Zorunlu: Örnek: Production_IPBlackList- 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: "Global saldırı kaynaklı IP'leri engeller." - 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: Kara Liste Kaynaklarını Tanımlama | - Use Apinizer Default açıkken IP kara liste yönetimi politika üzerinden yapılır. - IP Address List alanına IPv4/CIDR girdilerini ekleyin; yanlış formatlar reddedilir. - IP Groups butonuyla merkezi IP Gruplarını seçin ve listeye ekleyin. |
| Adım 5: Dinamik Değişken Yapılandırması (Varsa) | - Varsayılanı kapatarak variable tabanlı kara liste kullanın. - Select Variable ile Apinizer Variable seçin; variable JSON verisi IP listesi döndürmelidir. - Variable kaldırmak için temizleme butonunu kullanın. |
| Adım 6: Coğrafi Kısıtları Eklemek (Varsa) | - Geolocation aktifse ülke/şehir seçip Add butonuna tıklayın. - Ülke seçilip şehir boş bırakılırsa tüm şehirler engellenir. - Eklenen kayıtları tablo üzerinden tek tek ya da toplu silebilirsiniz. |
| Adım 7: Koşul Tanımlama (İsteğe Bağlı) | Ö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ımlamazsa politika her zaman aktif |
| 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": "[Default hata mesajı]" }Özel: { "statusCode": 403, "errorCode": "[CUSTOM_ERROR_CODE]", "message": "[Özel mesaj]" } |
| Adım 9: Kaydetme | - Sağ üstteki [Save] butonuna tıklayın. Kontrol Listesi: Benzersiz isim Zorunlu alanlar dolu En az bir IP veya grup mevcut Sonuç: - Politika listeye eklenir. - API'lere bağlanabilir. - Global politikaysa otomatik uygulanır. |
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
| Özellik | Açıklama ve Kullanım Adımları |
|---|---|
| Dinamik Variable Senkronizasyonu | - Dış sistemden IP listesi sunan Variable seçin. - Variable güncellemelerini izlemek için Event Manager bildirimlerini takip edin. - Değişiklik sonrası politikanın ilgili API Proxy'lerde deploy edildiğini doğrulayın. |
| Çok Katmanlı Geolocation Engellemesi | - Geolocation ayarlarının aktif olduğundan emin olun. - Ülke seçip gerekiyorsa şehirleri çoklu seçimle ekleyin. - Listeyi düzenli aralıklarla gözden geçirip gereksiz kayıtları temizleyin. |
| Karma IP Kaynağı Stratejisi | - Hem IP listesi hem IP Gruplarını yapılandırın. - Group değişikliklerinde politikanın otomatik güncellendiğini kontrol edin. - Query Builder ile sadece belirli endpoint'lerde tetiklenecek koşullar tanımlayın. |
Best Practices
Yapılması Gerekenler ve En İyi Uygulamalar
| Kategori | Açıklama / Öneriler |
|---|---|
| IP Listesi Bakımı | Kötü: Aynı IP'yi farklı formatlarda tekrarlamak. İyi: CIDR bloklarıyla kümeleri topluca eklemek. En İyi: Düzenli rapor alıp gereksiz kayıtları kaldırmak. |
| IP Grup Yönetimi | Kötü: Ortak IP'leri tek tek her politikaya eklemek. İyi: Paylaşılan IP Grupları kullanmak. En İyi: IP Grup içeriklerini CMDB veya IAM süreçleriyle eşlemek. |
| Geolocation Kullanımı | Kötü: Tüm ülkeyi engelleyip kritik kullanıcıları dışarıda bırakmak. İyi: Coğrafi engeli dönemsel raporlarla doğrulamak. En İyi: Şehir bazlı kayıtlarla hedefli engelleme yapmak. |
| Variable Yönetimi | Kötü: Variable formatı geçersiz JSON döndürüyor. İyi: Variable'ı düzenli aralıklarla test etmek. En İyi: Variable güncellemelerini CI/CD pipeline'ına bağlamak. |
| Koşul Tasarımı | Kötü: Politikanın her istekte tetiklenmesine izin vermek. İyi: Yönetim endpoint'lerini hariç tutmak. En İyi: Query Builder ile ortam ve kullanıcı tipine göre koşul tanımlamak. |
Güvenlik En İyi Uygulamaları
| Güvenlik Alanı | Açıklama / Uyarılar |
|---|---|
| IP Kaydı Doğruluğu | IP/CIDR doğrulamasını etkin kullanın; hatalı kayıtlar saldırganların geçişine sebep olabilir. |
| Yetkilendirme Kontrolü | Politika düzenleme yetkilerini sadece güvenilir rollere verin; değişiklikler merkezi loglara işlenmelidir. |
| Variable Güvenliği | Variable içeriğini yetkisiz değişikliklere karşı denetleyin, kaynak sistem erişimini kısıtlayın. |
| Geolocation Eşleşmeleri | Geolocation tedarikçisi güncel değilse yanlış engellemeler oluşabilir; veri güncelliğini doğrulayın. |
| Log İzleme | Hata mesajı yanıtlarını SIEM'e yönlendirerek tekrar eden IP'leri otomatik kara listeye ekleyin. |
Kaçınılması Gerekenler
| Kategori | Açıklama / Uyarılar |
|---|---|
| Aşırı Kapsamlı Kara Liste | Neden kaçınılmalı: Meşru kullanıcılar yanlışlıkla engellenir. Alternatif: Koşullu uygulama ve geolocation filtreleri kullanın. |
| Pasif Politika Unutmak | Neden kaçınılmalı: Politikayı pasif bırakıp güvenlik açığı yaratabilirsiniz. Alternatif: Deploy sonrası aktiflik durumunu doğrulayın. |
| Variable Format Hataları | Neden kaçınılmalı: JSON yapısı bozulursa politika hiç çalışmaz. Alternatif: Otomasyonla format doğrulaması yapın. |
| Koşulsuz Global Değişiklik | Neden kaçınılmalı: Birçok API için servis kesintisi yaratabilir. Alternatif: Önce test ortamında validate edip kademeli deploy edin. |
Performans İpuçları
| Kriter | Öneri / Etki |
|---|---|
| IP Liste Boyutu | Öneri: CIDR bloklarıyla kayıt sayısını azaltın. Etki: Karar süresi kısalır, bellek kullanımı düşer. |
| Variable Okuma Sıklığı | Öneri: Variable değerini cacheleyen servisleri kullanın. Etki: Her istek için uzak çağrı yapılmaz, gecikme azalır. |
| Geolocation Sorguları | Öneri: Ülke/şehir eklemelerinde gereksiz kayıtları temizleyin. Etki: Karşılaştırma sayısı azalır, işlem süresi kısalır. |
| Policy Group Kullanımı | Öneri: Aynı politikayı birden fazla API'de kullanırken Policy Group üzerinden yönetin. Etki: Deploy işlemleri toplu yapılır, operational yük düşer. |
| Log Seviyesi | Öneri: Hata loglarını sadece reddedilen isteklere odaklayın. Etki: Log hacmi kontrol edilir, analiz süreçleri hızlanır. |
Sık Sorulan Sorular
| Kategori | Soru | Cevap |
|---|---|---|
| Genel | IP Kara Liste Politikası neyi engeller? | Kaynak IP'si listede bulunan istemcilerin API Proxy erişimini engelleyerek güvenlik sağlar. |
| Genel | Geolocation verisi zorunlu mu? | Hayır, sadece ek kısıtlama ihtiyacı varsa ülke/şehir kayıtları eklenmelidir. |
| Teknik | Variable hangi formatta olmalı? | JSON dizisi şeklinde IP veya CIDR string değerleri içermelidir; örn. ["10.0.0.0/24","192.168.1.10"]. |
| Teknik | Aynı IP hem listede hem grupta ise ne olur? | Politika IP'yi bir kez değerlendirir; yinelenen kayıtlar davranışı değiştirmez. |
| Kullanım | Politikayı sadece belirli endpoint'lere nasıl uygularım? | Query Builder'da Path koşulu tanımlayarak ilgili endpoint desenlerini seçin. |
| Kullanım | Detay sayfasındaki Deploy butonu ne yapar? | Politika değişikliklerini seçili API Proxy'lere canlı ortama aktarmanızı sağlar. |