Hazır WAAP imzaları SQL injection, XSS, path traversal, SSRF, bilinen CVE'ler ve yaygın saldırı teknikleri için temel koruma sağlar. Fakat gerçek üretim ortamında her uygulama farklıdır. Bazı API'ler özel header formatı ister, bazı uygulamalar legacy parametre yapısı kullanır, bazı servislerde normal kabul edilen trafik hazır imza setinde şüpheli görünebilir.
Bu yüzden iki ihtiyaç ortaya çıkar. Birincisi, hazır kural setini bozmadan uygulamaya özel yeni WAAP kuralı eklemek. İkincisi, hazır bir kuralın davranışını belirli servis için değiştirmek: kapatmak, monitor moduna almak, skorunu düşürmek veya yalnızca belirli trafik bölümlerinde çalıştırmak.
Geleneksel yaklaşımlarda custom rule yazımı çoğu zaman ağırdır. Operatör özel script dili öğrenmek zorunda kalır, rule syntax karmaşıklaşır, yanlış yazılan regex üretim trafiğini kesebilir veya kural yayına almak servis kesintisi riski oluşturabilir. Bu nedenle ekipler ya fazla geniş kurallar yazar ya da riskli trafiği geçici olarak görmezden gelir.
ID, override ve katman yönetimi de ayrı bir problemdir. Hazır kural, kurum geneli özel kural ve uygulama özel kuralı aynı alanda karışırsa bakım zorlaşır. Aynı kural farklı uygulamalarda farklı davranmalıysa duplicate edip değiştirme yaklaşımı kısa sürede sürdürülemez hale gelir.
TR7 Custom WAAP Rules modeli bu karmaşayı sadeleştirir: özel kural regex, scope, score ve state ile tanımlanır; mevcut kural override ile ayarlanır; global ve pool katmanları çakışmasız ID aralıklarıyla yönetilir.
TR7, özel WAAP kuralı yazmayı ayrı bir kodlama işi olmaktan çıkarıp doğrulanabilir, katmanlı ve ana WAAP motoruna bağlı bir politika akışına dönüştürür.
Operatör özel WAAP kuralını ad, açıklama, regex, match scope, skor ve state alanlarıyla tanımlar. Günlük kullanım için wizard modeli yeterlidir; daha kontrollü operasyon isteyen ekipler aynı yapıyı ham JSON olarak da yönetebilir.
TR7'de kurum veya uygulamaya özel yeni regex pattern'i eklenebilir. Mevcut hazır kural içinse yalnızca değiştirilmesi gereken state, score veya match scope davranışı override edilir; hazır kural seti fork edilmez.
Global katman tüm servisler için kurum baseline'ı sağlar; pool katmanı belirli uygulama veya servis özelinde daha dar ayar yapar. ID aralıkları ayrıldığı için hazır kurallar, global özel kurallar ve servis özel kuralları birbirine karışmaz.
Kural canlıya alınmadan önce isim, skor, scope ve regex alanları doğrulanır. Kural geçerliyse ilgili imza parçası yeniden derlenir; değişmeyen parçalar gereksiz yere etkilenmez.
Custom WAAP Rules, özel güvenlik mantığını ana WAAP skor sistemiyle aynı düzlemde çalıştırır.
Her özel kural ad, açıklama, regex, match scope, skor ve state alanlarıyla tanımlanır. Regex saldırı pattern'ini veya izin verilmeyen formatı belirtir; scope ise bu pattern'in path, query, header, form, json, xml veya raw içerikte aranacağını belirler. Skor değeri tehdidin ağırlığını WAAP puanlama modeline taşır. State alanı ile kural enabled, monitor veya disabled olarak yönetilir.
Custom rule yalnızca tüm isteğe kör biçimde uygulanmaz; hangi trafik bölümünde aranacağı açıkça seçilir. Path, query, header, form, json, xml ve raw scope seçenekleri ile kuralın çalışma alanı daraltılır. Bu yaklaşım false-positive riskini azaltır ve regex'in yalnızca anlamlı yerde çalışmasını sağlar. Operatör aynı pattern'i farklı scope'larda farklı etkiyle kullanabilir.
Özel kurallar 2, 4, 6 veya 8 skor seviyelerinden biriyle tanımlanır. Düşük skorlar izleme veya zayıf sinyal için, yüksek skorlar güçlü saldırı göstergesi için kullanılabilir. Skor, ana WAAP karar mekanizmasına katılır ve diğer imzalarla birlikte değerlendirilir. Böylece özel kural tek başına kopuk bir engelleme mantığı değil, birleşik risk hesabının parçası olur.
Yeni bir custom rule doğrudan engelleme moduna alınmak zorunda değildir. Monitor modunda kural eşleşmeleri loglanır ancak trafik kesilmez. Operasyon ekibi gerçek trafik üzerinde false-positive seviyesini görür, regex ve scope ayarını daraltır, ardından güvenle enabled durumuna geçebilir. Bu model üretim ortamında kontrollü devreye alma sağlar.
Mevcut bir hazır kural belirli uygulamada fazla gürültü üretiyorsa kural setini kopyalayıp bozmak gerekmez. Override ile state, score veya match scope davranışı değiştirilebilir. Aynı hazır kural globalde aktif kalırken belirli pool'da monitor moda alınabilir veya daha dar scope ile çalıştırılabilir. Bu yapı bakım yükünü azaltır ve güncel imza setinden kopmayı engeller.
Global custom rule ID'leri 1.000.000–4.999.999 aralığında, pool custom rule ID'leri 5.000.000–9.999.999 aralığında üretilir. Bu ayrım hazır kurallar, kurum geneli kurallar ve uygulama özel kurallar arasında çakışmayı önler. Operasyon ekibi bir kuralın kapsamını ID seviyesinden bile ayırt edebilir. Büyük ortamlarda kural envanteri daha düzenli yönetilir.
Custom rule değişikliği yapıldığında hedeflenen imza parçası yeniden hazırlanır. Değişmeyen kural kümelerinin tamamını durdurup yeniden başlatma yaklaşımı izlenmez. Bu, kural operasyonunu daha hızlı ve daha düşük riskli hale getirir. Sık değişen geçici koruma kurallarında bu davranış özellikle değerlidir.
Custom rule eşleşmeleri ayrı ve kopuk bir log formatında kalmaz. Kural ID'si, adı, state bilgisi, skor değeri ve eşleşen scope ana WAAP olay akışına dahil edilir. SIEM tarafında özel kural ile hazır kural aynı olay modeli üzerinden incelenebilir. Bu görünürlük olay müdahalesi ve compliance raporlamasında tutarlılık sağlar.
Özel WAAP kuralı yönetimi; doğrulama, çakışma kontrolü, hot-load, audit ve geri dönüş süreçleriyle birlikte düşünülür.
Kural canlıya alınmadan önce regex'in boş olmaması, skorun izinli değerlerden biri olması ve scope listesinin geçerli olması kontrol edilir. İsim benzersizliği ve ID aralığı da doğrulama sürecinin parçasıdır. Geçersiz kural WAAP motoruna alınmaz.
Global katman kurum geneli baseline sağlar; pool katmanı belirli servis veya uygulama için daha özel davranış tanımlar. Aynı mantığın farklı katmanlarda farklı sonuç üretmesi gerekiyorsa override mekanizması kullanılır. Bu model duplicate kural üretmek yerine kapsamlı ve yönetilebilir istisna sağlar.
Regex pattern'leri dikkatli yazılmadığında performans riski oluşturabilir. Çok geniş, backtracking ağırlıklı veya scope'u gereğinden büyük pattern'ler production trafiğinde maliyet yaratabilir. Bu nedenle regex, mümkün olduğunca dar scope ve net pattern ile tanımlanmalıdır.
Yeni custom rule için güvenli akış önce monitor modunda gerçek trafik gözlemi yapmaktır. Log sonuçları incelenir, false-positive üreten path, header veya parametreler değerlendirilir. Kural davranışı netleştiğinde enabled moda alınır.
Custom rule ekleme, güncelleme, devre dışı bırakma ve override işlemleri audit kaydına bağlanmalıdır. Kim, ne zaman, hangi kuralın skorunu, scope'unu veya state değerini değiştirdi bilgisi olay sonrası inceleme için kritiktir. Özellikle bloklama etkisi olan kurallarda değişiklik geçmişi operasyon güvenliği sağlar.
Bir custom rule beklenmeyen etki üretirse hızlıca monitor veya disabled durumuna alınabilir. Override değişiklikleri de geri alınarak hazır kural davranışına dönülebilir. Bu, üretim trafiğini kesmeden kural operasyonu yapmayı kolaylaştırır.
Güvenlik ekibi, yeni duyurulan bir açık için resmi imza güncellemesini beklemeden geçici regex tabanlı kural ekleyebilir. Kural önce monitor modunda denenir, ardından saldırı pattern'i netse enabled moda alınır.
Belirli bir uygulamada hazır WAAP kuralı normal trafiği etkiliyorsa kural tamamen kapatılmadan override edilir. Scope daraltılır, skor düşürülür veya yalnızca ilgili pool için monitor moda alınır.
Finans veya sağlık uygulamaları, belirli header, form veya JSON alanlarında beklenen formatı custom rule ile denetleyebilir. Uygunsuz istekler uygulama koduna ulaşmadan skorlanır veya engellenir.
SaaS ekipleri, kendi API davranışlarına özgü kötüye kullanım pattern'lerini path, query, header veya JSON scope'unda yakalayabilir. Hazır imza setinde bulunmayan iş mantığı ihlalleri TR7 WAAP içinde özel kural olarak yönetilir.
Regex, scope, skor ve override ile özel güvenlik kuralı. Kendi ortamınızda canlı bir kurulumda gezdirelim.