Birden fazla vService'in WAF ayarını veya host group modunu tek seferde değiştirebilir miyim?
Kısa cevap
Evet, WEB-CLI ile. waf options update-many aynı WAF ayarını (ör. OWASP Protection Level, Blocking Status Code, bildirim eşikleri) seçilen ya da bütün WAF korumalı vService'lere yazar; waf host-groups update-many bütün WAF korumalı vService'lerin host gruplarından (Virtual Host Groups) seçilenlerin WAF Mode değerini (learning, monitor, blocking) tek komutta değiştirir. target selected onay kutulu bir seçim listesi açar, target all koleksiyonun tamamını hedefler; etkilenecek kayıtlar uyarıda bildirilir ve onay sözcüğü (WEB-CLI'ın diline göre evet ya da yes) yazılmadan hiçbir şey değişmez (toplu güncelleme). Varsayılan olarak hedeflerden biri doğrulamadan geçmezse hiçbir hedef yazılmaz; --onError skip ile geçenler yazılır. Safety Snapshot Before Critical Operations açıksa (varsayılan) yazmadan önce güvenlik yedeği alınır. Toplu koruma düzeyi değişikliği kural setlerini yeniden kurmaz; Any paths'in varsayılan tanımı yalnızca Aggressive düzeyde daha sıkı olduğundan Aggressive'e geçişte ya da Aggressive'den çıkışta Any paths kuralını yeni düzeye göre yeniden kurmak için waf host-groups reset-rules ya da tek vService'te Sync with Default WAF Rules kullanılır. Arayüzde vService'ler arası toplu ayar formu yoktur.
Sorun: Aynı Ayar Onlarca vService'te Tek Tek Değiştiriliyor
WAF ayarları vService başına, WAF mode host grubu başına tutulur. Koruma düzeyinin, engelleme yanıtının ya da host grubu modunun çok sayıda vService'te aynı değere çekilmesi gerektiğinde her vService'in WAF Management ekranını ayrı ayrı açmak zaman alır ve bir vService'in atlanma riskini taşır.
Çözüm: Üç Yöntem
Yöntemler değiştirilecek şeye göre seçilir; aynı bakım çalışmasında birlikte kullanılabilir. Üçü de WEB-CLI'dan çalışır; arayüzde vService'ler arası toplu ayar formu bulunmaz (Arayüzdeki karşılıklar).
| Durumunuz | Uygun yöntem |
|---|---|
| Koruma düzeyi, engelleme sayfası, gövde sınırları, bildirim gibi vService WAF ayarları | Yöntem 1: waf options update-many |
| Host gruplarının WAF mode değeri (ör. bakım öncesi Monitor'a almak) | Yöntem 2: waf host-groups update-many |
| Any paths kuralını varsayılan tanımına döndürmek ya da varsayılan header denetimlerini yaymak | Yöntem 3: reset-rules ve add-arg-headers |
Yöntem 1: waf options update-many Önerilen
- Nasıl çalışır Verilen alanlar seçilen her WAF korumalı vService'in WAF ayarına yazılır; verilmeyen alanlar değişmez. Önce bütün hedefler doğrulanır, sonra hepsi tek işlemde yazılır.
- Nerede açılır Panelin sağ altındaki WEB-CLI butonu →
waf options update-many - Gereksinim Kullanıcıda Access CLI over WEB açık ve WAF alanında değiştirme yetkisi (yetki ve rol kapsamı). Belirli vService'lerle sınırlanmış kullanıcının seçim listesinde ve
target allkapsamında yalnızca kendi vService'leri bulunur. - vService tipi HTTP (yalnızca WAF korumalı vService'ler listelenir)
- Toplu yazılmayan alanlar
poolIdve--syncWithDefaultFwRules; bu yüzden koruma düzeyi toplu değiştirildiğinde Any paths kuralı yeniden kurulmaz (yazılabilen alanlar)
Adım adım yapılandırma
Panelin sağ alt köşesindeki WEB-CLI butonuna tıklanır; TR7 WEB-CLI penceresi açılır (uçbirim penceresi).
target ilk ve tek zorunlu alandır; ardından değiştirilecek alanlar yazılır. Örnek: seçilecek vService'lerde koruma düzeyini Tight (8) yapmak. Değerler: 24 Elementary · 16 Normal · 8 Tight · 4 Very tight · 2 Aggressive (temel denetimler).
waf options update-many target selected --owaspProtectionLevel 8Bütün WAF korumalı vService'lerde engelleme yanıtını 403 yapmak için:
waf options update-many target all --blockingStatusCode 403target selected yazılıp hedef verilmediğinde onay kutulu bir liste açılır; yalnızca WAF korumalı vService'ler listelenir. Boşluk tuşu satırı işaretler, Ctrl+A görünenlerin hepsini işaretler, yazılan metin listeyi süzer, Enter seçimi onaylar (hedef seçimi ve onay). target all kullanıldıysa liste açılmaz.
Uyarıda etkilenecek kayıt sayısı ve seçilen vService'ler yazar (target all'da bütün kayıtların güncelleneceği yazar). Devam etmek için evet yazılır (İngilizce arayüzde yes); başka bir şey yazılırsa işlem iptal edilir.
Rapor her hedef için sonucu (ör. applied, unchanged, failed), uygulanan alanları ve o hedefte aktif olmayan alanları gösterir. --onError varsayılanı abort'tur: hedeflerden biri doğrulamadan geçmezse hiçbir hedef yazılmaz ve hata, engelleyen hedefi kimliğiyle gösterir. Geçen hedeflerin yine de yazılması isteniyorsa komuta --onError skip eklenir:
waf options update-many target all --maxOwaspExclusions 25 --onError skipDeğişiklik ayrı bir dağıtım adımı olmadan uygulanır. Yazmadan önce Backup Settings'te Safety Snapshot Before Critical Operations açıksa (varsayılan) bir güvenlik yedeği alınır; son 5 dakikada yedek alınmışsa ya da son yedekten beri değişiklik yoksa bu yedek atlanır. Cluster kurulumunda değişiklik varsayılan auto-sync ile eş cihaza da gönderilir; Manual Sync Mode açıksa Synchronize ile gönderilir.
Betikte hedef vermek
Terminali olmayan bir çalıştırmada (betik) seçim listesi açılamaz; hedefler --ids.0, --ids.1 … alanlarıyla komutta elle yazılır; bu alanlar Tab önerilerinde listelenmez (toplu güncelleme).
Doğrulama
Configuration Menu → WAF → WAF-Protected vService List ekranında OWASP Protection Level kolonuna bakılır.
Seçilen vService'lerde TightBir hedef vService'in ayarı WEB-CLI'da görüntülenir.
Komut: waf options show poolId <vService>
owaspProtectionLevel değeri 8Yöntem 2: waf host-groups update-many
- Nasıl çalışır Bütün WAF korumalı vService'lerin host grupları tek bir listede toplanır; seçilen grupların WAF Mode değeri tek komutta değişir. Toplu yazılabilen tek alan
--mode'dur; grup adı ve host listesi toplu değişmez (yazılabilen alanlar). - Nerede açılırWEB-CLI →
waf host-groups update-many - Gereksinim Access CLI over WEB ve WAF alanında değiştirme yetkisi; belirli vService'lerle sınırlanmış kullanıcının listesinde yalnızca kendi vService'lerinin grupları bulunur.
- vService tipi HTTP
Adım adım yapılandırma
WEB-CLI'da hedef ve yeni mod yazılır; değerler blocking, monitor, learning'dir (toplu güncelleme). Örnek: bakım öncesi seçilecek grupları Monitor'a almak:
waf host-groups update-many target selected --mode monitorSeçim listesinde her satır "vService → grup" biçimindedir; farklı vService'lerin grupları aynı listede yer alır. Gruplar boşluk tuşuyla işaretlenip Enter ile onaylanır.
Etkilenecek grup sayısı gösterilir; Yöntem 1'deki gibi evet (İngilizce arayüzde yes) yazılır. Sonuç raporu her grubu ayrı bildirir; --onError davranışı Yöntem 1'dekiyle aynıdır.
Aynı komut eski modla yeniden çalıştırılır. Bütün grupların Blocking moduna alınacağı durumda:
waf host-groups update-many target all --mode blockingTek bir vService'in tek grubu için toplu komut yerine waf host-groups update poolId <vService> id <grup> --mode monitor kullanılır; grubun kimliği waf host-groups list poolId <vService> çıktısında görülür. Mod değişikliği ayrı bir dağıtım adımı olmadan uygulanır ve cluster'da Yöntem 1'deki gibi eşitlenir.
Doğrulama
WAF-Protected vService List ekranındaki WAF mode kolonuna ya da vService'in WAF Management ekranındaki mod kartlarına bakılır.
Seçilen gruplar Monitor olarak sayılırYöntem 3: reset-rules ve add-arg-headers
- Nasıl çalışır
waf host-groups reset-rulesseçilen her host grubunun kurallarını varsayılan setten yeniden kurar; varsayılan şablonun sıkılığı her vService'in kendi OWASP Protection Level değerini izler: Aggressive'de sıkı set (daha dar uzunluk sınırları, yalnızca GET, HEAD ve OPTIONS; JSON, XML ve form gövdeleri tümüyle engellenir, Block Unparsed Body seçilidir, Raw Body Size en çok 16.384 bayttır, izin verilen yükleme türü yoktur), diğer düzeylerde standart set kullanılır.scope defaultRuleyalnızca Any paths kuralını (varsayılan header denetimleri dahil) yeniden kurar, path'e özel ve öğrenilmiş kurallar kalır;scope allgrubun bütün kurallarını siler.waf host-groups add-arg-headersvarsayılan header denetim setini seçilen grupların Any paths kuralına uygular; kuralın geri kalanına dokunmaz. - Nerede açılırWEB-CLI →
waf host-groups reset-rules·waf host-groups add-arg-headers - Gereksinim Access CLI over WEB ve WAF alanında değiştirme yetkisi
- vService tipi HTTP
Adım adım yapılandırma
Sıfırlanacak her host grubunun Page types ekranında Export ile kural seti dosyaya alınır (WAF kurallarımı yedekleyebilir miyim?). Any paths kuralındaki elle eklenmiş ve öğrenilmiş denetimler sıfırlamada silinir; geri dönüş bu dosyanın Import edilmesidir.
Koruma düzeyi toplu olarak Aggressive'e alındıktan ya da Aggressive'den başka bir düzeye çekildikten sonra Any paths kuralını yeni düzeyin varsayılan tanımıyla kurmak için (reset-rules):
waf host-groups reset-rules target selected scope defaultRuleAggressive'in sıkı Any paths kuralı, hiçbir sayfa tipine uymayan isteklerde POST, PUT gibi metotları ve JSON, XML, form gövdelerini engeller. Bu yüzden gövde kabul eden uçların (formlar, API'ler, yükleme sayfaları) kendi sayfa tipi komuttan önce tanımlanır (Analysis & Learning ya da Add); geçiş host grubu Monitor Mode'dayken yapılıp Event Logs incelendikten sonra Blocking mode'a dönülebilir.
Yalnızca güncel varsayılan header denetimlerini yaymak için (add-arg-headers):
waf host-groups add-arg-headers target selectedSeçim listesinde gruplar boşluk tuşuyla işaretlenip Enter ile onaylanır.
Uyarıda etkilenecek grup sayısı yazar; evet (İngilizce arayüzde yes) yazılarak onaylanır. Yazmadan önce Yöntem 1'deki güvenlik yedeği alınır; değişiklik cluster'da Yöntem 1'deki gibi eşitlenir.
scope all
scope all grubun öğrenilmiş ve elle yazılmış bütün sayfa tiplerini siler; yedek olmadan geri alınamaz. Kuralları varsayılana döndürme seçeneklerinin tamamı: Kuralları varsayılan ayarlara nasıl döndürürüm?
Doğrulama
Hedef grubun Page types ekranında Any paths satırı açılır.
Any paths varsayılan tanımında; path'e özel kurallar yerindeArayüzdeki Karşılıklar
Arayüzde vService'ler arası toplu ayar formu yoktur; host grubu modu da arayüzde her grubun mod kartından tek tek değiştirilir. Arayüzde toplu yapılabilenler:
| İş | Arayüzdeki yeri | Kapsam |
|---|---|---|
| WAF korumasını açmak ya da kaldırmak | Configuration Menu → WAF → WAF-Protected vService List → Enable / Disable (Birden fazla vService'te WAF'ı toplu olarak açıp kapatabilir miyim?) | Seçilen vService'ler |
| Any paths kuralını koruma düzeyine göre yeniden kurmak | OWASP Protection Level kartı → Sync with Default WAF Rules | Tek vService'in bütün host grupları |
| Bir imzanın durumunu, puanını ya da kapsamını değiştirmek | Configuration Menu → WAF → Signature & Rule Library (global katman; Aynı false positive'i birden fazla vService'te tek seferde nasıl çözerim (global katman)?) | Bütün WAF korumalı vService'ler |
Sık Yapılan Hatalar
target all'ı kapsamı görmeden kullanmak.target allbütün WAF korumalı vService'leri ya da bütün host gruplarını hedefler; öncetarget selectedile küçük bir kümede denenir.- Sayfa tipleri tanımlanmadan Aggressive'in Any paths kuralını kurmak. Sıkı set JSON, XML ve form gövdelerini ve GET, HEAD, OPTIONS dışındaki metotları engellediği için sayfa tipi olmayan uçlara gelen POST trafiği kesilir; gövde kabul eden uçlar önce kendi sayfa tipiyle tanımlanır ya da geçiş Monitor mode'da denenir.
- Toplu koruma düzeyi değişikliğinin Any paths kuralını da değiştirdiğini sanmak.
--syncWithDefaultFwRulestoplu komutta yoktur; yalnızca eşik değişir. Aggressive'e geçişte ya da Aggressive'den çıkışta Any paths kuralını yeni düzeyin varsayılan tanımıyla kurmak için Yöntem 3 ya da tek vService'te Sync with Default WAF Rules kullanılır. --onError skipsonrasında raporu okumamak.failedsatırlarındaki vService'lere değişiklik yazılmamıştır; bu hedefler ayrıca düzeltilir.- Host grubu adı ya da host listesini toplu değiştirmeye çalışmak.
waf host-groups update-manyyalnızca--modealır; ad ve host listesiwaf host-groups updateile grup grup değişir. - Komutu birden çok satıra bölmek. WEB-CLI her satırı ayrı komut olarak çalıştırır; komut tek satırda yazılır.
- Arayüzde toplu ayar formu aramak. vService'ler arası toplu ayar yalnızca WEB-CLI iledir (Birden fazla nesnede aynı alanı tek seferde değiştirebilir miyim?).
Dokümantasyonda nasıl yapılır
