WAF (Web Application Firewall) nedir, ne işe yarar?
WAF, web uygulamalarını saldırılara karşı katmanlı korur. Bu rehberde WAF’ın ne yaptığını, nasıl çalıştığını ve doğru yapılandırmayı öğreneceksiniz.
WAF (Web Application Firewall), web uygulamalarını internetten gelen saldırılara karşı korumak için kullanılan bir güvenlik katmanıdır. Sunucu tarafında çalışan servisleri ya da uygulamanın kendisini hedef alan girişimleri filtreler ve zararlı istekleri engeller. Bu yazıda WAF’ın ne yaptığını, hangi saldırı türlerine karşı etkili olduğunu ve doğru kurulumda nelere dikkat etmeniz gerektiğini net şekilde anlatıyorum.
WAF tam olarak nedir?
WAF, HTTP/HTTPS trafiğini uygulama katmanında (Layer 7) analiz eden bir güvenlik bileşenidir. Bu analiz sırasında isteklerin: - URL ve parametre yapısını, - HTTP başlıklarını, - gövde (body) içeriğini, - davranış örüntülerini inceleyip kurallara göre “zararlı / şüpheli / normal” kararları verir.
WAF’ı tek bir ürün gibi düşünmek yerine, genellikle şu formlardan biri olarak görürsünüz: - Bulut tabanlı WAF (CDN ile entegre): Trafiği sağlayıcı üzerinden yönlendirir, koruma kenarda başlar. - Sunucu üzerinde çalışan WAF: Uygulama önüne ters proxy (reverse proxy) gibi yerleşir. - Uygulama içine gömülü WAF mantığı: Daha dar kapsamlı, çoğu zaman gelişmiş durumlarda tercih edilir.
Net sonuç: WAF, web uygulaması ile internet arasına “kural tabanlı” veya “anormallik tabanlı” bir filtre koyar.
WAF ne işe yarar? En yaygın faydalar
WAF’ın asıl değeri, saldırıyı engellemekten çok saldırı izlerini azaltarak uygulamayı daha az savunmasız bırakmasıdır. Somut faydalar şöyle özetlenir:
1) OWASP Top 10 sınıfı tehditlere karşı koruma
WAF kuralları, pratikte en sık görülen zafiyet sınıflarını hedef alır. En yaygın örnekler: - SQL Injection: Zararlı sorgu parçalarının parametrelere sızmasını engelleme - XSS (Cross-Site Scripting): Komut/HTML JavaScript enjeksiyonlarını yakalama - Path Traversal: Dosya sistemine izinsiz erişim denemelerini kesme - Command Injection: Uygulama komutlarının kötüye kullanımını engelleme
2) Bot kaynaklı trafiği azaltma ve kimlik doğrulama saldırılarını sınırlama
WAF, belirli davranış paternlerini “şüpheli” kabul edip hız sınırlama (rate limiting), challenge (örn. CAPTCHA) veya doğrudan blok uygulayabilir. Bu sayede: - brute-force denemeleri, - otomatik tarama (scanning), - bazı form spamleri daha erken aşamada kırılır.
3) Veri sızıntısı ve uygulama davranışı manipülasyonlarına karşı ek emniyet
Uygulamanız güvenlik yamalarını alsa bile hatalı bir endpoint, atlanan bir filtre veya yanlış konfigürasyon nedeniyle açık oluşabilir. WAF, bu tür “beklenmedik” denemeleri yakalayarak etkiyi azaltır.
4) İzleme ve olay kaydı (log)
WAF, hangi isteğin neden engellendiğini loglar. Bu loglar: - saldırı kaynağını anlamanıza, - yanlış pozitifleri (false positive) düzeltmenize, - kural iyileştirmesine imkan tanır.
WAF nasıl çalışır? Karar mekanizması
WAF’ın işleyişi, pratikte şu adımlarla ilerler:
- İstek WAF’a gelir (bulut veya sunucu üzerinden)
- WAF, istek içeriğini kurallarla eşleştirir (ör. imza tabanlı kurallar)
- Eşleşme türüne göre aksiyon alır: - Block (engelle) - Challenge - Allow (izin ver) - Log only (sadece kaydet)
- Engellenen veya şüpheli isteklerin detaylarını loglar
WAF kuralları iki ana yaklaşımla gelir: - İmza tabanlı: Belirli desenleri yakalar (ör. SQL injection imzaları) - Davranış/anormallik tabanlı: Beklenen kalıplardan sapmayı hedefler
Önemli nokta: WAF, her zaman “%100 engelleme” değildir. Hedef, saldırının başarılı olma ihtimalini düşürmek ve etkiyi azaltmaktır.
Hangi saldırılarda etkili, hangilerinde sınırlı?
WAF’ın etkisi, uygulamanızın mimarisi ve trafiğinizin yapısıyla doğrudan ilişkilidir. Aşağıdaki tablo, pratik beklentiyi netleştirir.
| Saldırı / senaryo | WAF etkisi | Not |
|---|---|---|
| SQL Injection denemeleri | Yüksek | Parametre desenleri yakalanır; yanlış pozitif ayarı gerekebilir. |
| Reflected/Stored XSS | Orta-Yüksek | İçerik türlerine ve filtreleme kurallarına bağlıdır. |
| Path traversal | Yüksek | URL/parametre içindeki ../ gibi desenler yakalanır. |
| CSRF (saldırı değil, isteğin yetkisiz yürütülmesi) | Düşük-Orta | WAF bazı anomali/sıra dışı istekleri engelleyebilir; asıl çözüm CSRF token doğrulamadır. |
| DoS/DDoS | Orta (doğrudan değil) | Çoğu WAF, L7’de yardımcı olur; gerçek DDoS temizliği için ayrı katman/altyapı gerekir. |
| Kimlik bilgisi sızıntısı ile gelen oturum ele geçirme | Düşük | WAF parola/oturum mantığını değil, istek örüntülerini korur. |
| Yanlış konfigürasyon kaynaklı açıklar | Değişken | Endpoint mantığına bağlı; kural yazımı ile iyileştirilebilir. |
WAF ne zaman gerçek değer üretir?
- Uygulamanızda hızlı değişen endpoint’ler varsa ve saldırılar da buna paralel artıyorsa
- Yeni bir form/parametre eklediğinizde risk artıyor ve anında “ek güvenlik katmanı” ihtiyacınız varsa
- Sunucu ekibinizin güvenlik yamalarını düzenli yaptığı ama yine de “savunmayı derinleştirme” hedeflediği senaryolarda
WAF ne zaman “yanlış kurulum” yüzünden sorun çıkarır?
- Çok sıkı kural ile uygulamanın meşru trafiğini engellemek
- API kullanımında beklenen formatları dikkate almadan bloklamak
- Özel karakterler, JSON body veya farklı içerik türlerini yanlış sınıflandırmak
Bu yüzden yapılandırma aşaması kritik rol oynar.
Doğru WAF yapılandırması için kontrol listesi
WAF’ı devreye aldığınızda hedef, “hepsini engellemek” değil; doğru kapsamı sağlamak ve yanlış engellemeyi yönetmektir.
1) Önce "log only" ile başlayın
İlk aşamada Log only modunda çalıştırmak, hangi isteklerin şüpheli görüldüğünü görmenizi sağlar. Böylece: - ödeme, arama, oturum gibi kritik akışlar etkilenmeden test edebilirsiniz. - yanlış pozitiflerin kaydını alıp istisnaları belirlersiniz.
2) API ve içerik türlerini tanımlayın
API çağrılarında sık görülen farklılıklar şunlardır: - JSON body içeren POST istekleri - özel header’lar (örn. Authorization) - sık kullanılan parametre şemaları
Bu tür farklılıklar net tanımlanmadığında WAF, “zararlı desen” sanıp engelleme yapabilir.
3) İzin verilen alanlar için allowlist kullanın
Meşru kullanıcı trafiğinin geçtiği noktaları allowlist yapmak pratikte en hızlı çözümlerden biridir. Örnekler: - Belirli endpoint’ler (örn. /api/login yerine /api/auth) - Dosya yükleme (upload) path’leri - Sık gelen webhook URL’leri
4) Rate limiting ile birlikte düşünün
WAF tek başına bot saldırılarına çözüm değildir; ama rate limiting ile birlikte kullanıldığında etkisi belirginleşir. Özellikle: - login denemeleri - form gönderimleri - arama endpoint’leri
5) Logları düzenli inceleyin
WAF logları sadece “engellendi” listesinden ibaret değildir. Şunu takip edin: - en çok engellenen kural adı/desen - ülke/ASN dağılımı - aynı kaynaktan tekrar eden istekler - yanlış pozitif raporları
Bu verilerle kuralları ayarlayın.
WAF seçiminde platformdan bağımsız pratik kriterler
Net bir karşılaştırma yapabilmeniz için seçim kriterlerini somutlaştırmak gerekir. Aşağıdaki madde seti, hangi sağlayıcı olursa olsun değerlendirmenizi sağlar.
1) Koruma modu seçenekleri
- Log only / block / challenge seçenekleri var mı?
- Kural bazında istisna (exception) yönetimi var mı?
2) Yönetim arayüzü ve kural güncellemeleri
- Hazır kural setleri (örn. genel tehdit kütüphaneleri) güncellendi mi?
- Kural yazma ve test imkanı var mı?
3) Performans etkisi
WAF, istekleri analiz ettiği için gecikme yaratabilir. Bulut tabanlı WAF genelde kenarda (edge) çalıştığı için gecikmeyi daha yönetilebilir tutar. Yine de şu testi yapın: - WAF açıkken aynı endpoint için ortalama yanıt süresi (p50/p95) - WAF kapalıyken aynı metrikler
4) Loglama ve saklama süresi
- Engelleme logları hangi formatta?
- Ne kadar süre saklanıyor?
- Harici SIEM/izleme sistemine aktarım imkanı var mı?
5) Yanlış pozitif durumunda aksiyon hızı
Gerçek hayatta bazen meşru istekler de bloklanır. Bu durumda: - İstisna eklemek kaç dakika sürüyor? - Değişiklikler hemen mi geçerli oluyor?
Sonuç: WAF’ı “ek güvenlik” olarak, ölçerek devreye alın
WAF, web uygulamasına yönelik istekleri Layer 7 seviyesinde analiz ederek saldırıların başarılı olma ihtimalini düşürür. En güçlü yanı; SQL injection, XSS ve path traversal gibi sık görülen vektörlerde erken engelleme ve WAF loglarıyla gelişim sağlamasıdır. Ancak yanlış kural sıkılığı kullanıcı deneyimini bozar; bu yüzden log only ile başlayıp istisnaları endpoint bazında ekleyin.
Aksiyon önerim: Uygulamanızda kritik 3-5 akış (oturum, arama, form gönderimi, ödeme/webhook) için WAF’ı önce log modunda devreye alın. Ardından engelleme sebeplerini inceleyerek kuralları sıkılaştırın. NetKıyas’ta barındırma/altyapı seçeneklerini karşılaştırırken de WAF’ın yönetim kabiliyeti, loglama ve performans etkisi kriterlerini mutlaka aynı tabloda değerlendirin.
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
Bot Trading için VDS’de düşük gecikme nasıl sağlanır?
Bot trading’de düşük gecikme için VDS konum, ağ, kernel, zaman senkronu, DNS, bağlantı ayarları ve ölçüm adımlarını net biçimde görün.
Managed Dedicated Server: Uçtan Uca Yönetimin 9 Somut Avantajı
Uçtan uca yönetilen (managed) dedicated server; kurulumdan güvenliğe, yedeklemeden izlemeye kadar net avantajlarıyla operasyon maliyetini düşürür.
WordPress Staging: Hosting’de demo siteyi doğru kurma
WordPress staging (demo) siteyi hosting üzerinde nasıl oluşturacağınızı adım adım öğrenin: kopyalama, domain, test, yedek ve yayın.
Kurumsal Site Hosting: Güvenlik Kriterleri ve Net Kontrol Listesi
Kurumsal site için hosting güvenlik kriterlerini; WAF, DDoS, yedekleme, yama, erişim kontrolü ve loglama üzerinden net kontrol listesiyle inceleyin.
