WAF nedir?
WAF (Web Application Firewall, web uygulaması güvenlik duvarı), web sitesine gelen HTTP ve HTTPS isteklerini inceleyerek SQL enjeksiyonu, XSS ve benzeri uygulama katmanı saldırılarını tespit edip engelleyen güvenlik çözümüdür. Klasik güvenlik duvarından farkı, trafiğin içeriğini anlamasıdır.
WAF, uygulamanın önüne yerleşir ve şüpheli istekleri uygulamaya ulaşmadan durdurur. Bu sayede koda dokunmadan, özellikle yama yapılana kadar geçici koruma sağlanabilir.
Nasıl çalışır?
WAF her isteğin başlıklarını, adresini, parametrelerini ve gövdesini kurallarla karşılaştırır. Kurallar bilinen saldırı kalıplarını tanımlar; eşleşme varsa istek engellenir, kaydedilir veya sadece uyarı üretilir. Bazı çözümler davranış analizi, IP itibar bilgisi ve istek hız sınırlaması da kullanır.
WAF üç şekilde konumlanabilir: sunucu üzerinde bir modül olarak, ters vekil (reverse proxy) olarak ya da bulut tabanlı bir hizmet olarak. Kural setinin güncel ve doğru ayarlanmış olması, başarının temel şartıdır.
Sunucu ve hosting ortamında
Apache ve Nginx üzerinde ModSecurity gibi açık kaynak motorlar yaygındır; cPanel ve Plesk gibi panellerde bu motorlar kolayca etkinleştirilebilir. Bulut tabanlı WAF hizmetleri ise DNS üzerinden trafiği kendi ağına yönlendirerek hem saldırı filtresi hem de DDoS koruması sağlar.
WAF kullanırken yanlış pozitif sorunu önemlidir; örneğin bir CMS yönetim paneli, meşru bir işlemi saldırı sanıp engelleyebilir. Bu nedenle önce izleme (yalnızca kayıt) modunda başlayıp kuralları sitenize göre ayarlamak iyi bir yaklaşımdır.
Nasıl korunulur?
- WAF’ı önce izleme modunda çalıştırıp yanlış pozitifleri ayıklayın
- Kural setini düzenli güncelleyin
- Yönetim paneli gibi hassas yollar için daha sıkı kurallar tanımlayın
- Engellenen isteklerin kayıtlarını düzenli inceleyin
- Gerçek istemci IP adresinin doğru görüldüğünü (vekil arkasında) doğrulayın
- WAF’ı uygulama yamalarının yerine değil, onlara ek olarak kullanın
Sık yapılan hatalar
- WAF’ı kurup bırakmak ve kural güncellemesi yapmamak
- Kapatılması gereken yanlış pozitif kurallar yüzünden WAF’ı tamamen devre dışı bırakmak
- Doğrudan sunucu IP adresini açıkta bırakıp WAF’ın atlanmasına izin vermek
- WAF olduğu için açık uygulamayı yamalamamak
Sık sorulan sorular
WAF ne işe yarar?
Web uygulamasına yönelik saldırı girişimlerini istek içeriğine bakarak tespit eder ve engeller. SQL enjeksiyonu, XSS ve dosya ekleme denemeleri tipik örneklerdir.
WAF ile güvenlik duvarı arasındaki fark nedir?
Güvenlik duvarı port ve adres düzeyinde çalışır. WAF ise uygulama katmanında, HTTP isteğinin içeriğine göre karar verir.
WAF kullanırsam site tamamen güvende olur mu?
Hayır. WAF önemli bir katmandır ama kusursuz değildir; yeni veya özel saldırıları kaçırabilir. Yamalar, güvenli kodlama ve güçlü kimlik doğrulama yine gereklidir.
Bu terimin geçtiği rehberler
- SQL enjeksiyonunu önleme: hazır sorgular (prepared statements) ve doğrulama (PHP PDO örnekleriyle)SQL enjeksiyonunu PHP PDO hazır sorgularıyla önleyin: parametre bağlama, beyaz liste ile ORDER BY, IN listeleri, en az yetkili veritabanı kullanıcısı ve saldırı denemesiyle doğrulama.
- Apache HTTP Server kurulumu ve sertleştirmeApache HTTP Server kurulumu ve sertleştirme: paket kurulumu, ServerTokens ve TraceEnable ayarları, dizin listelemeyi kapatma, güvenlik başlıkları ve yapılandırma testi.
- Nginx kurulumu ve sertleştirmeNginx kurulumu ve sertleştirme rehberi: paket kurulumu, sunucu sürümünü gizleme, güvenlik başlıkları, TLS ayarları, istek sınırlama ve yapılandırma testi adımları.
- WordPress giriş (brute force) saldırılarını engellemeWordPress giriş sayfasına yönelik brute force saldırılarını Fail2Ban, hız sınırlama, xmlrpc kapatma ve iki adımlı doğrulama ile engellemeyi adım adım öğrenin.
İlgili terimler
- Yama (patch)Bir açığı kapatan yazılım düzeltmesi.
- Zafiyet yönetimi (vulnerability management)Sistemlerdeki güvenlik açıklarının sürekli biçimde bulunması, önceliklendirilmesi, giderilmesi ve doğrulanması döngüsü.
- Açık taraması (vulnerability scan)Sistemlerde bilinen açıkları otomatik arayan tarama.
- Adli bilişim (digital forensics)Dijital delillerin bozulmadan toplanması, korunması ve analiz edilerek bir olayın nasıl gerçekleştiğinin ortaya çıkarılması.
- Ağ bölümleme (network segmentation)Ağı birbirinden yalıtılmış bölgelere ayırarak bir ihlalin yayılmasını ve saldırı yüzeyini sınırlama yaklaşımı.
- Bug bounty (açık ödül programı)Güvenlik araştırmacılarının bulduğu açıkları ödül karşılığı bildirmesi.