Web uygulaması güvenlik duvarı yani web application firewall, sunucuları bir web uygulamasının güvenlik açıklarından yararlanabilecek olası siber saldırılardan koruyan, ticari kullanıma yönelik bir ağ güvenlik çözümüdür.
WAF, bir dizi kurala göre web ile web uygulamanız arasındaki HTTPS ağ trafiğini izleyen, filtreleyen veya engelleyen bir tür ters proxy güvenlik duvarıdır. Özellikle HTTPS ve SSL protokolleri aracılığıyla web trafiğini inceler ve yük dengelemeye yardımcı olabilir.
Web uygulaması güvenlik duvarları, web uygulamalarınızın sunucularını kimlik avı, kötü amaçlı yükler ve fidye yazılımı gibi her türlü saldırıya karşı korumak ve aynı zamanda yetkisiz verilerin web uygulamasından çıkmasını önlemek için tasarlanmıştır.
Web Uygulaması Güvenlik Duvarı Nasıl Çalışır?
Bir WAF ters proxy gibi çalışır. Proxy’ler temel olarak, kendisini istemci ve sunucu makineleri arasındaki veri akışlarının ortasında konumlandırarak istemci makinelerin kimliklerini web sunucularından korur. Bir WAF için koruma ters yöndedir. Sunucuyu istemcilerden kaynaklanan potansiyel olarak kötü amaçlı trafikten korumak için sunucu ve istemci makineler arasındaki veri akışlarının ortasında konumlanır.
Kötü amaçlı istemcilerin web uygulamalarında başlatabileceği saldırılardan bazıları arasında siteler arası komut dosyası çalıştırma (XSS), siteler arası sahtecilik, SQL enjeksiyonu ve dosya ekleme yer alır. Bu tür saldırıları önlemek için bir WAF, veri paketlerinin güvenli olduğundan emin olmak için bir web sunucusuna giren ve çıkan her bir veri paketini izler ve inceler.
WAF’ler, kötü amaçlı trafiğin ve güvenli trafiğin nasıl göründüğünü belirleyen ilkeler aracılığıyla çalışır. Genel olarak, bu politikalar iki kategoriye ayrılır: Bilinen saldırılara benzeyen trafiğin WAF üzerinden geçişine izin verilmeyen bir blok modeli ve önceden onaylanmış trafiğin geçişine izin verileceği bir izin verme modeli. Çoğu WAF, sadece tek bir modelden gelen politikalara bağlı değildir, çünkü her modelin kendine özgü zayıflıkları vardır. Bu nedenle, WAF’lar maksimum etkinlik için hem engelleme hem de izin verme politikalarına sahip hibrit bir model kullanma eğilimindedir.
Güvenlik Duvarı Türleri
Güvenlik duvarlarını sınıflandırmanın birçok yolu vardır. Ancak veri paketlerini nasıl filtrelediklerine ve kullanım durumlarına göre altı tür güvenlik duvarı bulunur.
1. Paket Filtreleme
Bu güvenlik duvarları, bir ağa giren ve çıkan her veri paketinin teknik özelliklerini denetler. Belirli kural kümeleri ve kalıpları karşılamayan veya kara listeye alınmış parametrelerle eşleşip eşleşmeyen uyumsuz veri paketlerini filtreler.
2. SPIs (Stateful Packet Inspection)
SPI olarak da adlandırılan dynamic packet filtering, bir ağ katmanında çalışan güvenlik duvarlarıdır. Normal paket filtrelerinin aksine, birden fazla paket arasında dağılabilecek saldırıları önlemek için her paketi ayrı ayrı kaydeder.
3. Proxy Sunucu Güvenlik Duvarları
Web uygulaması güvenlik duvarları veya uygulama düzeyinde ağ geçidi olarak da adlandırılan proxy sunucu güvenlik duvarları, ağ katmanı yerine uygulama katmanında çalışır. Trafik, sunucuya ulaşmadan önce WAF üzerinden yönlendirildiğinden, WAF’ler korumalı sunucunun IP adresini atanmış adresleriyle değiştirir.
4. Devre Düzeyinde Ağ Geçidi
İstenen bir oturumun geçerli olup olmadığını belirlemek için UDP (Kullanıcı Datagram Protokolü) ağ güvenliği sağlayarak, TCP (İletim Kontrol Protokolü) aktararak ve güvenilir sunucular ile güvenilmeyen ana bilgisayarlar arasındaki TCP anlaşmasını izleyerek ağ trafiğini kontrol eder. Uygulama ağ geçitlerinin aksine, devre düzeyindeki ağ geçitleri, OSI modelinin uygulama düzeyi katmanı ile aktarım düzeyi katmanı arasında bulunan oturum düzeyindeki katmanında çalışır.
5. Yeni Nesil Güvenlik Duvarı
Yeni nesil güvenlik duvarları veya NGFW’ler teknikleri birleştirir ve virüsten koruma, kötü amaçlı yazılımdan koruma ve URL filtreleme gibi özellikleri kullanabilir. NGFW’ler ağ güvenliğine daha fazla bağlam ekler ve internet ile ağınız arasındaki ağ geçidine yerleştirilir. Sadece paketleri denetlemek yerine internete (web siteleri, e-posta hesapları ve SaaS) giden ağ etkinliğini izler ve kaydeder.
Veri paketi filtreleme, durum denetimi veya diğer NGFW (Yeni Nesil Güvenlik Duvarları), sistemi web tabanlı saldırılardan koruyamaz. WAF’leri diğer güvenlik duvarı türlerinden ayıran şey budur.
6. IPS (İzinsiz Giriş Önleme Sistemleri)
WAF’ler ve yeni nesil güvenlik duvarlarının (NGFW’ler) yanı sıra, saldırı önleme sistemleri gibi siber savunma sistemlerini geliştiren başka ağ koruma kategorileri de vardır.
Bir IPS veya saldırı önleme sistemi, daha geniş odaklı bir güvenlik çözümüdür. Yalnızca şüpheli etkinlikleri algılayan Saldırı Tespit Sisteminin (IDS) yükseltilmiş bir güvenlik biçimidir.
İlkeler ve veri tabanı imzalarına bağlı olarak, yeni güvenlik açıkları ortaya çıktıkça imzalar ve ilkeler düzenli olarak güncellenir.
IPS temel olarak ağ ve oturum Katman 3 ve 4’ü çalıştırır ve korur, ancak bazı IPS uygulama katmanında (Katman 7) sınırlı koruma sağlayabilir.
IPS, DNS (Alan Adı Sistemi), FTP (Dosya Aktarım Protokolü), RDP (Uzak Masaüstü Protokolü), SSH (Güvenli Kabuk), SMTP (Basit Posta Aktarım Protokolü) ve TELNET gibi geniş bir protokol yelpazesinde trafiği korumaya hizmet eder.
Bir Web Uygulaması Güvenlik Duvarı Nasıl Dağıtılır?
Bir WAF, yazılım veya donanım aracılığıyla dağıtılabilir veya belirli bir işletim sistemindeki bir sunucu aracılığıyla diğer ağ bileşenlerine entegre edilebilir.
Çalışma modları farklı olsa da, WAF dağıtım modelleri aşağıdaki şekildedir:
1. Donanım Tabanlı WAF
Bazen ağ tabanlı güvenlik duvarları olarak adlandırılan donanım tabanlı (cihaz tabanlı) WAF’ler, bir ağ içindeki cihazlar ile dışarıdaki cihazlar arasında güvenli bir ağ geçidi görevi gören bağımsız cihazlardır. Birden fazla cihazı korumaya çalışan büyük şirketler için idealdir, ana cihazların diğer kaynaklarının işlem gücünü fazla tüketmezler.
Ana bilgisayar tabanlı güvenlik duvarlarının aksine, şirket içi cihazlar olarak kurulur ve düşük gecikme süresiyle çalışırlar, ancak kurulumları, yapılandırmaları ve bakımları zordur.
2. Yazılım Tabanlı WAF
Yazılım tabanlı (ana bilgisayar tabanlı) WAF’ler, sunucular üzerinde çalışan, özelleştirilebilen ve bir şirketin uygulama koduna tamamen entegre edilebilen, uygun maliyetli fiyatlandırmaya sahip güvenlik duvarlarıdır. Uygulama sunucunuzda belirli kitaplıklar gerektirirler, her cihazda ayrı ayrı kurulmaları gerekir ve düzgün çalışması için daha fazla sunucu kaynağı (CPU ve RAM) kullanırlar. Ana bilgisayar tabanlı WAF’lerin düzgün çalışması için daha fazla kaynak ve geliştirici (Yazılım Geliştirme ve BT İşlemleri) uzmanlığı gerekir.
3. Bulut Tabanlı WAF
Bulut tabanlı, buluta özgü veya bulutta barındırılan güvenlik duvarları, güvenlik hizmeti sağlayıcıları tarafından MSSP ile yönetilebilen güvenlik duvarları olarak bilinir. Bu, onları sıkı güvenlik arayan büyük işletmeler ve WAF’lerde yetersiz uzmanlığa sahip küçük şirketler için mükemmel bir seçim haline getirir.
Diğer türlerin aksine, bulut tabanlı bir güvenlik duvarı hizmeti, dahili ağ iş yüklerini ve üçüncü taraf isteğe bağlı ortamları izleyebilir. Bulut tabanlı güvenlik duvarları, gelişmiş bir tehdit istihbaratı ile çalışır ve bir saldırı sırasında gerçek zamanlı izleme sunar.
WAF İşletmenizi Neye Karşı Korur?
Bir WAF, işletmenizin sunucusunu ve içeriğini web tabanlı siber güvenlik tehditlerinden koruyabilir.
Bir HTTP uygulama katmanında hassas uygulama verilerinin daha iyi izlemesini sundukları için geleneksel güvenlik duvarlarına göre daha çok avantajları vardır.
Owasp.org’a göre en kritik web uygulaması güvenlik risklerinin listesi aşağıdaki şekildedir:
- Dosya ekleme
- Uygun olmayan sistem yapılandırması
- Yama sorunları
- Bulut güvenlik açıkları
- Hassas verilerin açığa çıkması vb.
Bunların tümü, uygulamaları hedef alabilen potansiyel güvenlik açıklarıdır. En yaygın saldırılar ise aşağıdakileri içerir:
1. Numaralandırma Saldırıları (Enumeration Attacks)
İyi planlanmış ve hesaplanmış bir numaralandırma saldırısı, DNS ayrıntılarını ve kullanıcı adlarını ortaya çıkarabilir ve hatta ağın diğer tehditlere karşı savunmasız olabilecek zayıf ayar yapılandırmalarına sahip olup olmadığını kontrol edebilir.
Giriş sayfası ve şifre sıfırlama sayfası en çok hedeflenen kısımlardır.
2. SQL (Yapılandırılmış Sorgu Dili)
Yapılandırılmış sorgu dili saldırıları veya SQL enjeksiyon saldırıları, siber suçluların kullanıcı kimlik doğrulaması yoluyla zararlı SQL ifadeleri ve sorguları yürütmesine olanak tanır.
SQL veri tabanına sahip web uygulamaları bu saldırıya açıktır. Bilgisayar korsanları, web sayfası kimlik doğrulamasını atlayarak bir SQL veri tabanındaki içeriği çalabilir, değiştirebilir ve kurcalayabilir.
SQL enjeksiyon saldırısı, 2017 için OWASP’ın web uygulamalarına yönelik en büyük 10 tehdit listesinde yer almaktadır.
Ancak, SQL enjeksiyon güvenlik açığı açık kaynak kodundaysa, sWAF’lar daha yeni güvenlik açıklarına karşı geçici koruma sağlayabilir.
İlgili İçerik: SQL Nedir? SQL Ne İçin Kullanılır?
3. XSS (Siteler Arası Komut Dosyası Çalıştırma)
Siteler arası komut dosyası çalıştırma veya XSS, bilgisayar korsanlarının HTML kodu aracılığıyla komut dosyalarını başka bir kullanıcının web tarayıcısı giriş alanına enjekte etmesi ve yürütmesidir. Bu, bilgisayar korsanının kimliği doğrulanmış bir kullanıcı gibi görünmesine izin verir.
İlgili İçerik: XSS Nedir? Cross-Site Scripting Zafiyeti Nasıl Giderilir?
4. Doğrudan Hizmet Reddi
Doğrudan bir hizmet reddi veya bir DDoS saldırısı, trafiğini gereksiz isteklerle doldurarak, hedefin kaynaklarını etkili bir şekilde tüketir ve ağı kullanılamaz hale getirerek bir ağı aşırı yüklemeye çalışır.
5. Dağıtılmış Hizmet Reddi
Dağıtılmış hizmet reddi veya DDoS saldırıları, bir ağı kullanıcılarına hizmet veremeyene kadar trafikle doldurarak bunaltır. İstekler aynı anda birden çok kaynaktan gelir ve bu da sistemin zamanında bir siber güvenlik yanıtı yürütmesini çok zorlaştırır.
Hem ağ güvenlik duvarları hem de WAF’ler bu saldırı tipini kaldırabilir.
6. Uygulama Katmanı Saldırıları
En yaygın ve tehlikeli tehditlerden biri, paketlerde yüksek trafiğin olduğu OSI modelinin en üstünü hedefleyen 7. katman için DDoS saldırısıdır.
7. katman için DDoS saldırısı, HTTP isteklerine yanıt olarak web sayfalarının oluşturulduğu ve teslim edildiği sunucu katmanına bir trafik akışı gönderir. Temel olarak, yinelemeli uygulama etkinliği ile bir web sunucusunu boğar.
Bir WAF, bir ters proxy görevi görerek ve bir DDoS tehdidini belirlemek için istekleri filtreleyerek, 7. katman için DDoS saldırılarının hafifletilmesine yardımcı olabilir ve sunucuyu kötü niyetli trafikten koruyabilir.
Neden WAF Kullanmalısınız?
Siber saldırıların gelişmesi ve giderek daha karmaşık hale gelmesiyle birlikte, işletmeler ve kuruluşlar en son tehditlerle başa çıkmak ve değerli verilerini kötü niyetli saldırılardan korumak için yeni yollar bulmak zorundadır.
Bu noktada bir WAF çözümü, veri sızıntısını önleyerek bir işletmenin ağ güvenlik stratejisinin önemli bir bileşeni olabilir. Fakat antivirüs yazılımı gibi bir WAF’ın da en son siber güvenlik geliştirmeleriyle revize edilmesi, sürdürülmesi ve güncellenmesi gerekir.
Web uygulamaları ve API’ler (uygulama programlama arayüzleri) aracılığıyla işlem yapan finansal kuruluşlar ve diğer e-ticaret şirketleri, WAF’lerden büyük ölçüde yararlanabilir. Bir WAF, PCI DSS (Payment Card Industry Data Security Standards), CHD (cardholder data) koruması ve diğer politika ve uyumlulukları karşılamalarına yardımcı olabilir.
Web uygulaması güvenlik duvarları belirli işletmeler için maliyetli ve karmaşık olabilse de, nasıl çalıştıklarını, diğer güvenlik duvarlarından nasıl farklı olduklarını ve koruma potansiyellerini en üst düzeye çıkarmak istiyorsanız nasıl uygulanabileceklerini anlamanız çok önemlidir.