WAF - WAAP
WAF - WAAP (Web Application Firewall / Web Application and API Protection), TR7'nin uygulama katmanında çalışan güvenlik modülüdür. Bir HTTP vService'e gelen isteği, Kurum Servisine ulaşmadan önce açar; path'ini, sorgu parametrelerini, başlıklarını ve gövdesini ayrı ayrı inceler; bilinen saldırı desenlerini arar ve uygulamanın beklediği istek şekline uymayan sapmaları yakalar. Gövdenin denetlenecek bölümü bir işleme sınırıyla kayıtlıdır ve statik içerik istekleri varsayılan olarak denetim dışında tutulur.
Denetim bir "engelle ya da geçir" anahtarı gibi çalışmaz: tespit edilen her ihlal isteğin saldırı puanına yazılır, istek tam olarak denetlenir ve puan tanımlı eşiğe ulaştığında veya aştığında istek engellenip istemciye engelleme sayfası döndürülür.
Koruma cihaz genelinde açılıp kapatılan tek bir anahtar değildir: her vService için ayrı ayrı etkinleştirilir. Etkinleştirmeyle birlikte oluşan varsayılan host grubu Learning modunda başlar; yani ilk günden itibaren trafik engellenmez, önce öğrenilir. Sonradan eklenen Virtual Host Group'lar ise Blocking modu varsayılanıyla oluşturulur.
vService üzerinde çalışır
WAF, trafiği karşılayan vService üzerinde çalışır: istek vService tarafından karşılanıp TLS sonlandırıldıktan sonra, hedef seçilmeden önce WAF denetiminden geçer. Bu nedenle WAF yalnızca HTTP tipindeki vService'lerde etkinleştirilir; L7 TCP ve Network (Layer 4) trafiği uygulama katmanında çözümlenmediği için WAF denetimine giremez.
TR7 Ürünü
WAF - WAAP, TR7'nin ayrı lisanslanan dört ürününden biri olan TR7 WAAP (Web Application and API Protection) ürünüdür. Ürünler tek başına ya da paketler hâlinde lisanslanır; lisanslama ayrıntıları tr7.com üzerinde yer alır.
Bot yönetimi de TR7 WAAP ürününün kapsamındadır; dokümanda Bot/DDoS bölümünde anlatılır.
TR7 ürünleri: Load Balancer - ADC · WAF - WAAP · AGS - AAM · GTM (Global Traffic Manager)
WAF - WAAP Nedir?
Web Application Firewall (WAF), bir web uygulamasına gelen HTTP ve HTTPS trafiğini uygulama katmanında inceleyen güvenlik katmanıdır. Uygulamanın önünde konumlanır: her istek hedefine ulaşmadan önce açılır, içeriği değerlendirilir ve zararlı bulunan istek durdurulur.
Bu, güvenlik duvarı kavramının bilinen hâlinden farklı bir iştir. Klasik bir ağ güvenlik duvarı paketin zarfına bakar; WAF ise zarfın içindeki mektubu okur.
Ağ Güvenlik Duvarı ve IPS/IDS ile Farkı
| Ağ güvenlik duvarı | IPS / IDS | WAF | |
|---|---|---|---|
| Çalıştığı katman | Ağ ve taşıma katmanı | Ağ katmanından uygulama katmanına kadar paket ve akış içeriği | Uygulama katmanı |
| Baktığı bilgi | Kaynak ve hedef adres, port, protokol | Paket içeriği, akış desenleri, protokol anomalileri | İsteğin path'i, parametreleri, başlıkları, gövdesi |
| Sorduğu soru | "Bu adres bu porta bağlanabilir mi?" | "Bu trafikte bilinen bir saldırı ya da zararlı yazılım deseni var mı?" | "Bu istek bu uygulamaya zarar verir mi?" |
| Uygulama bilgisi | Yok | Yok; trafiği korunan uygulamadan bağımsız değerlendirir | Var; uygulamanın adreslerini, parametrelerini ve beklenen istek şeklini tanır |
| Yakaladığı | Yetkisiz erişim, kapalı porta bağlantı, taramalar | Ağ solucanları, açık istismarı denemeleri, zararlı yazılım trafiği, kaba kuvvet | SQL enjeksiyonu, XSS, komut çalıştırma, dizin geçişi, dosya yükleme istismarı |
| Şifreli trafik | İçeriği göremez | Trafiği sonlandırmadığı sürece içeriği göremez | TLS sonlandırıldıktan sonra açık içeriği inceler |
IDS ile IPS arasındaki fark, denetimin trafiğe müdahale edip etmemesidir: IDS trafiği izler ve şüpheli bulduğunu raporlar, IPS ise hat üzerinde durup zararlı bulduğu trafiği keser. WAF'ın Monitor ve Blocking modları da aynı ayrımın uygulama katmanındaki karşılığıdır.
WAF ile IPS en sık karıştırılan ikilidir, çünkü ikisi de içeriğe bakar. Aradaki fark uygulama bağlamıdır: IPS her protokol için genel geçer desenler taşır ve korunan uygulama hakkında hiçbir şey bilmez. Bu nedenle bir IPS, "bu uçta böyle bir parametre hiç görülmedi" ya da "bu adres yalnızca GET kabul eder" diyemez. WAF ise uygulamanın haritasını çıkarabildiği için imzaya hiç uymayan, tümüyle geçerli görünen bir isteği de beklenen şekle uymadığı gerekçesiyle yakalayabilir.
Bir uygulamanın 443 numaralı portu tanım gereği herkese açıktır. Aynı porttan gelen iki isteğin biri sıradan bir form gönderimi, diğeri bir veritabanı enjeksiyonu olabilir; ağ katmanında ikisi de "geçerli HTTPS trafiği" görünür. Bu ayrımı yalnızca isteğin içeriğine ve uygulamanın yapısına birlikte bakan bir katman yapabilir.
Katmanlar birbirinin yerine geçmez
WAF, ağ güvenlik duvarının veya IPS'in yerini almaz; farklı bir soruyu yanıtlar ve onlarla birlikte çalışır. TR7'de hacimsel saldırılar ve otomatik bot trafiği de ayrı katmanlarda ele alınır: Bot/DDoS Protection ve L4 DDoS Protection.
İki Güvenlik Modeli
WAF ürünleri, saldırıyı tanımanın iki farklı yolu üzerine kurulur. İkisi de tek başına eksiktir:
"Bu istekte bilinen bir saldırı deseni var mı?" Bilinen saldırı biçimleri desen olarak tanımlanır ve her istekte aranır. Kurulumu kolaydır ve uygulamayı tanımaya gerek duymaz; buna karşılık yalnızca daha önce tanımlanmış saldırıları görebilir. Yeni bir saldırı biçimi, imzası yazılana kadar görünmez kalır.
"Bu istek uygulamanın beklediği şekle uyuyor mu?" Uygulamanın her adresi için izin verilen metotlar, taşınabilecek parametreler, uzunluk ve tip sınırları tanımlanır; bu tanıma uymayan her istek şüphelidir. Saldırının biçimini bilmeye gerek yoktur, ancak uygulamanın tanınmasını gerektirir ve elle kurulması zahmetlidir.
Negatif model bilinen saldırıyı tanır ama bilinmeyeni kaçırır; pozitif model bilinmeyeni de yakalar ama uygulamanın haritasını çıkarmayı gerektirir. Hibrit yaklaşım ikisini birlikte çalıştırır: bilinen saldırılar imzayla, uygulamanın şekline uymayan her sapma da kural setiyle karşılanır.
Pozitif modelin bedeli, uygulama haritasının nasıl çıkarılacağıdır. Bu haritayı elle yazmak, orta ölçekli bir uygulamada bile yüzlerce adres ve binlerce parametre demektir; bu nedenle modern WAF'lar haritayı canlı trafikten öğrenerek çıkarır.
TR7'de WAF
TR7, hibrit modeli varsayılan çalışma biçimi olarak uygular ve pozitif modelin haritasını öğrenmeyle üretir. Ürünün kendine özgü yanları şunlardır:
Hibrit varsayılandır, zorunlu değildir
İki katman birbirinden bağımsız olarak kapatılabilir; koruma istendiğinde tek bir modele indirgenir:
- Yalnızca negatif güvenlik. Checks ekranındaki Structure Checks ve Argument Checks ana anahtarları kapatıldığında yapısal ve alan denetimleri hiç üretilmez; geriye yalnızca imza taraması kalır. Uygulamayı öğrenmeye zaman ayırmadan, klasik imza tabanlı bir WAF olarak çalıştırmak istendiğinde tercih edilir.
- Yalnızca pozitif güvenlik. Kuralların OWASP taraması kapatıldığında (Any Paths kuralı dâhil) o kapsamlarda imza taraması yapılmaz; istekler yalnızca beklenen şekle uygunluk açısından denetlenir.
Ana anahtarlar kapatıldığında kurallardaki değerler silinmez; anahtar yeniden açıldığında aynı değerlerle devreye girer.
İmza isabetleri ve yapısal ihlaller ayrı ayrı raporlanmaz; ikisi de aynı saldırı puanına yazılır ve engelleme kararı bu tek puan üzerinden verilir. Böylece "bir imza tetiklendi ama zayıf, buna karşılık iki yapısal sapma var" gibi durumlar tek ölçekte değerlendirilir (bkz. Hibrit Güvenlik Modeli).
Koruma açıldığında vService önce öğrenme modunda çalışır: hiçbir istek engellenmez, trafik kaydedilir ve uygulamanın gerçekte hangi adresleri sunduğu, hangi parametreleri aldığı bu kayıtlardan çıkarılır. Öğrenmenin bittiği, tahminle değil ölçülen kapsam değeriyle anlaşılır.
WAF, önüne ayrıca konumlandırılan bir ürün değildir: istek zaten TR7 tarafından karşılanmakta olduğu için denetim, TLS sonlandırma ile hedef seçimi arasına doğal olarak yerleşir. Ek bir atlama (hop), ikinci bir sertifika yönetimi ve ayrı bir yönetim arayüzü gerekmez.
Koruma cihaz genelinde tek anahtarla değil, her vService için ayrı açılır. Bir vService içinde de trafik Host başlığına göre bölünebilir: olgun bir alan adı engellemede çalışırken yeni yayına alınan bir alan adı aynı servis üzerinde öğrenme modunda ilerler.
Neden İhtiyaç Duyulur?
- Uygulama açıkları ağ katmanında görünmez. Güvenlik duvarı kuralları, doğru porta gelen geçerli bir HTTP isteğinin gövdesindeki enjeksiyonu ayırt edemez.
- Yama her zaman zamanında gelmez. Bilinen bir zafiyet için uygulama güncellenene kadar geçen sürede WAF, saldırı desenini uygulamaya ulaşmadan durdurur.
- Sıfırıncı gün saldırıları desenle değil şekille yakalanır. İmzası bulunmayan bir saldırı, uygulamanın beklemediği bir parametreyi veya beklenmedik bir uzunluğu taşıdığında pozitif güvenlik katmanına takılır.
- Uyum ve raporlama gerekir. Hangi saldırının ne zaman, nereden geldiği ve nasıl karşılandığı; log, rapor ve SIEM kaydı olarak belgelenmek zorundadır.
- Değişiklik uygulamada değil, önünde yapılır. Kaynak koda dokunmadan, kural ve muafiyet düzeyinde koruma ayarlanır.
Nasıl Çalışır?
WAF denetimi etkin bir vService'e gelen istek, sabit bir zincirden geçer:
Karar zincirin sonunda verilir: kara liste isabeti dâhil her ihlal önce puana yazılır, istek tam olarak denetlenir ve engelleme kararı ancak tarama bittiğinde uygulanır.
Zincirin sonundaki kararı çalışma modu belirler. Monitor ve Blocking modlarında denetimlerin tümü aynı biçimde çalışır; değişen yalnızca sonucun trafiğe yansıyıp yansımadığıdır. Learning modunda ise yapısal ve alan denetimleri hiç çalıştırılmaz; yalnızca imza taraması yapılır ve bu tarama kural istisnaları yok sayılarak isteğin bütün bölümlerinde yürütülür.
Denetim süresi sınırlıdır ve süre dolarsa istek engellenir
Bir isteğin WAF taraması için ayrılan süre sınırlıdır. Olağan taramalar milisaniyeler sürer; süre dolduğunda tarama sonlandırılır ve istek engellenir. Bu engelleme çalışma modunu tanımaz: host grubu Learning veya Monitor modunda olsa bile zaman aşımına uğrayan istek engellenir. İstekler izleme ekranlarında ayrı bir kategori (timeouted) olarak sayılır.
Kurallar yüklenemezse trafik denetlenmez
Kural seti bir nedenle yüklenemediğinde istek engellenmiş sayılır ve arayüzde "WAF rules are not loaded, traffic is not being inspected" uyarısı görüntülenir. Güvenlik varsayılanı kapalı kapıdır.
Hibrit Güvenlik Modeli
TR7'de pozitif ve negatif güvenlik ayrı iki motor değildir. İki katmanın ürettiği ihlaller aynı isabet tablosuna yazılır ve tek bir saldırı puanında toplanır; engelleme kararı bu tek puan üzerinden verilir. Bu birleşim, iki modelin zayıf yönlerini karşılıklı olarak kapatır: imza taraması bilinen saldırıları yakalar, yapısal denetimler ise imzası hiç bulunmayan sapmaları.
İhlal Puanları
| İhlal | Puan | Kaynağı |
|---|---|---|
| İmza isabeti | 2 · 4 · 6 · 8 | Desenin risk düzeyi. Aynı istekte birden çok isabet olursa puanlar birikir. |
| Yapısal ihlal | 24 | Beklenmeyen parametre, sınır dışı uzunluk, tanımsız metot, aşırı derinlik, izinsiz içerik türü. |
| Kara liste isabeti | 100 | İtibarı kötü kaynak adres. |
Engelleme Eşiği
Seçilen koruma düzeyi, doğrudan engelleme eşiğinin sayısal değeridir. Değer küçüldükçe koruma sıkılaşır:
| Koruma düzeyi | Eşik | Engelleme için yeterli olan |
|---|---|---|
| Elementary | 24 | Çok sayıda imza isabetinin birikmesi |
| Normal | 16 | Birden çok yüksek riskli isabet |
| Tight | 8 | En yüksek riskli tek isabet |
| Very Tight (varsayılan) | 4 | Orta ve üzeri riskli tek isabet |
| Aggressive | 2 | En düşük riskli tek isabet |
Bu tablo iki sonucu doğurur. Birincisi, yapısal ihlaller her düzeyde tek başına engeller: 24 puan, en gevşek düzeyin eşiğine bile ulaşır. İkincisi, düşük puanlı imzalar Aggressive dışındaki düzeylerde tek başına eşiğe ulaşamayacakları için hiç yüklenmez; yanlış pozitif üretmezler, ancak Aggressive seçildiğinde devreye girerler.
Puana Girmeyen Üç Durum
- Monitor durumundaki imza gerçek puanıyla kaydedilir, engelleme toplamına eklenmez. Yeni bir imzayı canlıda risksiz denemenin yolu budur.
- Learning modunda puan hiç toplanmaz; istek öğrenme kaydına gider.
- Öğretici (Teacher) trafiğinde eşik matematiksel olarak ulaşılamaz bir değere çekilir; öğreticinin isteği engellenemez.
Sıfırıncı Gün Savunması
İmzası bulunmayan bir istek de yakalanabilir: uygulamanın beklemediği bir parametre taşıdığında, sınır dışı bir uzunlukta olduğunda, tanımsız bir HTTP metodu kullandığında, gövdesi aşırı derinlikte olduğunda veya izin verilmeyen bir içerik türü taşıdığında 24 puanlık yapısal ihlal üretir ve desen bilgisine hiç ihtiyaç duyulmadan engellenir.
Sınıflandırma iki katmanı birlikte sayar
Bir istek hem imza hem yapısal ihlal üretebildiğinden rapor ve log sınıflandırması kesişimli çalışır: bir OWASP maddesinin saldırı sayısı, hem imza isabetlerini hem yapısal ihlalleri kapsar.
Çalışma Modları
| Mod | Denetim | Kayıt | Trafiğe etkisi | Kullanım anı |
|---|---|---|---|---|
| Learning | Yalnızca imza taraması; yapısal ve alan denetimleri çalışmaz | Öğrenme günlüğü (Event Logs kaydı üretilmez) | Hiçbir istek engellenmez | Koruma ilk açıldığında; site yapısı öğrenilirken |
| Monitor | Kural seti tam kapasite çalışır | Event Logs kaydı üretilir | İstek geçirilir | Engellemeye geçmeden önce gerçek trafikte prova |
| Blocking | Kural seti tam kapasite çalışır | Event Logs kaydı üretilir | Puanı eşiğe ulaşan istek engellenir | Tam koruma |
Learning kayıtları Blocking provası değildir
Learning modunda imza taraması kural istisnalarını ve kapsam sınırlarını yok sayarak çalışır. Bu nedenle üretilen saldırı listesi, aynı isteğin Blocking modunda üreteceği listeden geniştir; Learning kayıtları doğrudan "engellemede ne olacağı" olarak okunmamalıdır.
Mod, vService'in bütününe değil host grubuna atanır: aynı vService üzerinden yayınlanan api.site.com Blocking modundayken beta.site.com Learning modunda kalabilir.
Koruma Gücü
Kütüphane ham bir desen yığını değildir: her imza, endüstri standardı sınıflandırma çerçevelerine eşlenir. Bu eşleme logdan rapora kadar her yüzeye taşınır; "kaç saldırı engellendi" sorusunun yanı sıra "hangi OWASP maddesi, hangi CWE, hangi MITRE tekniği" sorusu da yanıtlanır.
Sınıflandırma Ne İşe Yarar?
Sayılar tek başına bir şey söylemez; asıl değer, her imzanın hangi çerçeveye bağlandığında ne kazandırdığıdır:
| Çerçeve | Ne sağlar |
|---|---|
| Saldırı kategorisi | İmzayı saldırı türüne göre gruplar: 32 imza kategorisi, artı yapısal denetimlerin 5 katalog kategorisi. Pano ve rapordaki kategori kırılımının temelidir. |
| OWASP Top 10 (Web ve API) | Uyum raporlarının konuştuğu ortak dil. Her iki listenin bütün maddeleri karşılanır; API listesinin onuncu maddesi imzayla değil, yapısal kurallarla kapatılır. |
| CWE | Zafiyet sınıfı kodu. Kurumdaki zafiyet tarama ve yönetim araçlarıyla doğrudan eşleştirilir: "WAF'ın engellediği saldırı, tarayıcının bulduğu zafiyetle aynı mı?" sorusu yanıtlanabilir hâle gelir. |
| CAPEC | Saldırganın izlediği yöntemi tanımlar; tehdit modelleme ve saldırı yüzeyi çalışmalarında kullanılır. |
| MITRE ATT&CK / ATLAS | Saldırıyı bilinen bir tekniğe bağlar. ATLAS eşlemesi, yapay zekâ sistemlerine yönelik teknikleri kapsar. |
| Protected Target Types | İmzanın hangi teknolojiyi hedefleyen saldırıyı yakaladığını söyler: SQL ve NoSQL veritabanları, Java/Python/PHP/.NET/Node çalışma zamanları, XML ayrıştırıcılar, LDAP dizinleri, şablon motorları, bulut metadata servisleri, LLM servisleri ve RAG hatları. Böylece kütüphanenin kurumun kullandığı yığını ne ölçüde kapsadığı görülür. |
Yapay zekâ çağına özgü imzalar
Kütüphane, LLM ve yapay zekâ servislerine yönelik saldırıları ayrı bir kategoride (LLM Prompt Injection) karşılar: doğrudan talimat geçersiz kılma, jailbreak kalıpları, sistem promptu çıkarma ve LLM üzerinden veri sızdırma. Bu imzalar MITRE ATLAS teknikleriyle etiketlenir.
Başarım
İmzalar tek bir birleşik veritabanına derlenir ve istek başına tek tarama yapılır; kural sayısı arttıkça gecikme doğrusal olarak artmaz. WAF'ın her istekte harcadığı süre ölçülür ve log satırına yazılır; raporda <0,1 ms'ten >1 sn'ye uzanan bir dağılım olarak sunulur. Yani "WAF ne kadar yavaşlatıyor?" sorusu tahminle değil, ürünün kendi ölçümüyle yanıtlanır.
Kütüphane 10.000 kurala kadar büyüyebilir; mevcut set 3.294 desendir. Kurumun kendi kuralları bu payın içine eklenir.
Temel Yapı Taşları
Koruma, HTTP tipindeki bir vService üzerinde etkinleştirilir. Her korumalı vService kendi varsayılan modunu (yeni host grupları bu modla açılır), kural setini, vService genelinde geçerli koruma düzeyini, öğrenme kurulumunu ve loglarını taşır.
vService'in trafiğini isteğin Host başlığına göre böler. Her grup kendi çalışma modunu ve kendi kural listesini tutar. Silinemeyen varsayılan grup, hiçbir desene uymayan istekleri karşılar; isteğin Host başlığı yoksa eşleştirme hedef adres ve port üzerinden yapılır ve istek yine varsayılan gruba düşer.
Bir path deseni ile o path'e uygulanacak denetimlerin birleşimidir: izin verilen metotlar, path uzunluk ve derinlik sınırları, OWASP taraması ve alan denetimleri. Engelleme kararının merkezinde bu kural durur. Yapısal ve alan denetimleri, vService genelindeki iki ana anahtarla (Structure Checks ve Argument Checks) topluca açılıp kapatılabilir.
Her kural bir saldırı desenini ve o desenin hangi istek bölümlerinde aranacağını tanımlar. Kütüphane üç katmandan oluşur: yerleşik kütüphane, cihaz geneli global katman ve vService'e özel katman.
Her ihlal isteğin saldırı puanına eklenir; OWASP Protection Level bu puanın engellemeye dönüşeceği eşiği belirler. Düzey yalnızca eşiği değil, düşük puanlı imzaların yüklenip yüklenmeyeceğini de belirler. Yapısal ihlaller 24 puanlıdır; en gevşek düzeyin eşiği de 24 olduğundan tek bir yapısal ihlal her düzeyde engellemeye yeter (yapısal denetimlerin çalıştığı Monitor ve Blocking modlarında).
Kural seti elle yazılmaz, trafikten öğrenilir: Learning modu ve seçici öğrenme yöntemleri kayıt biriktirir, çevrimdışı analiz bu kayıtlardan sayfa tipi ve kural önerileri üretir.
Kural Seti Nasıl Oluşur?
Bir vService'in kural seti dört kaynaktan beslenir:
| Kaynak | Nasıl çalışır |
|---|---|
| Analysis & Learning | Öğrenme günlüğündeki geçmiş trafiği toplu inceleyip sayfa tipi ve kural önerileri üretir. Elle başlatılır; sonuç incelenip onaylandığında kural listesine işlenir. |
| Learning Methods | Conditional Learning ve Teacher, tanımlı kaynaklardan (IP, başlık veya çerez) gelen istekleri host grubu Blocking veya Monitor moddayken bile öğrenme modunda işler. AI Learning'in kaynak seçimi yoktur: istatistiksel eşikleri karşılayan olay kayıtlarını toplu değerlendirir ve bunun için host grubunun Blocking veya Monitor modunda olması gerekir. Her iki yöntem de ürettiği kural değişikliğini tanımlı periyotta otomatik uygular; ayrı bir onay adımı yoktur. |
| Event Logs | Yanlış pozitif olarak değerlendirilen istekler seçilip tek bir öğretme işlemiyle kural listesine işlenir. İşlemin adı seçime göre değişir: engellenmiş istekler için Allow, yalnızca tespit edilmiş istekler için Teach, ikisinin karıştığı seçimde Allow / Teach. |
| Elle tanımlama ve içe aktarma | Add ile kural doğrudan yazılır; Import ve Import (OpenAPI) ile dosyadan üretilir. |
Öğrenme Ne Zaman Bitti?
Öğrenmenin bittiğine karar vermek tahminle bırakılmaz; iki metrik bu soruyu sayısal olarak yanıtlar:
| Metrik | Ne gösterir |
|---|---|
| Learning Coverage | Öğrenme kapsamındaki trafiğin ne kadarının artık tanıdık olduğunu yüzde olarak verir. Yükselip düzleşmesi, sitenin öğrenildiğini gösterir. |
| Learning Discovery Rate | Saniyede kaç adet daha önce hiç görülmemiş istek şekli geldiğini gösterir. Sıfıra yaklaşması doygunluğa işarettir. |
Öğrenme kandırılamaz
Bir kural önerisinin kabul edilmesi için tek bir sayaç yetmez: gereken minimum istek sayısı, farklı istemci sayısı, farklı ülke ve farklı ASN ağı sayısı ile zaman aralığı çeşitliliği eşikleri birlikte aranır ve ilerleme bu ölçütlerin en zayıfına göre hesaplanır. Böylece tek bir kaynaktan yağdırılan istekle WAF'a yanlış bir şey öğretilemez.
Öğrenme kaydı varsayılan olarak akıllı örnekleme ile tutulur: her istek şeklinin yalnızca ilk birkaç örneği tam olarak yazılır, gerisi seyreltilir. Öğrenilen sonuç değişmez, disk tüketimi belirgin biçimde düşer.
Öğrenmenin ürettiği kurallar geri alınabilir: bir öğrenme kaydının yazdığı ayarlar Revert Learning ile geri çevrilir (adımlar); çakışma veya geri alınamaz durum varsa ayrıca bildirilir.
Raporlama ve Görünürlük
WAF'ın ürettiği veri üç ayrı yüzeyde toplanır: anlık izleme, olay bazında inceleme ve dönemsel raporlama.
Rapor
Dönemsel WAF raporu altı sekmede sunulur (Overview · Attacks · Classification · Traffic · Client · Geography) ve 22 ayrı kırılım taşır: path, metot, User-Agent, ziyaretçi, gövde boyutu, WAF işlem süresi, istemci adresi, saat, ülke, şehir, kural, kapsam, puan ve argüman dağılımlarının yanında OWASP Web, OWASP API, CWE, CAPEC, MITRE, kategori ve hedef platform kırılımları da yer alır.
Rapor arayüzde görüntülenir, PDF ve XLSX olarak indirilir; günlük, haftalık, aylık veya yıllık dönemlerde e-postayla otomatik gönderilir. Cihaz genelindeki tüm korumalı vService'ler tek bir raporda birleştirilebilir.
Log ve SIEM
| Yetenek | Ayrıntı |
|---|---|
| Log satır biçimi | Dokuz biçim arasından seçilir; CEF ve JSON biçimleri saldırı bilgisini yapılandırılmış alan olarak taşır. |
| Yalnızca saldırı beslemesi | Bir log profili yalnızca saldırı kaydını gönderecek biçimde seçilebilir; SIEM'e temiz trafik akmaz. |
| Alan seçimi | Saldırı başına gönderilecek alanlar (puan, severity, kapsam, kural adı, kategori, CWE, MITRE, CAPEC, OWASP Web/API, hedef) tek tek seçilir; içerik dili ayrıca belirlenir. |
| Hedef başına örnekleme | Her syslog hedefi için ayrı örnekleme değeri tanımlanır. |
| Log baskılama | Belirli bir koşula uyan isteklerin WAF logu hiç yazılmaz; sağlık denetimi veya prob trafiği kaydı şişirmez. |
İnceleme
Log ekranı bir metin arayüzü değil, sorgu yüzeyidir: ağ, istek, WAF ve taksonomi kategorilerinde onlarca alan üzerinden filtreleme yapılır; CIDR eşleşmesi ve serbest ifade sorgusu desteklenir. Learn status filtresi, bir kaydın bugünkü kural setiyle zaten öğrenilmiş olup olmadığını hesaplar; yanlış pozitif temizliğinde kalan iş tek süzmeyle görülür.
Cihaz genelindeki tarama, tüm vService'lerin log ağaçlarını paralel tarar; süre bütçesi dolarsa yarım kalmış bir sonuç yerine temiz bir kısmi sonuç ve hangi tarihe kadar eksiksiz olduğu bilgisi döner.
Bildirim
Saniyedeki engelleme ve tespit sayısı için eşik tanımlanır. Bunun ötesinde gelişmiş bildirimler, sekiz ayrı kapsamda (global, kaynak adres, kaynak ağ, ülke, ASN, ağ tipi grubu, ağ tipi kategorisi, host başlığı) zaman penceresi içinde biriken olay sayısını izler: "tek bir ülkeden beş dakikada iki yüz engelleme" gibi hedefli alarmlar kurulur. Alarm e-postasına, alarmı tetikleyen anahtara filtrelenmiş rapor eklenebilir. Bildirimler e-posta, SMS, SNMP trap ve arayüz bildirimi olarak dört kanaldan gider.
Yönetim ve Operasyon
WAF'ın tamamı web arayüzünden yönetilir; hiçbir aşamada sunucuya SSH ile bağlanmak, dosya düzenlemek veya komut çalıştırmak gerekmez. Trafiği taşıyan bileşenler bu amaçla kasıtlı olarak inceltilmiştir.
Kural seti trafikten öğrenilir, benzer yollar otomatik desenlere indirgenir, OpenAPI belgesinden üretilir veya hazır başlık kural seti tek işlemle uygulanır. Düzenli ifade yalnızca isteğe bağlı özel imza yazılırken gerekir; o da kaydedilmeden önce üretimdeki motorla derlenip örnek girdide sınanır.
Kural ve ayar değişiklikleri ayrı bir dağıtım adımı istemez; yapılandırma kesintisiz yeniden yüklenir, açık bağlantılar kopmaz. Bir kural derlenemezse koruma son başarılı kural setiyle çalışmaya devam eder ve sorunlu kurallar arayüzde işaretlenir.
WAF için üç ayrı rol tanımlıdır: tam yetki, yalnızca belirli vService'lerde değiştirme ve salt görüntüleme. Cihaz geneli imza katmanını değiştirmek tam yetki ister; vService katmanı için değiştirme yetkisi yeter. Böylece güvenlik ekibiyle uygulama ekibinin yetkileri ayrışır.
Her ekranın bir REST ve CLI karşılığı vardır; ayarlar, host grupları, kurallar ve imza geçersiz kılmaları programlı olarak yönetilir. Toplu işlemlerle onlarca vService'in ayarı, host gruplarının modu veya kural setinin sıfırlanması tek çağrıyla yapılır.
Öğrenilen ayarlar geri alınır, imza değişiklikleri varsayılana döndürülür, host grubunun kural seti sıfırlanır. Yapılandırma dışa aktarılıp başka bir cihaza taşınabilir ve yedeklemeye vService başına dâhil edilir.
Kural ekleme, düzenleme, silme, birleştirme, öğrenme uygulama ve geri alma, imza geçersiz kılma, toplu durum değişikliği ve içe/dışa aktarma dâhil her WAF işlemi kullanıcı günlüğüne yazılır.
Cluster'da davranış
WAF yapılandırması ve kural seti cluster üyeleri arasında otomatik olarak eşlenir. Derlenmiş imza veritabanı ise eşlenmez: her cihaz kendi işlemcisine uygun veritabanını kendisi derler. Öğrenme tek cihazda çalışır ancak her iki cihazın kayıtlarını birleştirir; raporlar da cluster genelinde toplanır.
Öne Çıkan Özellikler
Kullanım Senaryoları
Yayındaki bir uygulamanın önüne koruma, trafiği kesmeden alınır: önce öğrenilir, sonra provada izlenir, ardından engellemeye geçilir.
API'nin kendi OpenAPI tanımı içe aktarılarak pozitif güvenlik modeli, trafiğin öğrenilmesi beklenmeden doğrudan belgeden kurulur.
Aynı vService üzerinden yayınlanan farklı alan adları ayrı gruplara bölünür; olgun uygulama engellemede kalırken yeni yayına alınan alan adı öğrenme modunda ilerler.
Saniyedeki engelleme veya tespit sayısı tanımlı eşiği aştığında bildirim üretilir; log ekranından saldırının kaynağı, kategorisi ve yükü incelenip kaynak adres aynı pencereden yalnızca o vService'in listesine ya da cihaz geneli IP itibar listesine eklenir.
LLM tabanlı bir uygulamanın önündeki vService, prompt enjeksiyonu, jailbreak kalıpları ve sistem promptu çıkarma girişimlerine karşı ayrı bir imza kategorisiyle korunur; bu imzalar MITRE ATLAS teknikleriyle etiketlenir ve raporda ayrı kırılım olarak görünür.
Belirli bir imzanın veya imza grubunun tetiklenmesi, yük dengeleme katmanında bir koşul olarak kullanılır: o istek engellenmek yerine yönlendirilebilir, işaretlenebilir veya ayrı bir sayfaya düşürülebilir. WAF kararı, trafik kuralının girdisi hâline gelir.
Dönemsel raporlar otomatik üretilip yönetime e-postayla gönderilir; saldırı kayıtları kurumsal SIEM sistemine taşınır.
Terminoloji
| Terim | Açıklama |
|---|---|
| WAF Mode | Host grubunun çalışma modu: Learning, Monitor veya Blocking. |
| Virtual Host Group | vService trafiğini Host başlığına göre bölen, kendi modu ve kural listesi olan grup. |
| Page Type (sayfa tipi) | Bir path deseni ile o path'e uygulanacak denetimlerin birleşimi; arka planda bir WAF kuralıdır. |
| Any Paths | Host grubundaki her isteğe uygulanan taban kural. Hiçbir sayfa tipi eşleşmediğinde tek başına geçerlidir; bir sayfa tipi eşleştiğinde onunla birleştirilir. Listeden kaldırıldığında yok olmaz, varsayılan tanımıyla yeniden oluşturulur; yani silme işlemi bir sıfırlamadır. |
| Check Fields | Bir kuralın isteğin yedi bölümüne (Path, Query, Header, JSON, XML, Form, RAW) uyguladığı denetimler. |
| Signature (imza) | Bir saldırı deseninin, denetlendiği tek bir istek bölümündeki karşılığı. Aynı desen birden çok kapsamda çalışıyorsa birden çok imza sayılır. |
| Attack score (saldırı puanı) | İstekte tespit edilen ihlallerin toplam risk puanı. |
| OWASP Protection Level | Saldırı puanının engellemeye dönüşeceği eşiği belirleyen beş düzeyli ayar. |
| Learning log (öğrenme günlüğü) | Öğrenme modunda işlenen isteklerin yazıldığı, analiz için kaynak oluşturan kayıt. |
| Teacher (öğretici) | Trafiği güvenilir kabul edilen kaynak. Öğreticinin istekleri host grubu Blocking modunda olsa bile hiçbir zaman engellenmez; isteğin şekli kural setine öğretilir. |
| Disposition | Bir isteğin WAF denetiminden çıkış kararı. Log ekranında Verdict kolonu (Teacher, Monitor, Blocking), izleme ekranlarında yedi kategori olarak görünür. |
