WAF (Web Uygulama Güvenlik Duvarı) Nedir?
Kısa tanım
WAF (Web Application Firewall), bir web uygulamasına gelen HTTP isteklerini içerikleriyle birlikte inceleyip kurallara göre izin veren, engelleyen veya doğrulamaya yönlendiren güvenlik katmanıdır. Ağ güvenlik duvarı IP adresi ve porta bakarken WAF; URL'yi, başlıkları, çerezleri ve istek gövdesini değerlendirir. SQL enjeksiyonu ve XSS gibi yaygın saldırıları filtrelemek, kötü botları sınırlamak ve açıklar kapatılana kadar geçici koruma sağlamak için kullanılır.
Diğer adları: WAF, Web Application Firewall, web uygulama güvenlik duvarı, uygulama katmanı güvenlik duvarı

Ağ güvenlik duvarının bıraktığı yerden başlar
Klasik bir güvenlik duvarı 443 numaralı portu açtığında, o porttan gelen her isteği içeriğine bakmadan geçirir. WAF ise HTTP katmanında (OSI modelinin 7. katmanı) çalışır ve isteğin kendisini okur: hangi yol çağrılıyor, sorgu parametrelerinde ne var, form gövdesinde veya JSON içinde şüpheli bir kalıp bulunuyor mu, kullanıcı ajanı ve istek hızı olağan mı?
| Ağ güvenlik duvarı | WAF | |
|---|---|---|
| Baktığı yer | IP, port, protokol | URL, başlıklar, çerezler, istek gövdesi |
| Tipik karar | “Bu porta bu adresten gelinebilir mi?” | “Bu istek bir saldırı kalıbına benziyor mu?” |
| Konum | Ağ sınırı veya sunucu | Uygulamanın önündeki ters vekil, CDN kenarı veya web sunucusu modülü |
OWASP'nin tanımıyla WAF, HTTP uygulamaları için bir uygulama güvenlik duvarıdır ve konuşmaya bir kural kümesi uygular. Pratikte üç biçimde karşımıza çıkar: Cloudflare gibi CDN ve güvenlik servislerinin kenar ağında, bulut sağlayıcının yük dengeleyicisinin önünde ya da Nginx veya Apache'ye eklenen bir modül olarak.
Kurallar ne yapar?
- Yönetilen kural setleri: OWASP Top 10'da yer alan enjeksiyon ve XSS gibi yaygın saldırı kalıplarını tanıyan, sağlayıcı veya topluluk tarafından güncellenen kurallar. OWASP'nin açık kaynak Core Rule Set'i bunların bilinen örneğidir.
- Özel kurallar: Yönetim paneline yalnızca belirli ülkelerden veya IP'lerden erişim, belirli yollara sadece belirli metotlarla istek gibi sitenize özgü kısıtlar.
- Hız sınırlama ve bot yönetimi: Giriş formuna saniyede yüzlerce istek atan istemcileri yavaşlatmak, şüpheli trafiğe doğrulama sayfası göstermek.
- Sanal yama (virtual patching): Kullandığınız bir eklentide açık duyurulduğunda, kod güncellenene kadar ilgili isteği WAF'ta engelleyerek zaman kazanmak.
Yanlış pozitifler: iyi botları ve gerçek kullanıcıları engellemek
WAF'ın en sık yarattığı sorun saldırıları kaçırması değil, meşru trafiği durdurmasıdır. SQL komutlarını anlatan bir blog yazısını kaydetmeye çalışan editör “SQL enjeksiyonu” kuralına takılabilir; uzun bir JSON gövdesi gönderen mobil uygulama engellenebilir. Daha az fark edilen kayıp ise arama ve yapay zekâ tarayıcılarında yaşanır:
- Googlebot doğrulama sayfasına takılır ya da
403veya429alırsa tarama hızı düşer, yeni sayfalar geç keşfedilir ve uzun süren engellerde sayfalar dizinden düşebilir. - Agresif bot kuralları, sayfaları kullanıcı adına okuyan yapay zekâ arama tarayıcılarını da engelleyebilir; içerik, yapay zekâ cevaplarında kaynak olarak kullanılamaz. Model eğitimi tarayıcılarını engellemek bilinçli bir tercih olabilir; ama bu karar robots.txt ve bot ayarlarında açıkça verilmelidir, bir WAF kuralının yan etkisi olarak değil.
- Kullanıcı ajanına göre izin vermek yeterli değildir, çünkü kullanıcı ajanı kolayca taklit edilir. Google, Googlebot'u ters ve ileri DNS sorgusuyla veya yayımladığı IP aralıklarıyla doğrulamayı önerir; çoğu WAF ürünü de doğrulanmış botlar için hazır bir kategori sunar.
Yeni kuralları önce yalnızca kaydeden (log/detect) modda çalıştırmak, engellenen isteklerin listesini düzenli incelemek ve Search Console'daki tarama istatistiklerinde ani düşüşleri izlemek bu riskleri erkenden gösterir. Doruva'nın GEO Analiz Aracı, arama ve yapay zekâ tarayıcılarının bir bot doğrulama ekranına takılıp takılmadığını da kontrol eder.
WAF bir yamanın yerini tutmaz
WAF bir ek katmandır; güvenli kodun yerine geçmez. Kurallar kalıplara dayandığı için her saldırı biçimini tanıyamaz ve uygulama değiştikçe ayarlanması gerekir. Ayrıca WAF yalnızca önünden geçen trafiği görür: kaynak sunucunun IP adresi biliniyorsa ve sunucu doğrudan erişime açıksa, istekler WAF'ı hiç uğramadan uygulamaya ulaşabilir. Bu yüzden kaynak sunucuda gelen trafiği yalnızca WAF veya CDN sağlayıcısının adreslerinden kabul etmek, kurulumun ayrılmaz bir parçasıdır.

