Merge
Merge Nedir?
Merge, Page Types listesinden seçilen iki veya daha fazla sayfa tipini (WAF kuralını) tek bir kuralda birleştirir. Tipik kullanım, öğrenmenin ürettiği çok sayıda benzer exact path kuralının (/api/v1/login, /api/v2/login gibi) tek bir glob kuralına (/api/v*/login) katlanmasıdır: kural listesi sadeleşir ve desene uyan yeni path'ler de otomatik olarak kapsanır.
Birleşik kural, seçilen kuralların ayarlarının ve Check Fields denetimlerinin birleşimiyle oluşturulur ve yeni bir kural olarak listeye eklenir; ayarların nasıl birleştirildiği aşağıda açıklanmıştır.
INFO
Any Paths (catch-all) kuralı birleştirmeye dahil edilemez; seçimde Any Paths varken Merge butonu pasif kalır. Buton ayrıca en az iki kural seçilmeden etkinleşmez.
Birleştirme Adımları
- Listeden birleştirilecek kurallar (en az iki) işaretlenir.
- Araç çubuğundaki Merge butonuna tıklanır; Merge WAF Rules penceresi açılır.
- Birleşik kuralın path'i girilir, gerekiyorsa Force Merge ve Keep Original Rules seçenekleri işaretlenir.
Acceptbutonuna tıklanarak birleştirme tamamlanır.
Merge WAF Rules Penceresi
INFO
Merge Path
Birleşik kuralın path'i; alan zorunludur. Exact bir path veya glob deseni girilebilir; glob girildiğinde birleşik kural listede glob kuralı olarak yer alır. Girilen path, gruptaki (birleştirilenler dışında) mevcut bir kuralın path'iyle aynıysa işlem Rule collision hatasıyla reddedilir; pencere, düzeltme yapılabilmesi için açık kalır.
INFO
Eşleşme Önizlemesi
Merge Path alanının altındaki bilgi kutusu, seçilen kuralların girilecek desenle uyumunu canlı olarak gösterir. Alan boşken Paths to merge (N): başlığıyla seçilen kuralların path'leri listelenir. Desen yazıldıkça başlık, desenin türünü ve kaç path'in uyduğunu gösterecek biçimde güncellenir (Glob pattern matching - m/n matching) ve her path'in yanında eşleşme durumu belirtilir: uyanlar yeşil onay işaretiyle Matches, uymayanlar turuncu çarpı işaretiyle Does not match olarak işaretlenir. Tüm path'ler eşleştiğinde kutu yeşil, eşleşmeyen path kaldıkça turuncu görünümdedir.
INFO
Force Merge
İşaretlendiğinde, girilen desene uymayan path'lerin varlığı birleştirmeyi engellemez. İşaretli değilken eşleşmeyen path varsa Accept sonrasında "N path(s) do not match the merge pattern. Are you sure you want to continue?" onay sorusu gösterilir; Yes ile birleştirme yine de sürdürülür (Force Merge işaretlemekle eşdeğerdir), No ile forma geri dönülür.
INFO
Keep Original Rules
İşaretlendiğinde seçilen kurallar silinmez; birleşik kural listeye ek olarak oluşturulur. İşaretli değilken (varsayılan) seçilen kuralların tümü silinir ve yerlerini tek birleşik kural alır.
INFO
Accept
Accept butonuna tıklanarak birleştirme tamamlanır. Ek bir onay penceresi (eşleşmeyen path durumu dışında) veya dağıtım (deploy) adımı yoktur; WAF yapılandırması otomatik olarak yeniden üretilip uygulanır, tablodaki seçim temizlenir ve mod kartındaki N Page Types sayısı güncellenir.
Ayarların Birleştirilmesi
Birleşik kural yeni bir kural kimliği alır; ayarları, seçilen kuralların ayarlarından aşağıdaki davranışlarla türetilir:
| Ayar | Birleştirme davranışı |
|---|---|
| Allowed Methods | Kurallardan biri Any Methods ise sonuç Any Methods olur; Multiple Methods listeleri birleştirilir (birleşim). |
| Sayısal kısıtlar (Path Length, Path Depth ve Check Fields'taki boyut/uzunluk/derinlik kısıtları) | İki değerin kapsadığı en geniş aralık alınır. Taraflardan biri No Restriction ise diğer tarafın kısıtı korunur; ikisi de No Restriction ise sonuç No Restriction olur. |
| İzin verilen alan listeleri | Birleştirilir (birleşim). |
| Zorunlu alan listeleri | Ortak elemanlar alınır (kesişim). |
| OWASP | Kurallardan biri açıksa sonuç açık olur. |
| Check Fields denetimleri | Aynı konum ve alan adına ait denetimler tek denetimde birleştirilir; farklı olanlar yan yana eklenir. |
| Diğer ayarlar | İlk seçilen kuralın değeri korunur. |
Çalışma Anı Etkisi
Varsayılan davranışta (Keep Original Rules işaretsiz) seçilen exact kurallar silinir ve path'lerine gelen istekler artık birleşik glob kuralıyla denetlenir. Keep Original Rules işaretliyse orijinal exact kurallar, kural eşleşme önceliği gereği kendi path'lerini karşılamaya devam eder; birleşik glob kural yalnızca exact karşılığı olmayan path'leri yakalar. Devralma gereği, birleşik kuralın orijinal kurallarda tanımlı olmayan Check Fields denetimleri, desene uyan exact path'lerde de tamamlayıcı olarak uygulanır; çakışan ayarlarda ise her zaman exact kuralın kendi değeri geçerlidir.
Operasyonel En İyi Uygulamalar
- Desen, önizlemede tüm path'ler eşleşene kadar rafine edilmeli. Eşleşme önizlemesi m/n matching sayacı tam sayıya ulaşmadan birleştirme yapılmamalı; desen genişletilerek veya seçim daraltılarak tam kapsama sağlanmalıdır.
- Force Merge'ün sonucu bilinmeli. Desene uymayan bir path zorla birleştirildiğinde o path'in ayarları birleşik kurala taşınır; ancak orijinal kural silindiyse path artık birleşik kuralla eşleşmez ve Any Paths kuralına düşer.
- Emin olunmadığında Keep Original Rules işaretlenmeli. Orijinal kurallar öncelikli kalır ve kendi ayarları geçerli olmaya devam eder; birleşik kural beklenen sonucu vermezse tek başına silinerek eski duruma dönülür.
