Test ortamında hazırladığım WAF kurallarını canlıya nasıl taşırım?
Kısa cevap
Kural seti host grubu bazında, dosyayla taşınır: test vService'inin host grubunda Page Types ekranındaki Export ile JSON alınır, canlı vService'in hedef host grubunda Import ile yüklenir. Import hedef grubun bütün sayfa tiplerinin yerine geçtiği için önce canlıdaki set Export ile yedeklenir. Canlıdaki kuralları koruyup yalnızca testte hazırlanan path'leri eklemek için Export (OpenAPI) ve Import (OpenAPI) kullanılır; bu birleştirmedir: aynı path'li kural belgedekiyle değişir, diğerleri kalır, ancak TR7'nin ürettiği belge Any paths kuralını da taşıdığı için canlının Any paths'i belgedekiyle değişir. Dosyaya yalnızca kural listesi girer; host grubunun adı, deseni ve modu, koruma düzeyi, Checks, engelleme sayfası, gövde sınırları ve öğrenme ayarları gibi vService WAF ayarları ile OWASP Rules ve Signature & Rule Library değişiklikleri canlıda ayrıca yapılır; ayarlar WEB-CLI'da waf options komutlarıyla aktarılabilir. Yüklemeden önce canlı host grubu Monitor Mode'a alınır, yanlış engelleme görülmezse Blocking Mode'a döndürülür. Dosyalar cihazdan bağımsızdır; test ve canlı farklı TR7 cihazlarında olabilir.
Sorun: Testte Hazırlanan Kuralların Canlıya Hatasız Aktarılması Gerekiyor
Kural seti test ortamında öğrenildi ya da elle hazırlanıp denendi. Aynı kuralların canlı vService'e elle yeniden girilmeden, canlı trafiği yanlış engellemelere açmadan ve gerektiğinde eski hâline dönülebilecek biçimde aktarılması gerekiyor.
Çözüm: Üç Yöntem
Yöntem 1 ve 2 kural setini taşır ve birbirinin alternatifidir; Yöntem 3 kural dosyasına girmeyen vService WAF ayarlarını aktarmak için bunlardan sonra kullanılır.
| Durumunuz | Uygun yöntem |
|---|---|
| Canlı grubun kural setini test setiyle tümüyle değiştirmek | Yöntem 1: Export ve Import |
| Canlıdaki kuralları koruyup testte hazırlanan path'leri eklemek ya da güncellemek | Yöntem 2: Export (OpenAPI) ve Import (OpenAPI) |
| Koruma düzeyi, engelleme sayfası gibi vService WAF ayarlarını da aktarmak | Yöntem 3: WAF ayarlarını WEB-CLI ile aktarmak |
| Bir uygulama sürümünün yayın sürecini planlamak | Uygulama sürüm yayın sürecime WAF'ı nasıl dahil etmeliyim? |
Yöntem 1: Export ve Import Önerilen
- Nasıl çalışır Test grubunun kural seti (sayfa tipleri, Any paths ve Check fields denetimleri) dosyaya alınır ve canlı grubun setinin yerine yüklenir (Import yaptığımda mevcut kurallar ne olur (tam değiştirme)?).
- Nerede açılır Her iki vService'te: Left Monitor Panel → WAF-Protected vServices → vService → WAF Management → mod kartı → N page types
- Gereksinim İki vService'te de WAF koruması açık; WAF alanında değiştirme yetkisi (Export de bu yetkiyi ister)
- vService tipi HTTP
Adım adım yapılandırma
Test vService'inde WAF Management sekmesine geçilir ve taşınacak host grubunun mod kartındaki N page types satırına tıklanır (ekrana erişim).
Araç çubuğundaki Export butonuna tıklanır; dosya onay sorulmadan iner (dışa aktarma adımları).
Kurallar canlıda varsayılan gruba değil de ayrı bir alan adı grubuna yüklenecekse ve bu grup yoksa: canlı vService'in WAF Management sekmesinde Virtual Host Groups bandındaki artı ikonuna tıklanır; Add başlıklı pencere açılır (Host Group nasıl eklenir; Virtual Host Patterns alanına ne yazılır?). Hedef grup zaten varsa 3–7. adımlar atlanır. Grubun adı, desenleri ve modu kural dosyasında yoktur.
Virtual Host Group Name alanına grubun adı yazılır.
WAF Mode alanında Monitor mode seçilir; alan vService'in varsayılan moduyla önseçili gelir.
Virtual Host Patterns alanına canlı alan adları yazılır.
Pencerenin altındaki Add butonuna tıklanır. Cluster kurulumunda varsayılan auto-sync ile değişiklik eş cihaza da gönderilir; Manual Sync Mode açıksa Synchronize ile gönderilir.
Canlı vService'in WAF Management sekmesinde hedef grubun mod kartındaki N page types satırına tıklanır.
Export butonuna tıklanır; inen dosya geri dönüş için saklanır.
WAF Management sekmesinde hedef grubun mod kartının başlık şeridindeki Edit yazısına tıklanır. Grup 3–7. adımlarda Monitor mode ile oluşturulduysa 10–12. adımlar atlanır.
WAF Mode alanında Monitor mode seçilir. Bu modda saldırılar kaydedilir ama engellenmez (Monitor modunu false positive ayıklamak için nasıl kullanırım?).
Pencerenin altındaki Edit butonuna tıklanır. Cluster kurulumunda varsayılan auto-sync ile değişiklik eş cihaza da gönderilir; Manual sync mode açıksa Synchronize ile gönderilir.
Canlı grubun Page types ekranında Import butonuna tıklanır; dosya seçici açılır (içe aktarma adımları).
- adımda inen
.jsondosyası seçilir.
Are you sure? sorusunda Yes tıklanır. Dosya bozuksa (Corrupted WAF rules file) ya da geçersiz desen içeriyorsa (Invalid WAF pattern (...)) içe aktarma reddedilir ve mevcut set değişmez. Başarılı yüklemede ayrı bir dağıtım adımı yoktur. Cluster kurulumunda varsayılan auto-sync ile değişiklik eş cihaza da gönderilir; Manual sync mode açıksa Synchronize ile gönderilir.
Canlı vService'in Event Logs sekmesinde, gerçek trafikte yeni kuralların tetiklediği kayıtlar incelenir; false positive'ler düzeltilir (Yanlışlıkla engellenen bir isteğe nasıl izin veririm?). Sorun büyükse 9. adımdaki dosya aynı yolla Import edilerek eski sete dönülür.
False positive kalmadığında mod kartının başlık şeridindeki Edit yazısına tıklanır.
WAF Mode alanında Blocking Mode seçilir.
Pencerenin altındaki Edit butonuna tıklanır. Cluster kurulumunda varsayılan auto-sync ile değişiklik eş cihaza da gönderilir; Manual sync mode açıksa Synchronize ile gönderilir.
Doğrulama
Canlı grubun mod kartındaki sayaç ve Page types listesi test grubunkiyle karşılaştırılır.
N page types sayısı ve path'ler test grubuyla aynıCanlı cihazda User Logs ekranında Field = WAF ve Action type = Import süzülür.
N WAF rules are imported from file for grup@vServiceYöntem 2: Export (OpenAPI) ve Import (OpenAPI)
- Nasıl çalışırExport (OpenAPI) kural setini OpenAPI 3.0 belgesi olarak verir; belge her kuralın tam yapılandırmasını TR7'ye özel bir bölümde taşır. Import (OpenAPI) belgeyi hedef gruba birleştirir: belgedeki her path için aynı path'li kural varsa belgedekiyle tümüyle değiştirilir, yoksa eklenir; belgede olmayan kurallara dokunulmaz. TR7 belgesindeki Any paths yapılandırması hedef grubun Any paths'inin yerine geçer.
- Nerede açılır Test grubunun Page types ekranı → Export (OpenAPI) · canlı grubun Page types ekranı → Import (OpenAPI)
- Gereksinim İki vService'te de WAF koruması açık; WAF alanında değiştirme yetkisi; hedef host grubu canlıda mevcut olmalıdır
- vService tipi HTTP
Adım adım yapılandırma
Test grubunun Page types ekranında Export (OpenAPI) butonuna tıklanır; adında _openapi_ geçen .json belge onay sorulmadan iner (dışa aktarma adımları).
Yöntem 1'in 3–12. adımları uygulanır: gerekiyorsa hedef grup oluşturulur, canlı set düz Export ile yedeklenir ve grup Monitor mode'a alınır. Birebir geri dönüş yalnızca düz Export dosyasıyla yapılır.
Canlı grubun Page types ekranında Import (OpenAPI) butonuna tıklanır; dosya seçici açılır.
- adımda inen belge seçilir;
.json,.yamlve.ymldosyaları kabul edilir.
Are you sure? sorusunda Yes tıklanır. İşlem sonunda OpenAPI import: N path applied bildirimi gösterilir; dönüştürme uyarısı varsa bildirime eklenir (doğrulama ve hatalar). Cluster kurulumunda varsayılan auto-sync ile değişiklik eş cihaza da gönderilir; Manual Sync Mode açıksa Synchronize ile gönderilir. Ardından Yöntem 1'in 16–19. adımlarıyla izlenir ve Blocking mode'a dönülür.
Doğrulama
Canlı grubun Page types listesine bakılır.
Canlıdaki eski path'ler yerinde; testteki path'ler eklenmiş ya da güncellenmişYöntem 3: WAF Ayarlarını WEB-CLI ile Aktarmak
- Nasıl çalışır Kural dosyasına girmeyen vService WAF ayarları (koruma düzeyi, Checks, Whitelist & Blacklist, engelleme sayfası, gövde sınırları, öğrenme, rapor ve bildirim ayarları) test vService'inde
waf options showile okunur ve canlı vService'ewaf options updateile yazılır (waf options · Komut özeti). Arayüzde aynı ayarlar canlı vService'in WAF Management kartlarından tek tek girilir. - Nerede açılırWEB-CLI →
waf options - Gereksinim Kullanıcıda CLI erişimi ve WAF alanında değiştirme yetkisi. Test ve canlı farklı cihazlardaysa okuma test cihazının, yazma canlı cihazın WEB-CLI'ında yapılır.
- Kapsam vService WAF ayarları; OWASP rules ve Signature & Rule Library değişiklikleri bu komutlarla taşınmaz
Adım adım yapılandırma
waf options show poolId <test-vService>Farklı olan alanlar aynı adlarla yazılır; örnekte koruma düzeyi Very tight (4) ve Blocking Status Code 403 yapılır (yazılabilen alanlar):
waf options update poolId <canlı-vService> --owaspProtectionLevel 4 --blockingStatusCode 403 --syncWithDefaultFwRules false--syncWithDefaultFwRules saklanan bir ayar değil, bir yazma tetiğidir: yalnız true yazıldığında Any paths kuralı varsayılan tanımıyla yeniden kurulur; komutta yazılmazsa kural setine dokunulmaz. Komuttaki false bunu açıkça belirtir (Sync with Default WAF Rules; temel denetimler).
Aynı ayarlar birden çok canlı vService'e yazılacaksa: Birden fazla vService'in WAF ayarını veya host group modunu tek seferde değiştirebilir miyim?
Test vService'inin OWASP Rules ekranında yapılmış durum, puan ya da özel kural değişiklikleri canlı vService'in OWASP rules ekranında aynı biçimde yapılır. Test ve canlı vService aynı cihazdaysa değişiklik Signature & Rule Library'de bir kez yapılarak bütün WAF korumalı vService'lere uygulanabilir (Aynı false positive'i birden fazla vService'te tek seferde nasıl çözerim (global katman)?). Farklı cihazlarda Signature & Rule Library değişiklikleri canlı cihazda ayrıca yapılır.
Doğrulama
İki vService'te waf options show çıktıları ya da WAF Management kartları karşılaştırılır.
OWASP protection level ve Blocking page kartları iki vService'te aynıSık Yapılan Hatalar
- Canlı seti yedeklemeden Import yapmak. Import ve Import (OpenAPI) geri alınamaz; canlının önceki hâline yalnızca öncesinde alınan Export dosyasıyla dönülür.
- Import (OpenAPI) ile canlı Any paths'in korunacağını sanmak. TR7'nin ürettiği belge Any paths'i de taşır; canlıda Any paths'e öğretilmiş istisnalar belgedekiyle değişir. Yalnızca belirli path'leri eklemek isteniyorsa Import sonrasında Any paths kuralı gözden geçirilir.
- Ayarların ve modun da taşındığını sanmak. Kural dosyası host grubunun modunu, koruma düzeyini, Checks'i, engelleme sayfasını ve öğrenme ayarlarını taşımaz (Bir host group'un kural setini JSON olarak dışa aktarıp başka bir ortama taşıyabilir miyim; hangi ayarlar bu dosyaya girmez?).
- Doğrudan Blocking mode'daki gruba yüklemek. Yeni kurallar canlı trafikte önce Monitor mode'da denenir.
- Yanlış gruba yüklemek. Dosya hangi gruptan alındığını taşımaz; Import hangi grubun Page types ekranında yapılırsa o grubun kuralları değişir.
- WEB-CLI'da Export/Import komutu aramak. Kural dosyası aktarımı yalnızca arayüzdedir; WEB-CLI'da kurallar
waf fw-rulesvewaf rule-partsile tek tek eklenir (WAF'ı WEB-CLI ile yönetebilir miyim; hangi işlemler WEB-CLI'da yok?).
Dokümantasyonda nasıl yapılır
