WAF nedir? Web siteni korumak için net işlev ve kullanım rehberi
WAF (Web Application Firewall) ne yapar, hangi saldırıları engeller ve doğru kurulum/konfigürasyon için net kontrol listesi.
WAF (Web Application Firewall), web uygulamalarına gelen trafiği uygulama katmanında (HTTP istekleri içinde) analiz ederek saldırıları engellemeye odaklanan bir güvenlik katmanıdır. Sunucuda sadece “portu kapalı tutmak” veya TLS/SSL ile şifrelemek çoğu zaman yeterli değildir; saldırı girişimleri çoğunlukla meşru görünen istekler üzerinden gelir. Bu yazıda WAF’ın tam olarak ne işe yaradığını, hangi saldırı türlerini hedef aldığını ve net bir şekilde nasıl değerlendirmeniz gerektiğini öğreneceksiniz.
WAF tam olarak nedir? (Web Application Firewall)
WAF, web uygulamanıza (ör. WordPress, Node.js, API servisleri) ulaşan HTTP/S trafiğini inceleyen ve kurallara göre engelleyen/izleyen bir güvenlik mekanizmasıdır.
WAF’ın farkı, saldırıları sadece ağ seviyesinde (ör. IP engelleme) değil; isteğin içeriğinde, yani şu başlıklarda değerlendirmesidir:
- HTTP metodları (GET/POST/PUT vb.)
- URI ve parametreler (query string)
- Başlıklar (User-Agent, Cookie, Content-Type vb.)
- Gövde (body) içeriği
- JSON/form alanları ve şüpheli desenler
Bu nedenle WAF, “iyi huylu” görünen ama uygulamayı hedefleyen saldırıları yakalamada etkindir.
WAF hangi katmanda çalışır?
WAF genellikle şu iki konumdan birinde devreye alınır:
- Uygulama öncesi (proxy / reverse proxy): Trafik WAF üzerinden geçer, sonra uygulamaya ulaşır.
- Uygulama içinde (modül / eklenti): Bazı sistemlerde WAF kural motoru uygulama tarafında da çalışır.
Pratikte en yaygın kullanım, reverse proxy katmanında WAF kullanmaktır.
WAF ne işe yarar? Hangi saldırıları azaltır?
WAF’in asıl değeri, tekrar eden saldırı desenlerini yakalayıp uygulamanın aldığı riski düşürmesidir. Aşağıdaki saldırı türleri WAF kurallarının en sık hedeflediği alanlardır:
1) SQL Injection (SQLi)
Amaç: Veritabanını manipüle etmek.
WAF, URI parametrelerinde veya body içinde SQL anahtar kelimeleri, yorumlayıcı desenler ve tutarsız parametre kombinasyonlarını tespit etmeye çalışır.
2) Cross-Site Scripting (XSS)
Amaç: Kullanıcı tarayıcısında zararlı script çalıştırmak.
WAF, script benzeri kalıpları, event handler desenlerini ve beklenmedik içerik kodlamalarını yakalamaya odaklanır.
3) Path Traversal (../ ile dizin atlama)
Amaç: Uygulama dışı dosyalara ulaşmak.
WAF, URL içinde dizin atlama desenlerini ve kodlanmış kaçış (URL encoding) varyasyonlarını izler.
4) RFI/LFI (Remote/Local File Inclusion)
Amaç: Harici ya da yerel dosyaları dahil ederek kontrol ele geçirmek.
WAF, şüpheli dosya dahil etme desenleri ve belirli parametre kalıplarını hedefler.
5) Bad Bot / Web Scraping (kontrollü)
Amaç: Otomasyon ile veri çekmek veya kaynak tüketmek.
WAF tek başına “her scraping’i” engellemez; fakat hız limitleri (rate limiting), bot kuralları ve davranış analizi ile azaltabilir.
6) Credential Stuffing (hesap doldurma)
Amaç: Çalınmış parolalar ile çok sayıda deneme yapmak.
WAF, istek yoğunluğu ve başarısız giriş davranışlarına göre bloklama/deny-listeme yapabilir.
Not: WAF, tek başına bir “tam koruma” değildir. Uygulama tarafında parametre doğrulama, çıktı kaçışlama, güvenli kimlik doğrulama gibi kontroller hâlâ gerekir. WAF, bu kontrollerin üstüne ek bir bariyer sağlar.
WAF türleri: Bulut tabanlı mı, sunucu içi mi?
WAF seçeneklerini doğru değerlendirmek için tek fark “fiyat” değildir. Çalışma modeli performans, loglama ve yönetim şeklini etkiler.
Bulut tabanlı WAF (Cloud WAF)
- Trafik WAF üzerinden geçer.
- DDoS azaltma ile birlikte paketlenebilir.
- Genellikle yönetim web panelinden yapılır.
Avantaj: Kurulum hızlıdır, sunucu yükü belirgin azalır. Dikkat: Gerçek IP ve başlıklar doğru iletilmezse uygulama tarafı yanlış davranabilir.
Sunucu içi WAF (Host-based WAF)
- WAF motoru sunucuda çalışır.
- Daha “yakın” kontrol sağlar.
- Trafik filtresi ve loglama yereldir.
Avantaj: Uygulama trafiği üzerinde daha doğrudan kontrol. Dikkat: CPU/RAM tüketimi planlanmazsa performans düşebilir.
Uygulama tarafı WAF (framework/plug-in)
- Örneğin belirli framework’lerde kural motoru uygulama içinde kullanılır.
Avantaj: Uygulama mantığına daha yakın sinyaller yakalanabilir. Dikkat: Uygulama güncellemeleri ve uyumluluk yönetimi daha karmaşık olabilir.
WAF seçerken “net kontrol listesi”
WAF ürününü/kurulum şeklini seçerken aşağıdaki maddeler kararınızı somutlaştırır.
1) Kural seti kalitesi ve güncellemeler
Şunları net kontrol edin: - Ürün, imza tabanlı kural setini düzenli güncelliyor mu? - OWASP Top 10 gibi yaygın tehditleri kapsıyor mu? - Güvenlik profili (ör. “high sensitivity”) açıkken false positive oranı nasıl yönetiliyor?
2) False positive (yanlış alarm) yönetimi
Yanlış engellemeler işletmeyi durdurabilir. Bu yüzden “block” kararının yanında şu kontroller bulunmalı: - Whitelist (izinli URL/parametre) desteği - İstek başına detay log ve olay kaydı - Kural bazlı devre dışı bırakma (ör. sadece belirli endpoint için)
3) Rate limiting ve bot yönetimi
WAF sadece imza değil, davranış bazlı da çalışmalı: - Aynı IP’den belirli süre içinde aşırı istek için limit - Otomasyon/bot davranışlarında farklı aksiyon (challenge/deny)
4) Loglama, denetim ve raporlama
Şunlar erişilebilir olmalı: - Engellenen istek detayları (URL, kural, zaman, action) - Yönetilebilir log saklama süresi - İhracat/entegrasyon (SIEM/izleme sistemleri)
5) TLS (SSL) ile uyum ve başlık iletimi
Reverse proxy senaryolarında uygulama doğru istemci bilgisini görmeli:
- Gerçek IP için X-Forwarded-For ve benzeri başlıklar
- Host başlığının doğru iletilmesi
6) Performans etkisi
WAF’in gecikme (latency) eklemesi normaldir; ancak kontrol edilmelidir: - Trafik büyüdüğünde eşik değerleri nasıl etkileniyor? - Zaman aşımı (timeout) ayarları nasıl?
WAF’ı nasıl devreye almalısınız? (adım adım)
WAF kurulumunda amaç “hemen her şeyi engellemek” değil; kademeli ve ölçülebilir ilerlemektir.
1) Uygulama davranışını çıkarın
Önce normal trafiği bilmelisiniz: - En çok kullanılan URL’ler ve endpoint’ler - Form/checkout/login gibi kritik akışlar - API istek formatları (query, JSON body)
2) Başlangıç modunu ölçüm odaklı yapın
Yeni bir WAF açarken şu yaklaşım pratikte en az kesinti üretir: - İlk etapta loglama/monitor modunu kullanın. - Engelleme aksiyonunu kademeli açın. - İlk günlerde 404/403 artışını ve uygulama şikâyetlerini izleyin.
3) En kritik endpoint’lere öncelik verin
Öncelik listesi net olabilir: - Login sayfası - Admin paneli URL’leri - Arama/filtre parametrelerinin yoğun olduğu endpoint’ler - API auth endpoint’leri
4) Whitelist ve özel kurallar oluşturun
False positive oluşursa körlemesine “block”u kaldırmayın. Şu mantığı uygulayın: - Belirli URL/parametre kombinasyonunu whitelist’e alın - Gerekirse kuralı sadece o endpoint için gevşetin
5) Sürekli gözden geçirme rutini kurun
WAF “set-and-forget” değildir. En azından: - Haftalık kural/olay taraması - Aylık false positive analizi - Kritik güncelleme sonrası yeniden test
WAF ile ilgili sık yapılan hatalar (net örnekler)
Aşağıdakiler, WAF’ı yanlış kuran ekiplerde en sık görülen problemlerden bazılarıdır:
- Her şeyi yüksek hassasiyette engellemeye başlamak: Uygulama parametre doğrulaması eksik olduğu için meşru istekler de bloklanır.
- Logları incelememek: WAF engelliyor ama siz neden engellediğini görmüyorsunuz; yanlış kural sessizce hasar verir.
- Gerçek IP’yi uygulamaya iletmemek: Rate limit ve IP bazlı kural mantığı bozulur.
- Uygulama güvenliğini atlamak: WAF var diye input validation, output encoding, güvenli cookie ayarları ihmal edilir.
Net karar: WAF’ı kimler ve hangi senaryolarda kullanmalı?
WAF şu durumlarda “standart” bir gereksinim haline gelir:
- Web uygulamanız internetten erişilebilir ve login/checkout gibi etkileşimli alanlar içeriyor
- Formlar ve sorgulamalar yoğun (arama, filtreleme, parametreli URL)
- API üzerinden kimlik doğrulama yapılıyor
- Daha önce hack/zararlı istek denemeleri aldınız ve “patch” döngünüz sınırlı
WAF’ın özellikle değer kattığı yer, saldırının uygulama mantığını hedeflediği senaryolardır.
Kurulum tercihi için pratik kılavuz
- Trafik yoğunluğu ve altyapı yükü yönetimi kritikse: bulut tabanlı WAF genellikle daha hızlı sonuç verir.
- Log ve politika kontrolü tamamen sizde olsun istiyorsanız: sunucu içi WAF daha uygundur.
- Uygulama özelinde daha fazla sinyaliniz varsa: uygulama tarafı bileşenler destekleyici olabilir.
Sonuç: Bugün hangi adımı atmalısınız?
WAF, web uygulamasını hedefleyen istekleri HTTP katmanında analiz ederek riski azaltan bir bariyerdir. Doğru kurulumun anahtarı “hemen engellemek” değil; normal trafiği tanıyıp önce log modunda gözlemlemek, false positive’leri endpoint bazında düzeltmek ve logları düzenli denetlemektir. Bir sonraki adım olarak mevcut sitenizde en kritik 5 endpoint’i belirleyin, WAF/koruma kural setini ölçüm odaklı başlatın ve ilk hafta 403/false positive kaynaklarını raporlayın. Bu yaklaşım, güvenliği artırırken kesintiyi minimumda tutar.
Hosting karşılaştırması yapmaya hazır mısın?
100+ firmanın fiyatlarını tek tıkla karşılaştır, en uygun paketi bul.
Hosting Karşılaştır →İlgili Yazılar
Reseller’dan Dedicated’a Ne Zaman Geçilmeli? Net Kriterler
Reseller’dan dedicated’a geçişi hız, kaynak sınırı ve SLA göstergeleriyle planlayın. Somut eşikler, kontrol listesi ve geçiş senaryoları.
Yedekleri Şifreleyerek Saklama: Uygulama ve Kontrol Rehberi
Yedekleri şifreleyerek saklamada doğru anahtar yönetimi, dosya formatı, doğrulama ve erişim kontrol adımlarıyla net bir plan.
Self-signed SSL prod’da çalışır mı? Riskler ve net karar rehberi
Self-signed SSL’i prod’da kullanmak; tarayıcı uyarıları, SEO etkisi, kullanıcı güveni kaybı, uyumsuzluk ve bakım maliyeti risklerini net şekilde açıklar.
ElasticSearch Hosting Maliyet/Kalite Analizi: Net Karşılaştırma
ElasticSearch için donanım, depolama, CPU RAM ve yedekleme maliyetlerini net hesaplayın; VDS, managed ve cloud seçeneklerini karşılaştırın.