- Konu sahibi
- #1
WAF (Web Application Firewall), web uygulamasına gelen HTTP ve HTTPS isteklerini uygulamaya ulaşmadan önce inceleyen güvenlik katmanıdır. İsteklerde saldırı belirtisi görülürse isteği engelleyebilir, kayda alabilir veya izleme amacıyla yalnızca raporlayabilir. SQL injection, XSS, kötü amaçlı dosya yükleme denemeleri ve bazı bot davranışları gibi uygulama katmanı tehditlerini azaltır; ancak güvenlik açığını kaynak koddan kaldırmaz ve tek başına sunucu güvenliğinin yerine geçmez.
WAF ters vekil/CDN üzerinde, ağ aygıtında veya sunucuya entegre modül olarak çalışabilir. HTTPS içeriğini incelemek için TLS’nin uygun noktada çözülmesi gerekir; uçtan uca şifreli gövdeyi şifresini çözmeden okuyamaz. İstemcinin isteği önce WAF'a gelir; WAF URL yolunu, HTTP metodunu, başlıkları, çerezleri, sorgu parametrelerini ve istek gövdesini kurallar üzerinden değerlendirir. Uygun görülen istek web sunucusuna iletilir, şüpheli istek ise yapılandırmaya göre engellenir, ek doğrulamaya yönlendirilir veya loglanır.
Örneğin saldırgan, ürün arama parametresine veritabanı sorgusunu değiştirmeyi amaçlayan özel karakterler ve komut parçaları gönderirse WAF bunu bilinen bir saldırı örüntüsüyle eşleştirebilir. WAF isteği engellese bile uygulamadaki SQL injection açığı hâlâ vardır; kalıcı çözüm, sorguların parametreli hazırlanması ve uygulama kodunun düzeltilmesidir.
Aşağıdaki ayrım, WAF'ı yanlış beklentiyle konumlandırmayı önler.
WAF'ın katkısı en yüksek, internete açık giriş noktaları iyi tanımlanmış uygulamalarda görülür. Yönetim paneli, giriş servisi, dosya yükleme uç noktası ve API gibi bölümler için genel kuralların yanında uygulamaya özel kurallar gerekebilir. Normal kullanıcıların gönderdiği JSON, HTML veya özel karakterler yanlışlıkla engellenebileceğinden her kural doğrudan engelleme modunda başlatılmamalıdır.
İnceleme kapsamı ürün, plan ve yapılandırmaya bağlıdır. Gövde boyutu, dosya/JSON biçimi veya işleme aşaması nedeniyle isteğin tamamı incelenmeyebilir. Rate limit, bot yönetimi ve DDoS koruması aynı üründe ayrı özellikler olabilir; WAF adı bunların tümünü otomatik etkin kılmaz. Kimlik doğrulama/nesne yetkilendirmesi ve iş mantığı açıkları için uygulama denetimi gerekir.
WAF'ı güvenli kod yerine koymak: Filtreler atlatılabilir veya yanlış yapılandırılabilir. Girdi doğrulama, çıktı kodlama, güvenli sorgu kullanımı, güncel bağımlılıklar ve doğru yetkilendirme ayrıca uygulanmalıdır.
Her şeyi engellemek: Aşırı katı kurallar arama, JSON API veya dosya yükleme gibi meşru işlevleri bozabilir. Önce loglama, ardından dar kapsamlı ayar ve kontrollü test daha güvenlidir.
Logları incelememek: WAF'ın engelleme sayısı güvenlik başarısının tek ölçüsü değildir. Hangi uç noktanın hedeflendiği, tekrar eden kaynaklar ve uygulama yanıtları birlikte değerlendirilmelidir.
Origin’e doğrudan erişimi açık bırakmak: Ters vekil kullanılıyorsa uygulama sunucusunun yalnızca beklenen WAF kaynaklarından trafik kabul etmesi ve istemci IP'si başlıklarının güvenilir biçimde ele alınması gerekir. Aksi durumda saldırgan sahte istemci bilgileri gönderebilir veya WAF'ı atlayabilir.
Hayır. Ağ güvenlik duvarı çoğunlukla IP, port ve ağ erişimini denetler; WAF ise web uygulamasına ait HTTP ve HTTPS isteklerinin içeriğini değerlendirir. İki katman farklı riskleri azaltır.
Hayır. Yanlış yapılandırma, yeni saldırı teknikleri, kimlik bilgisi hırsızlığı ve uygulamanın kendi yetkilendirme hataları WAF tarafından tamamen çözülemeyebilir. WAF, katmanlı güvenliğin bir parçasıdır.
Evet. WAF geçici bir telafi ve ek savunma katmanı olabilir; kök neden kaynak kodda, yapılandırmada veya bağımlılıkta bulunuyorsa düzeltilmeli ve sonrasında kuralın hâlâ gerekli olup olmadığı yeniden değerlendirilmelidir.
WAF nasıl çalışır?
WAF ters vekil/CDN üzerinde, ağ aygıtında veya sunucuya entegre modül olarak çalışabilir. HTTPS içeriğini incelemek için TLS’nin uygun noktada çözülmesi gerekir; uçtan uca şifreli gövdeyi şifresini çözmeden okuyamaz. İstemcinin isteği önce WAF'a gelir; WAF URL yolunu, HTTP metodunu, başlıkları, çerezleri, sorgu parametrelerini ve istek gövdesini kurallar üzerinden değerlendirir. Uygun görülen istek web sunucusuna iletilir, şüpheli istek ise yapılandırmaya göre engellenir, ek doğrulamaya yönlendirilir veya loglanır.
Örneğin saldırgan, ürün arama parametresine veritabanı sorgusunu değiştirmeyi amaçlayan özel karakterler ve komut parçaları gönderirse WAF bunu bilinen bir saldırı örüntüsüyle eşleştirebilir. WAF isteği engellese bile uygulamadaki SQL injection açığı hâlâ vardır; kalıcı çözüm, sorguların parametreli hazırlanması ve uygulama kodunun düzeltilmesidir.
WAF neyi çözer, neyi çözmez?
Aşağıdaki ayrım, WAF'ı yanlış beklentiyle konumlandırmayı önler.
| İşlev | Örnek | Sonuç | Sınır |
|---|---|---|---|
| İstek filtreleme | Şüpheli sorgu parametresi | İstek engellenir veya kayda alınır | Yeni ya da gizlenmiş saldırıyı kaçırabilir |
| Kural tabanlı koruma | Yaygın injection ve XSS örüntüleri | Bilinen kalıplar erken durdurulur | Yanlış pozitif üretebilir |
| Oran ve bot kontrolü | Aynı uç noktaya aşırı istek | Kaynak tüketimi azaltılır | Her DDoS türünü karşılamaz |
| Loglama | Engellenen istek ayrıntıları | İnceleme için kanıt oluşur | Log tek başına açığı düzeltmez |
WAF'ın katkısı en yüksek, internete açık giriş noktaları iyi tanımlanmış uygulamalarda görülür. Yönetim paneli, giriş servisi, dosya yükleme uç noktası ve API gibi bölümler için genel kuralların yanında uygulamaya özel kurallar gerekebilir. Normal kullanıcıların gönderdiği JSON, HTML veya özel karakterler yanlışlıkla engellenebileceğinden her kural doğrudan engelleme modunda başlatılmamalıdır.
Uygularken izlenecek yol
- Ön koşulları belirleyin: Alan adının trafiği WAF üzerinden geçmeli, WAF'ın uygulama sunucusuna ulaşabilmesi ve HTTPS trafiğinde sertifika/TLS düzeninin doğru çalışması sağlanmalıdır. WAF arada değilse gelen istekleri inceleyemez.
- Uygulamanın normal isteklerini çıkarın: Kullanılan alan adlarını, API yollarını, HTTP metotlarını, dosya yükleme noktalarını ve yönetim ekranlarını listeleyin. Sağlık kontrolü ve webhook gibi otomatik istekleri de ayırın.
- Temel kuralları önce izleme modunda çalıştırın: Engellenen veya şüpheli olarak işaretlenen istekleri loglardan inceleyin. Gerçek kullanıcı isteği ile saldırı denemesini ayırmadan istisna tanımlamayın.
- Gerekli istisnaları dar kapsamlı yazın: Tüm WAF'ı kapatmak yerine yalnızca ilgili yol, parametre veya istek türü için istisna kullanın. İstisnayı gerekçesi ve sahibiyle birlikte kaydedin.
- Korumayı kademeli olarak etkinleştirin: Önce açıkça kötü niyetli ve doğrulanabilir kalıpları engelleyin; ardından kritik uç noktalar için oran, bot veya erişim kuralları ekleyin.
- Sonucu doğrulayın: Başarılı giriş, arama, ödeme, dosya yükleme ve API çağrılarını normal kullanıcı akışında test edin. Engellenen isteğin logunu uygulama loguyla karşılaştırın; gerçek bir saldırı şüphesi varsa uygulama açığını ayrıca düzeltin.
İnceleme kapsamı ürün, plan ve yapılandırmaya bağlıdır. Gövde boyutu, dosya/JSON biçimi veya işleme aşaması nedeniyle isteğin tamamı incelenmeyebilir. Rate limit, bot yönetimi ve DDoS koruması aynı üründe ayrı özellikler olabilir; WAF adı bunların tümünü otomatik etkin kılmaz. Kimlik doğrulama/nesne yetkilendirmesi ve iş mantığı açıkları için uygulama denetimi gerekir.
Sık yapılan hatalar
WAF'ı güvenli kod yerine koymak: Filtreler atlatılabilir veya yanlış yapılandırılabilir. Girdi doğrulama, çıktı kodlama, güvenli sorgu kullanımı, güncel bağımlılıklar ve doğru yetkilendirme ayrıca uygulanmalıdır.
Her şeyi engellemek: Aşırı katı kurallar arama, JSON API veya dosya yükleme gibi meşru işlevleri bozabilir. Önce loglama, ardından dar kapsamlı ayar ve kontrollü test daha güvenlidir.
Logları incelememek: WAF'ın engelleme sayısı güvenlik başarısının tek ölçüsü değildir. Hangi uç noktanın hedeflendiği, tekrar eden kaynaklar ve uygulama yanıtları birlikte değerlendirilmelidir.
Origin’e doğrudan erişimi açık bırakmak: Ters vekil kullanılıyorsa uygulama sunucusunun yalnızca beklenen WAF kaynaklarından trafik kabul etmesi ve istemci IP'si başlıklarının güvenilir biçimde ele alınması gerekir. Aksi durumda saldırgan sahte istemci bilgileri gönderebilir veya WAF'ı atlayabilir.
Kaynaklar
Sık sorulan sorular
WAF ile güvenlik duvarı aynı şey midir?
Hayır. Ağ güvenlik duvarı çoğunlukla IP, port ve ağ erişimini denetler; WAF ise web uygulamasına ait HTTP ve HTTPS isteklerinin içeriğini değerlendirir. İki katman farklı riskleri azaltır.
WAF tüm saldırıları durdurur mu?
Hayır. Yanlış yapılandırma, yeni saldırı teknikleri, kimlik bilgisi hırsızlığı ve uygulamanın kendi yetkilendirme hataları WAF tarafından tamamen çözülemeyebilir. WAF, katmanlı güvenliğin bir parçasıdır.
WAF kullanınca uygulamadaki açığı kapatmak gerekir mi?
Evet. WAF geçici bir telafi ve ek savunma katmanı olabilir; kök neden kaynak kodda, yapılandırmada veya bağımlılıkta bulunuyorsa düzeltilmeli ve sonrasında kuralın hâlâ gerekli olup olmadığı yeniden değerlendirilmelidir.