Kendi özel kuralımı (regex) nasıl eklerim?
Kısa cevap
Bütün vService'ler için Signature & Rule Library ekranında, yalnızca bir vService için o vService'in OWASP Rules ekranında Add tıklanır. Add Custom Rule penceresinde katman içinde benzersiz bir Name, isteğe bağlı Description, State (varsayılan Enabled), Score (varsayılan Medium), Inspection Scopes (varsayılan Path; en az bir kapsam) ve Pattern (Regex) girilir. Desen yazılırken cihazdaki imza motorunda derlenir ve sonucu alanın altında görünür; alanın sağındaki deneme ikonuyla kaydetmeden örnek girdiler üzerinde denenir. Accept tıklanınca desen yeniden derlenir; derlenemiyorsa ya da ad aynı katmanda kullanılıyorsa kayıt reddedilir ve pencere açık kalır. Kural kimliği otomatik atanır (global kurallarda 1.000.000–4.999.999, vService'e özel kurallarda 5.000.000–9.999.999), kural Custom Rules kategorisine yazılır ve ayrı bir dağıtım adımı olmadan uygulanır.
Sorun: Uygulamaya Özgü Bir Desen Kütüphanede Yok
Uygulamaya özgü bir istek kalıbı (ör. kapatılmış bir yönetim yolunu çağırma denemeleri ya da uygulamanın kendi parametrelerine özgü bir saldırı biçimi) yerleşik imzalarla yakalanmıyor; kendi düzenli ifadenizle bir imza tanımlanması gerekiyor.
Çözüm: İki Yöntem
İki yöntem aynı formu kullanır; fark kuralın yazıldığı katmandır.
| Durumunuz | Uygun yöntem |
|---|---|
| Kural WAF koruması açık bütün vService'lerde çalışsın | Yöntem 1: Global özel kural |
| Kural yalnızca bir vService'te çalışsın | Yöntem 2: vService'e özel kural |
Yöntem 1: Global Özel Kural Önerilen
- Nasıl çalışır Kural global katmana yazılır ve WAF koruması açık her vService'in denetimine girer. Bir vService, kendi OWASP rules ekranında bu kuralın durumunu Change State ile yalnızca kendisi için değiştirebilir.
- Nerede açılır Configuration Menu → WAF → Signature & Rule Library → Add
- Gereksinim WAF lisansı; WAF alanında tam yetki
- Kapsam Cihaz geneli
Adım adım yapılandırma
Sol alttaki TR7 logosuyla Configuration Menu açılır ve WAF → Signature & Rule Library tıklanır (nasıl erişilir).
Araç çubuğundaki Add tıklanır; Add Custom Rule penceresi açılır.
Name alanına kuralın adı yazılır (ör. Legacy admin path); ad zorunludur ve aynı katmanda benzersiz olmalıdır. Description isteğe bağlıdır; listede ve önizlemede görünür.
State varsayılan olarak Enabled gelir; kuralı canlıda engellemeden denemek için Monitor seçilir. Score varsayılan olarak Medium gelir; varsayılan Very tight koruma düzeyinde Medium ve üstü tek isabetle eşiğe ulaşır (Bir imzanın puanını (Low / Medium / High / Very High) değiştirebilir miyim?).
Inspection Scopes listesinde desenin aranacağı bölümler işaretlenir: Path, Query, Header, Form, JSON, XML, Raw. Varsayılan olarak Path işaretlidir; en az bir kapsam kalmalıdır. Listenin başındaki anahtar bütün kapsamları birlikte işaretler ya da kaldırır (Özel kural eklerken "Inspection Scopes" alanı ne işe yarar?).
Pattern (Regex) alanına desen yazılır; örnek olarak kapatılmış bir yönetim yolunun çağrılmasını Path kapsamında yakalayan desen:
^/legacy-admin(/|$)Yazma sırasında kısa bir bekleme sonrası alanın altında Compiled by the signature engine ve derlenmiş imzanın boyutu ya da motorun hata metni görünür. Alanın sağındaki WAF rozeti desenin imza motorunda çalışacağını belirtir. Desen büyük/küçük harf duyarlıdır ve en fazla 4.096 karakter olabilir; desteklenen söz dizimi: Özel kurallarda hangi regex söz dizimi destekleniyor (backreference, lookaround); kuralı kaydetmeden test edebilir miyim?
Alanın sağındaki deneme (şişe) ikonu tıklanır ve örnek girdi yazılır. Yukarıdaki desen için /legacy-admin/users girdisinde Matches this input, /legacy-administrator ve /Legacy-Admin girdilerinde No match görünür.
Accept tıklanır; formda çözülmemiş hata varken buton pasiftir. Cihaz deseni kayıt sırasında yeniden derler: derlenemiyorsa Invalid WAF pattern hatası, ad aynı katmanda kullanılıyorsa Custom rule name "…" already exists hatası görünür ve pencere açık kalır. Başarılı kayıtta kural ayrı bir dağıtım adımı olmadan uygulanır; cluster kurulumunda varsayılan auto-sync ile eş cihaza da gönderilir, Manual Sync Mode açıksa eş cihaza elle gönderilir. İmza veritabanı her cihazda ayrı derlenir.
Doğrulama
Liste yerleşik imzalardan sonra global özel kuralları gösterir; yeni satır yeşil tonla boyanır ve italik yazılır, Date kolonunda eklendiği gün görünür.
ID 1.000.000–4.999.999 · Type CustomHost grubu Blocking modundayken desene uyan bir istek gönderilir; State Monitor seçildiyse istek geçer ve Event Logs'ta kayıt oluşur.
Komut: curl -sI https://www.example.com/legacy-admin/
Enabled + Medium (Very tight): engelleme yanıtı · Monitor: normal yanıt ve Event Logs kaydıYöntem 2: vService'e Özel Kural
- Nasıl çalışır Kural yalnızca bu vService'in katmanına yazılır; Signature & Rule Library'de ve başka vService'lerin OWASP rules ekranında listelenmez.
- Nerede açılır Left Monitor Panel → WAF-Protected vServices → vService → WAF Management → imza özeti şeridindeki OWASP Rules bağlantısı → Add
- Gereksinim vService'te WAF koruması açık; WAF alanında değiştirme yetkisi
- vService tipi HTTP
Adım adım yapılandırma
Left Monitor Panel'de WAF-Protected vServices sekmesi seçilir ve vService'e tıklanır.
WAF Management sekmesinde imza özeti şeridinin sağ altındaki OWASP Rules → bağlantısı tıklanır; OWASP Rules sekmesi açılır (nasıl erişilir).
Araç çubuğundaki Add tıklanır; Add Custom Rule penceresi açılır.
Name, Description, State, Score, Inspection Scopes ve Pattern (Regex) alanları Yöntem 1'deki 3–7. adımlardaki gibi doldurulur ve desen denenir. Ad yalnızca bu vService'in kuralları arasında benzersiz olmalıdır.
Accept tıklanır; yalnızca bu vService'in kural kümesi yeniden derlenir, diğer vService'lerin denetimi etkilenmez.
Doğrulama
OWASP rules listesinin sonundaki yeni satırın kimliğine bakılır; Signature & Rule Library'de bu kural görünmez.
ID 5.000.000–9.999.999Sık Yapılan Hatalar
- Gereğinden geniş kapsam seçmek. Desen seçilen her bölümde ayrı taranır; anlamlı olmadığı bölümlerde false positive ve denetim maliyeti artar.
- Yeni kuralı doğrudan Enabled ile canlıya almak. Önce Monitor durumunda isabetler izlenir (Yeni bir imzayı canlıda risksiz nasıl denerim (Monitor durumu)?).
- Büyük/küçük harf varyantlarını unutmak. Formda harf duyarsızlık seçeneği yoktur; varyantlar desende karakter kümesiyle yazılır (ör.
[Ll]egacy). - Lookaround ya da geri referans kullanmak. İmza motoru bu yapıları derlemez; desen kaydedilemez.
- İmzaları sayfa tipi Import'u ile taşımaya çalışmak. Page types ekranındaki Import yalnızca sayfa tiplerini taşır; özel imza kuralları bu dosyaya girmez ve WEB-CLI'da imza kütüphanesi komutu yoktur.
Dokümantasyonda nasıl yapılır
