WAF (web application firewall), bir web uygulamasına gelen HTTP ve HTTPS isteklerini uygulama katmanında denetleyen ve zararlı olanları sunucuya ulaşmadan durduran güvenlik katmanıdır. Türkçede aynı katman web uygulama güvenlik duvarı adıyla anılır; ikisi aynı şeyi anlatır.
WAF, ziyaretçi ile sunucu arasında konumlanır ve trafiği bağlantı düzeyinde değil, istek düzeyinde inceler. Denetlediği şey isteğin kendisidir: adres satırı, başlıklar, çerezler ve form verisi. Bu sayede SQL injection, XSS, dizin aşımı ve kötü niyetli bot trafiği gibi doğrudan uygulamayı hedefleyen saldırıları engeller. Klasik güvenlik duvarından ayrıldığı nokta da budur: klasik güvenlik duvarı bir paketin geçip geçemeyeceğine karar verir, WAF isteğin içeriğinin zararlı olup olmadığına karar verir.
WAF dört biçimde karşımıza çıkar: web sunucusu üzerinde modül olarak çalışan sunucu tabanlı WAF (ModSecurity), trafiği alan adı seviyesinde karşılayan bulut tabanlı WAF, veri merkezinde ayrı cihaz olarak duran donanım tabanlı WAF ve uygulamanın içine kurulan eklenti tabanlı WAF. Dördünün ortak sınırı aynıdır: WAF bir filtredir, uygulamadaki açığı kapatmaz.
Aşağıda WAF’ın nasıl çalıştığını, neyi engelleyip neyi engelleyemediğini, çeşitlerini, kurulduktan sonra hangi ayarların yapıldığını ve neden tek başına yeterli olmadığını açıklıyoruz.
WAF nasıl çalışır?
WAF, kendisine ulaşan her isteği bir kural setinden geçirerek çalışır. Sunucuya giden yolun üzerinde durur ve isteği dört adımda işler:
- Yakala. Ziyaretçiden gelen isteği, sunucudaki uygulama çalışmaya başlamadan önce al.
- Karşılaştır. İsteğin adresini, başlıklarını, çerezlerini ve gövdesindeki form verisini kural setiyle karşılaştır.
- Karar ver. İsteği geçir, engelle, ziyaretçiden doğrulama iste ya da yalnızca kaydedip geçir.
- Kaydet. Kararı, eşleşen kuralın kimliğiyle birlikte log dosyasına yaz.
Engelleme kararı ziyaretçiye çoğunlukla HTTP 403 yanıtıyla döner; istek uygulamaya ve veritabanına hiç ulaşmaz. WAF isteğin içeriğini ancak TLS bağlantısı sonlandırıldıktan sonra okuyabilir. Üçüncü adım, yani karar adımı, WAF’lar arasındaki asıl farkın çıktığı yerdir.
WAF hangi ölçüte göre karar verir?
WAF, iki güvenlik modelinden birine göre karar verir: negatif model ve pozitif model. Negatif model bilinen zararlı kalıpları tanır ve yalnızca onları engeller; tanımadığı yeni bir saldırı biçimini kaçırabilir. Pozitif model yalnızca tanımlı istek biçimlerine izin verir; kapsamı dardır ama meşru istekleri yanlışlıkla engelleme olasılığı yüksektir.
Uygulamada ikisi birlikte kullanılır ve karar skor tabanlı verilir. Her eşleşen kural isteğe puan ekler; toplam puan belirlenen eşiği (yaygın kural setlerinde 5 puan) aştığında istek engellenir. Böylece tek bir işaret değil, işaretlerin birikimi karar üretir. Kuralların hedeflediği saldırı sınıfları WAF’ın kapsamını belirler.

WAF hangi saldırıları engeller?
WAF, uygulama katmanında yürütülen saldırıları engeller. Bu sınıfların referans çerçevesini, uygulama güvenliğinde en çok atıf alan liste olan OWASP Top 10 çizer; yaygın kural setleri kapsamını bu çerçeveye göre belirler.
WAF’ın tipik olarak durdurduğu istek tipleri aşağıda verilmiştir:
- SQL injection. Kullanıcı verisine gizlenmiş veritabanı sorgusu; hedefi sunucudaki veritabanıdır.
- XSS (siteler arası betik çalıştırma). İstek içine yerleştirilen ve ziyaretçinin tarayıcısında çalışan betik.
- Uzaktan dosya çalıştırma. Sunucuya çalıştırılabilir dosya bırakmayı hedefleyen istek.
- Dizin aşımı (path traversal). Adres satırındaki yol ifadesiyle uygulama dizininin dışına çıkma denemesi.
- Komut enjeksiyonu. İstek parametresine gizlenmiş, işletim sistemi kabuğuna yönelen komut.
- Kimlik doğrulama saldırıları. Giriş formuna yapılan yoğun deneme-yanılma istekleri.
- Kötü niyetli bot trafiği. İçerik kopyalayan veya açık tarayan otomatik istekler.
- Uygulama katmanı istek seli. Sunucu kaynağını tüketmek için tek sayfaya yöneltilen yoğun istek.
Listenin ilk iki maddesi kural setlerinde ağırlığı en yüksek ikilidir; bu yüzden ayrı ele alınır.
SQL injection nedir ve WAF bunu nasıl durdurur?
SQL injection, kullanıcıdan gelen veriye gizlenmiş bir SQL ifadesinin veritabanında çalıştırılmasıdır. Uygulama, gelen parametreyi doğrulamadan sorguya yerleştirdiğinde saldırganın yazdığı ifade de sorgunun parçası olur.
WAF bu saldırıyı, istek parametrelerindeki SQL sözdizimi kalıplarını tanıyarak durdurur; eşleşme bulunduğunda sorgu MySQL gibi veritabanı sunucularına hiç iletilmez. MySQL katmanının barındırma tarafında nasıl çalıştığını MySQL Nedir? MySQL Hosting Nasıl Çalışır? yazısında anlattık. WAF’ın buradaki rolü kalkandır; kalıcı çözüm, uygulamanın parametreli sorgu (prepared statement) kullanmasıdır.
XSS saldırısı WAF ile nasıl engellenir?
XSS saldırısı, WAF’ın istek içindeki betik kalıplarını tanıyıp isteği engellemesiyle durdurulur. XSS’in Türkçe karşılığı siteler arası betik çalıştırmadır ve üç biçimi vardır: yansıyan, depolanan ve DOM tabanlı.
SQL injection’dan farkı hedefindedir: SQL injection sunucudaki veritabanını, XSS ziyaretçinin tarayıcısını hedefler. WAF her iki durumda da aynı noktada devreye girer, çünkü ikisi de sunucuya gelen bir istekle başlar. Ancak WAF’ın kapsamı burada biter.
WAF hangi saldırıları engelleyemez?
WAF, uygulama katmanının dışında kalan saldırıları engelleyemez. Bu sınırın dört örneği vardır.
Birincisi hacimsel DDoS saldırılarıdır: bant genişliğini dolduran trafik WAF’a ulaşmadan hattı tıkar, koruma daha önde çözülür (DDoS Nedir?). İkincisi sunucuya zaten yerleşmiş zararlı yazılım (malware) dosyalarıdır; WAF gelen isteğe bakar, diskteki dosyayı temizlemez (Malware Nedir? Hostingte Kötü Amaçlı Yazılım Nasıl Temizlenir?). Üçüncüsü çalınmış kimlik bilgisiyle yapılan giriştir; istek meşru göründüğü için kural eşleşmez. Dördüncüsü sunucu yazılımının güncellenmemiş açığıdır.
Bu sınırların hepsi WAF’ın hangi katmanda durduğuyla ilgilidir. Katman farkı, WAF ile klasik güvenlik duvarını ayıran ölçüttür.

WAF ile klasik güvenlik duvarı arasındaki fark nedir?
WAF ile klasik güvenlik duvarı (firewall) arasındaki fark, denetledikleri katmandır. İkisi aynı işin farklı seviyelerini yapar:
| Ölçüt | Klasik güvenlik duvarı | WAF |
|---|---|---|
| Çalıştığı katman | Ağ ve taşıma katmanı (Layer 3–4) | Uygulama katmanı (Layer 7) |
| Denetlediği şey | IP adresi, port numarası, protokol | İsteğin adresi, başlıkları, çerezleri, form verisi |
| Karar ölçütü | Bağlantı izinli mi | İsteğin içeriği zararlı mı |
| Tipik engel örneği | Veritabanı portuna dışarıdan gelen bağlantı | Adres satırındaki SQL ifadesi |
| Şifreli trafik | İçeriği okumaz | TLS sonlandırıldıktan sonra okur |
| Yetersiz kaldığı yer | Uygulama açıkları | Ağ seviyesi tarama ve sel trafiği |
İkisi birbirinin yerine geçmez, birlikte çalışır: klasik güvenlik duvarı gereksiz portları kapatır, WAF açık kalan 80 ve 443 numaralı portlardan geçen isteği denetler. Ağ katmanının kural mantığını ve türlerini Firewall (Güvenlik Duvarı) Nedir? yazısında ele aldık. WAF tarafında asıl soru, bu katmanın nereye kurulduğudur.

WAF çeşitleri nelerdir ve nerede konumlandırılır?
WAF çeşitleri, çalıştıkları yere göre dörde ayrılır: sunucu tabanlı, bulut tabanlı, donanım tabanlı ve eklenti tabanlı WAF. Fark yalnızca teknoloji değil, isteğin hangi noktada durdurulduğudur.
Bulut tabanlı WAF isteği alan adı seviyesinde, sunucuya ulaşmadan karşılar; sunucu tabanlı WAF isteği web sunucusu üzerinde, uygulama çalışmadan hemen önce karşılar. Trafiğin birden çok sunucuya dağıtıldığı kurulumlarda WAF, yük dengeleyicinin (load balancer) önüne ya da arkasına yerleştirilebilir (Load Balancer (Yük Dengeleyici) Nedir?). Donanım tabanlı WAF ayrı bir cihaz olarak veri merkezinde durur; F5 ve Fortinet ürünleri bu sınıfa girer, yüksek trafikli kurumsal uygulamalarda tercih edilir ve barındırma müşterisinin gündemine nadiren girer. Barındırma tarafındaki üç biçim aşağıdadır.
ModSecurity nedir ve sunucuda nasıl çalışır?
ModSecurity, web sunucusu üzerinde modül olarak çalışan açık kaynaklı bir WAF’tır. Apache, NGINX ve IIS üzerinde çalışır; kendi başına kural içermez, dışarıdan verilen bir kural setiyle beslenir. En yaygın kural seti OWASP Core Rule Set (CRS), barındırma panellerinde sunulan hazır alternatiflerden biri de Comodo kural setidir. Modülün üzerinde çalıştığı web sunucusu yazılımını NGINX Nedir? Hangi Amaçla Kullanılır? yazısında tanıttık.
Sunucu tabanlı WAF’ın ayırt edici tarafı şudur: isteği alan adı seviyesinde değil, sunucu seviyesinde karşılar; trafik doğrudan sunucunun adresine geldiğinde bile devrede kalır. Uç noktada çalışan biçim ise farklı bir mantık izler.
Bulut tabanlı WAF nasıl çalışır?
Bulut tabanlı WAF, isteği sunucuya ulaşmadan önce sağlayıcının uç noktalarında karşılayarak çalışır. Alan adının DNS kaydı sağlayıcıya yönlendirilir, trafik önce bu uç ağdan (CDN) geçer, temizlenen istek sunucuya iletilir. Cloudflare ve AWS bu modelin en bilinen örnekleridir; uç ağın önbellek tarafını CDN Nedir? Hosting ile Nasıl Çalışır? yazısında, sağlayıcı tarafını Cloudflare Nedir? Cloudflare Nasıl Kullanılır? 2025 yazısında anlattık.
Bu modelin bir koşulu vardır. Bulut tabanlı WAF kullanıyorsanız sunucunuzun gerçek IP adresini dışarıya kapatmalı, bağlantıyı yalnızca sağlayıcının IP aralıklarına açmalısınız; aksi halde istek uç ağı hiç görmeden sunucuya ulaşır ve katman devre dışı kalır. Üçüncü biçim uygulamanın kendi içine kurulur.
WordPress’te WAF nasıl sağlanır?
WordPress’te WAF, eklenti tabanlı ya da sunucu tabanlı olarak sağlanır. Wordfence gibi güvenlik eklentileri WAF görevini uygulamanın içinden yürütür ve kural setini yönetim panelinden yönetilebilir hâle getirir.
Aradaki fark kaynak tüketiminde ortaya çıkar. Eklenti tabanlı WAF, PHP çalışmaya başladıktan sonra devreye girer; istek engellense bile sunucunun işlemci ve bellek kaynağı harcanmıştır. Sunucu tabanlı WAF isteği PHP’ye ulaşmadan durdurur, yoğun saldırı altında kaynak tüketimi düşük kalır. Diğer sertleştirme adımlarını WordPress Güvenliği Nasıl Sağlanır? Kapsamlı Kontrol Listesi yazısında listeledik. Hangi biçim seçilirse seçilsin asıl iş ayar aşamasında yapılır.
WAF kurulduktan sonra hangi ayarlar yapılır?
WAF kurulduktan sonra yapılacak ayarlar aşağıda sırayla verilmiştir:
- Başlat. WAF’ı önce denetim (log-only) modunda çalıştır; bu modda istekler engellenmez, yalnızca kaydedilir.
- Oku. Denetim modunun ilk 3–7 günlük loglarını incele, hangi kuralın hangi isteği yakaladığını çıkar.
- Muaf tut. Meşru istekleri yakalayan kurallar için tek tek muafiyet tanımla.
- Güncelle. Kural setini düzenli güncelle; yeni saldırı kalıpları güncellemelerle girer.
- Kısıtla. Yönetim panelini IP tabanlı kuralla yalnızca bilinen adreslere aç.
- Sınırla. Aynı kaynaktan gelen istek sayısına bir üst sınır tanımla.
Adımların hepsi log okumaya dayanır; sunucu loglarının nasıl okunacağını Sunucu Logları Nedir? Nasıl Okunur ve İzlenir? yazısında anlattık. Üçüncü ve altıncı adım en sık soru çıkaran ikisidir.
WAF yanlış pozitif verirse ne yapılır?
WAF yanlış pozitif verirse, isteği engelleyen kural log kaydından bulunur ve yalnızca o kural için muafiyet tanımlanır. Belirtisi nettir: kaydedilen bir yazı ya da yüklenen bir dosya beklenmedik biçimde HTTP 403 yanıtıyla döner.
Log satırında engellemeyi yapan kuralın kimliği (rule ID) yazar; muafiyet bu kimlikle tanımlanır. Aynı yanıt kodunun WAF dışındaki sebeplerini 403 Forbidden Hatası Nedir? Nedenleri ve Çözüm Yöntemleri yazısında ayırdık. Çözüm için WAF’ı tümüyle kapatmamalı, kural bazında muafiyet tanımlamalısınız.
WAF istek sayısını nasıl sınırlar?
WAF, aynı kaynaktan gelen istek sayısını belirli bir zaman aralığında sayarak sınırlar. Örneğin giriş formuna dakikada 10 istek eşiği tanımlanır; eşiği aşan kaynak geçici olarak durdurulur.
Sınırı aşan isteğe dönen yanıt HTTP 429‘dur; kodun anlamını ve sunucu tarafındaki karşılığını 429 Too Many Requests Hatası Nedir? Nedenleri ve Çözümü yazısında ele aldık. Hız sınırı en çok giriş formu ve API uç noktalarında işe yarar. Yine de bu ayarlar WAF’ı tek başına yeterli hâle getirmez.
WAF tek başına neden yeterli değildir?
WAF tek başına yeterli değildir, çünkü WAF isteği filtreler, uygulamadaki açığı kapatmaz. Bunun dört gerekçesi vardır. Açık, kaynak kodunda durduğu sürece varlığını sürdürür. İmza tabanlı kurallar yalnızca tanıdıkları kalıbı yakalar, tanımadıkları bir istek biçimi filtreden geçebilir. Uç noktada çalışan bir WAF kullanılıyorsa ve sunucunun gerçek adresi açıksa katman baştan devre dışı kalabilir. Geçerli kimlik bilgisiyle yapılan istek meşru göründüğü için kuralla eşleşmez.
Bu bölümün amacı atlatma yöntemi tarif etmek değil, tek katmanlı savunmanın neden yetersiz kaldığını göstermektir. Savunma tarafındaki cevap dört katmanı birlikte kurmaktır: uygulamayı ve eklentilerini güncel tutmak, her hesaba yalnızca ihtiyacı kadar yetki vermek, aynı sunucudaki hesapları birbirinden yalıtmak ve geri dönülebilir bir yedek tutmak. Yalıtımın paylaşımlı sunucularda nasıl sağlandığını CloudLinux Nedir? Hosting Sunucularında Ne İşe Yarar? yazısında, ağ seviyesindeki katmanı DDoS Korumalı VDS Nedir? Koruma Katmanları ve Seçim Kriterleri yazısında anlattık.
WAF hakkında sık sorulan sorular
WAF siteyi yavaşlatır mı?
Evet, WAF her isteğe ölçülebilir ama küçük bir gecikme ekler. Sunucu tabanlı bir WAF’ın istek başına eklediği süre milisaniye mertebesindedir. Bulut tabanlı WAF önbellekle çalıştığında toplam yanıt süresini düşürebilir.
Ücretsiz WAF yeterli midir?
Evet, çoğu site için ücretsiz WAF yeterlidir. OWASP Core Rule Set ücretsizdir ve yaygın saldırı sınıflarını kapsar. Ücretli setlerin farkı kapsamda değil, güncelleme hızında ve destektedir.
SSL sertifikası WAF yerine geçer mi?
Hayır, SSL sertifikası WAF’ın yerine geçmez. SSL trafiği şifreler, isteğin içeriğini denetlemez; zararlı bir istek de şifreli kanaldan aynı şekilde gelir. İkisi birlikte çalışır: WAF içeriği ancak TLS bağlantısı sonlandırıldıktan sonra okur. Sertifikanın ne zaman yeterli olduğunu Ücretsiz SSL Nedir? Nasıl Alınır ve Ne Zaman Yeterli Olur? yazısında ayrıntılandırdık.
Paylaşımlı hosting paketinde WAF kullanılabilir mi?
Evet, paylaşımlı hosting paketinde WAF kullanılabilir. Sunucu tabanlı WAF kontrol paneli üzerinden hesap düzeyinde açılıp kapatılır, kural seti ise sunucu genelinde yönetilir. Paketlerin panel içeriğini Limitsiz Web Hosting sayfasında inceleyebilirsiniz.
Belirleyici olan WAF’ın açık olması değil, kural setinin güncel tutulması ve yanlış pozitiflerin ayıklanmasıdır. Bu iş sunucuyu yöneten tarafın sorumluluğundadır; kendi ekibinizle yürütmek istemiyorsanız kural seti yönetimini, log takibini ve güncellemeyi sağlayıcıya devreden Yönetilen Sunucular hizmetini değerlendirebilirsiniz.

