Host Group nasıl eklenir; Virtual Host Patterns alanına ne yazılır?
Kısa cevap
Host group, WAF Management sekmesinin en altındaki Virtual Host Groups bandının sağ üstündeki ikonla ya da bandın Edit bağlantısıyla açılan listedeki Add ile eklenir (host grubu ekleme). Formda Virtual Host Group Name (zorunlu), WAF Mode (vService'in WAF modu önseçili gelir) ve Virtual Host Patterns (en az bir desen, her desen ayrı alanda) doldurulup Add tıklanır; ayrı bir dağıtım adımı yoktur. Desen isteğin Host header'ıyla bütünüyle karşılaştırılır: example.com yalnızca example.com'u karşılar; * herhangi bir karakter dizisinin yerine geçer, *.example.com alt alan adlarını karşılar ama example.com'u karşılamaz. Karşılaştırma büyük/küçük harfe duyarlıdır ve Host header'ındaki port da karşılaştırmaya girer; standart dışı portta yayın için desen portu da içerir (example.com:8443). Kök alan adı ve alt alan adları için iki desen yazılır. WEB-CLI'da waf host-groups add komutu kullanılır; en az bir --hosts.0 gereklidir, --mode yazılmazsa grup Blocking modunda oluşur ve * yalnızca başta (*.example.com) kabul edilir.
Sorun: Bir Alan Adı Diğerlerinden Ayrı Korunmalı
Aynı vService'ten birden çok alan adı yayınlanıyorsa WAF hepsini varsayılan grubun tek modu ve tek kural setiyle denetler. Yeni yayına alınan bir alan adının öğrenme modunda başlaması, olgun alan adının Blocking modunda kalması ya da alan adlarının birbirinden farklı sayfa tipleriyle korunması için alan adına ait bir host grubu tanımlanır (Virtual Host Group nedir, ne işe yarar?).
Desen yazımı (eşleşme * dışında birebir ve harfe duyarlıdır):
| Desen | Karşılar | Karşılamaz |
|---|---|---|
example.com | example.com | www.example.com, Example.com, example.com:8443 |
*.example.com | www.example.com, a.b.example.com | example.com, www.example.com:8443 |
*.example.com:8443 | www.example.com:8443 | www.example.com |
example.com:8443 | example.com:8443 | example.com |
203.0.113.10:80 | Host header'ı 203.0.113.10:80 olan istekler; Host header'ı olmayan ve vService'e 203.0.113.10:80 üzerinden gelen istekler | - |
* dışında joker yoktur; ?, [abc] ya da {a,b} gibi yapılar düz karakter olarak karşılaştırılır. Ayrıntı: Virtual Host Patterns alanında wildcard (*.example.com) kullanabilir miyim, yoksa birebir eşleşme mi aranır?
Çözüm: 2 Yöntem
Ön koşul: vService HTTP tipindedir ve WAF açıktır; WAF açık değilse WAF Management sekmesi görünmez (Bir vService'te WAF korumasını nasıl etkinleştiririm?).
| Durumunuz | Uygun yöntem |
|---|---|
| Arayüzden eklemek istiyorum | Yöntem 1: Virtual Host Groups bandı |
| Komut satırından eklemek istiyorum | Yöntem 2: WEB-CLI |
Yöntem 1: Virtual Host Groups Bandı Önerilen
- Nasıl çalışır Grup, bandın ikonuyla ya da liste penceresindeki Add ile açılan formdan eklenir. Yeni grup varsayılan kural seti ve önerilen header denetimleriyle oluşur; mevcut grupların kuralları kopyalanmaz.
- Nerede açılır Left Monitor Panel → WAF-Protected vServices → vService → WAF Management → en alttaki Virtual Host Groups bandı
- Gereksinim WAF alanında değiştirme yetkisi
- vService tipi HTTP
Adım adım yapılandırma
Left Monitor Panel açılır, sol üstteki kategori sekmelerinden WAF-Protected vServices seçilir ve vService'e tıklanır; açılan ekranda WAF Management sekmesine geçilir (ekrana erişim).
Ekranın en altındaki Virtual Host Groups bandının sağ üstündeki ikona tıklanır; Add başlıklı pencere açılır. Aynı form, bandın Edit bağlantısıyla açılan Virtual Host Groups listesindeki Add butonuyla da açılır.
Virtual Host Group Name alanına grubu tanımlayan bir ad yazılır (ör. shop). Ad mod kartlarında, grup listesinde ve Event Logs'taki Host Group bilgisinde görünür. Arayüz aynı adı ikinci bir grupta engellemez; karışıklığı önlemek için benzersiz ad kullanılır.
WAF Mode alanında vService'in WAF modu önseçili gelir. Yeni yayına alınan bir alan adı için Learning Mode seçilir; grup kendi kurallarını sıfırdan öğreneceği için Blocking modunda başlatmak false positive riski taşır (Yeni eklediğim host group hangi modda başlar?).
Virtual Host Patterns alanına ilk desen yazılır (ör. shop.example.com); her ek desen için alanın altındaki + Add bağlantısıyla yeni alan açılır (ör. *.shop.example.com). En az bir desen zorunludur; boş bırakılan alan Correct invalid inputs uyarısıyla reddedilir. Desen başka bir grubun deseniyle çakışırsa o host'un istekleri önce oluşturulan gruba gider.
Penceredeki Add tıklanır; WAF yapılandırması otomatik olarak yeniden üretilip uygulanır. Art arda yapılan değişiklikler tek uygulamada toplandığı için yansıma birkaç saniye sürebilir. 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
Ekranın üstünde yeni grubun mod kartı görünür; kart gövdesi grubun desenlerini, kartın altı sayfa tipi sayısını gösterir (host grubu mod kartları).
Requests to shop.example.com · *.shop.example.com are handled by this group · 1 page typesYeni alan adına gelen bir isteğin WAF Event Logs kaydında Host Group bilgisine bakılır.
Host Group: shopYöntem 2: WEB-CLI
- Nasıl çalışır Grup
waf host-groups addkomutuyla eklenir. Desenler--hosts.Nalanlarına sırayla yazılır. - Nerede açılır WEB-CLI →
waf host-groups - Gereksinim WEB-CLI erişimi ve WAF alanında değiştirme yetkisi
- vService tipi HTTP
Adım adım yapılandırma
<vService> yerine vService'in kimliği yazılır; * içeren desen tek tırnakla yazılır:
waf host-groups add poolId <vService> name shop --mode learning --hosts.0 shop.example.com --hosts.1 '*.shop.example.com'WEB-CLI arayüzden farklı davranır: --mode yazılmazsa grup blocking modunda oluşur; en az bir --hosts.0 yazılmazsa istek reddedilir; * yalnızca başta (*.) kabul edilir; aynı ad ikinci bir grupta kabul edilmez. Komut başarılı olduğunda çıktı vermez.
Doğrulama
vService'in host grupları listelenir.
Komut: waf host-groups list poolId <vService>
shop grubu, learning modu ve iki desenSık Yapılan Hatalar
- Kök alan adı için desen yazmamak.
*.example.comdeseniexample.com'u karşılamaz; kök alan adına gelen istekler varsayılan gruba düşer. İki desen yazılır:example.comve*.example.com. - Standart dışı portu desene eklememek. Host header'ı
example.com:8443iseexample.comdeseni eşleşmez; desen portla yazılır. - Büyük harfli Host değerlerini beklememek. Karşılaştırma harfe duyarlıdır; Host header'ı
Example.comolan istekexample.comdesenine uymaz. - Çakışan desenler yazmak. Aynı host'u iki grup karşılıyorsa istekler her zaman önce oluşturulan gruba gider; sıra sonradan değiştirilemez (Bir istek hangi host group'a düşer; hiçbirine uymazsa ne olur?).
- Yeni grubu Blocking modunda açmak. Yeni grup sıfırdan öğrenir; önce Learning, sonra Monitor modunda çalıştırılır (Learning modundan Monitor'a, Monitor'dan Blocking'e ne zaman geçmeliyim?).
- WEB-CLI'da
--modeyazmamak. Arayüz vService modunu önseçerken WEB-CLI varsayılan olarak Blocking modunda grup oluşturur.
Dokümantasyonda nasıl yapılır
