Bir istek hangi host group'a düşer; hiçbirine uymazsa ne olur?
Kısa cevap
WAF isteğin Host header'ını olduğu gibi alır; büyük/küçük harf ve :port karşılaştırmaya girer (Virtual Host Patterns). Host header'ı yoksa hedef IP:port değeri kullanılır. Adlandırılmış gruplar oluşturulma sırasıyla denenir; bir grubun desenlerinden biri Host değerinin bütününe uyarsa istek o gruba düşer ve sıradaki gruplara bakılmaz (bir isteğin hangi gruba düştüğü). Daha dar bir desenin önceliği yoktur. Hiçbir grubun deseni uymazsa istek varsayılan gruba (Default Host Group) düşer; denetimsiz kalmaz, varsayılan grubun modunda ve onun sayfa tipleriyle denetlenir. Grup seçildikten sonra path, o grubun sayfa tipleriyle Exact, Glob ve Any Paths sırasıyla eşleştirilir (çalışma anı kural eşleşmesi). Aynı host'u iki grubun deseni karşılıyorsa istekler her zaman önce oluşturulan gruba gider; sıra arayüzden değiştirilemez, desenler daraltılır ya da önce oluşturulan geniş desenli grup silinip yeniden oluşturularak sıranın sonuna alınır. İsteğin düştüğü grup WAF Event Logs kaydındaki Host Group bilgisinde görünür.
Nasıl Çalışır?
| # | Adım | Sonuç |
|---|---|---|
| 1 | Host değeri alınır | Host header'ı olduğu gibi (ör. Shop.example.com:8443); Host header'ı yoksa hedef IP:port (Host Header'ı olmayan bir istek hangi host group'a düşer?) |
| 2 | Adlandırılmış gruplar oluşturulma sırasıyla denenir | Grubun desenlerinden biri Host değerinin tamamına uyarsa istek bu gruba düşer; * herhangi bir karakter dizisinin yerine geçer, diğer karakterler birebir ve harfe duyarlı karşılaştırılır |
| 3 | Hiçbir grup uymazsa | Varsayılan grup (Varsayılan host group nedir?) |
| 4 | Grubun modu uygulanır | Learning, Monitor ya da Blocking; diğer grupların modu bu isteği etkilemez |
| 5 | Path eşleşmesi grubun listesinde yapılır | Exact path → glob path → Any Paths (Bir istek birden fazla page type'a uyarsa kurallar nasıl uygulanır (exact path önceliği, glob kurallarının Any Paths ile birleşmesi)?) |
Bir Host değerinin hangi gruba düştüğü belirlendikten sonra aynı değer için tekrar karşılaştırma yapılmaz. Grup ekleme, silme ve desen düzenleme WAF yapılandırmasını yeniden ürettiği için yeni desenler kaydedildikten birkaç saniye sonra geçerli olur.
Örnek: Sırasıyla shop (*.example.com) ve api (api.example.com) grupları oluşturulduysa:
| Host header'ı | Düştüğü grup | Neden |
|---|---|---|
www.example.com | shop | *.example.com uyar |
api.example.com | shop | *.example.com önce oluşturulduğu için api grubuna hiç bakılmaz |
example.com | Default Host Group | *.example.com kök alan adını karşılamaz |
WWW.EXAMPLE.COM | Default Host Group | Karşılaştırma harfe duyarlıdır |
TR7'de İzleme ve Düzeltme
- İsteğin grubunu görmek: WAF Event Logs kaydında Host Group bilgisi isteğin düştüğü grubu gösterir. Learning modundaki gruplar Event Logs kaydı üretmez; bu gruplara düşen istekler öğrenme kaydına yazılır.
- Grupların sırası: Mod kartları ve Virtual Host Groups listesi grupların oluşturulma sırasını değiştirmez; değerlendirme sırası her zaman oluşturulma sırasıdır.
- Çakışmayı gidermek: Önce oluşturulan grubun deseni daraltılır (ör.
*.example.comyerinewww.example.com). Geniş desen korunacaksa geniş desenli grubun kuralları Page Types ekranında Export ile yedeklenir, grup silinip aynı desenle yeniden oluşturulur ve kurallar Import ile geri yüklenir; yeniden oluşturulan grup sıranın sonuna eklendiği için özel desenli grup önce denenir (Bir host group'u silersem kuralları ne olur?). - Desen yazımı: Virtual Host Patterns alanında wildcard (*.example.com) kullanabilir miyim, yoksa birebir eşleşme mi aranır?
- Öğrenme analizi: Analysis & Learning öğrenme kaydındaki satırları da aynı mantıkla gruplara eşler; analiz penceresinin Virtual Host Groups alanında seçilmeyen gruba düşen satırlar o analize katılmaz.
Sık Karıştırılan Noktalar
- "En özel desen kazanır." Oluşturulma sırası belirler; ilk uyan grup isteği alır.
- "Hiçbir gruba uymayan istek WAF'tan geçmez ya da engellenir." Varsayılan grupta, onun modu ve kurallarıyla denetlenir.
- "
example.comdeseni alt alan adlarını ve portlu Host'ları da karşılar." Desen Host değerinin tamamıyla karşılaştırılır;www.example.comveexample.com:8443için ayrı desen gerekir.
Dokümantasyonda nasıl yapılır
