Web Application Firewall Nedir?
İngilizce hali ile Web Application Firewall (WAF), Türkçe hali ile Web Uygulaması Güvenlik Duvarı, bir web hizmetine giden ve gelen HTTP trafiğini filtreleyen, izleyen ve engelleyen belirli bir uygulama güvenlik duvarı biçimidir. HTTP trafiğini inceleyerek, bir web uygulamasının SQL Enjeksiyonu, siteler arası komut dosyası çalıştırma (XSS), dosya ekleme ve uygun olmayan sistem yapılandırması gibi bilinen güvenlik açıklarından yararlanan saldırıları önleyebilir.
Tarihçesi
Özel web uygulaması güvenlik duvarları, web sunucusu saldırılarının yaygınlaştığı dönem olan 1990’ların sonlarında pazara girmiştir. WAF‘ın erken bir sürümü, Perfecto Technologies tarafından e-ticaret pazarına odaklanan ve yasadışı web sayfası karakter girişlerine karşı korunan AppShield ürünü ile geliştirilmiştir. Kavado ve Gilian teknolojilerinden diğer erken olan WAF ürünleri piyasada mevcuttu. Bu uygulamalar 90’ların sonlarında web uygulamalarına yönelik artan saldırıları engellemeye çalışmaktaydı. 2002 yılında, WAF teknolojisini daha da erişilebilir hale getirmek için açık kaynaklı ModSecurity projesi oluşturulmuştur. OASIS Web Uygulama Güvenliği Teknik Komitesi‘nin (WAS TC) güvenlik açığı çalışmasına dayalı olarak web uygulamalarını korumak için bir temel kural seti oluşturdular. 2003 yılında, web güvenlik açıkları için yıllık bir sıralama olan Open Web Application Security Project‘in (OWASP) İlk 10 Listesi aracılığıyla kurallar genişletilmiştir. Ayrıca bu kurallar birer standart haline gelmiştir. İlerleyen süreçte bu liste, web uygulaması güvenlik uyumluluğu için endüstri standardı haline gelecektir.
O zamanlardan beri pazar, özellikle kredi kartı dolandırıcılığının önlenmesine odaklanarak büyümeye ve gelişmeye devam etmiştir. Kart sahibi verileri üzerindeki kontrolün bir standardizasyonu olan Ödeme Kartı Sektörü Veri Güvenliği Standardı‘nın (PCI DSS) geliştirilmesiyle birlikte, bu sektörde güvenlik daha da fazla düzenlenmiş hale gelmiştir. CISO Magazine’e göre, WAF pazarının 2022 yılına kadar 5,48 milyar dolara ulaşması beklenmektedir.
Tanımı
Bir web uygulaması güvenlik duvarı, özellikle web uygulamaları için geçerli olan özel bir uygulama güvenlik duvarı türüdür. Web uygulamalarının önüne yerleştirilir ve çift yönlü web tabanlı (HTTP) trafiği analiz eder. Kötü amaçlı olabilecek her şeyi algılar ve engeller. OWASP, bir WAF için “teknik bir bakış açısından, uygulamanın kendisine bağlı olmayan, web uygulaması düzeyinde bir güvenlik çözümü” olarak geniş bir teknik tanım sağlar. Gereksinim 6.6 için PCI DSS Bilgi Eki’ne göre, bir WAF, “bir web uygulaması ile istemci uç noktası arasında konumlanmış bir güvenlik ilkesi uygulama noktası olarak tanımlanır. Bu işlevsellik, bir cihaz cihazında çalışan yazılım veya donanımda veya ortak bir işletim sistemi çalıştıran tipik bir sunucuda uygulanabilir. Tek başına bir cihaz olabilir veya diğer ağ bileşenlerine entegre olabilir.” Başka bir deyişle, bir WAF, web uygulamalarındaki güvenlik açıklarının dış tehditler tarafından istismar edilmesini önleyen sanal veya fiziksel bir cihaz olabilir. Bu güvenlik açıkları, uygulamanın kendisinin eski bir versiyonda olması veya tasarım gereği güvenlik açısından yetersiz kodlanmış olması olabilir. WAF, ilkeler olarak da bilinen kural kümelerinin özel yapılandırmalarıyla bu kod eksikliklerini giderir.
Daha önce bilinmeyen güvenlik açıkları, sızma testi veya bir güvenlik açığı tarayıcısı aracılığıyla keşfedilebilir. Web uygulaması güvenlik tarayıcısı olarak da bilinen bir web uygulaması güvenlik açığı tarayıcısı, SAMATE NIST 500-269‘da “potansiyel güvenlik açıkları için web uygulamalarını inceleyen otomatik bir program” olarak tanımlanır. Araçlar, web uygulamasına özgü güvenlik açıklarını aramanın yanı sıra yazılım kodlama hatalarını da arar.” Güvenlik açıklarının çözülmesine genellikle düzeltme denir. Kodda düzeltmeler uygulamada yapılabilir, ancak genellikle daha hızlı bir yanıt gerekir. Bu durumlarda, geçici ancak anında bir düzeltme (sanal yama olarak bilinir) sağlamak için benzersiz bir web uygulaması güvenlik açığı için özel bir ilkenin uygulanması gerekli olabilir.
WAF‘lar nihai bir güvenlik çözümü değildir, bunun yerine bütünsel bir savunma stratejisi sağlamak için ağ güvenlik duvarları ve izinsiz giriş önleme sistemleri gibi diğer ağ çevre güvenlik çözümleriyle birlikte kullanılması amaçlanmıştır.
WAF‘lar, SANS Enstitüsü tarafından belirtildiği gibi tipik olarak bir pozitif güvenlik modeli, bir negatif güvenlik veya her ikisinin bir kombinasyonunu takip eder. WAF‘lar, siteler arası komut dosyası çalıştırma ve SQL enjeksiyonu gibi saldırıları tespit etmek ve önlemek için kural tabanlı mantık, ayrıştırma ve imzaların bir kombinasyonunu kullanır. OWASP, ilk on web uygulaması güvenlik açığının bir listesini üretir. Tüm ticari WAF teklifleri, bu on kusuru en azından kapsar. Ticari olmayan seçenekleri de bulunmaktadır. Daha önce de bahsedildiği gibi ModSecurity adlı iyi bilinen açık kaynaklı WAF motoru bu seçeneklerden biridir. Tek başına bir WAF motoru yeterli koruma sağlamak için yetersizdir, bu nedenle OWASP ve Trustwave‘in Spiderlab‘ları, ModSecurity WAF motoruyla birlikte kullanmak için GitHub aracılığıyla bir Çekirdek Kural Seti’nin düzenlenmesine ve sürdürülmesine yardımcı olur.
Konumlandırma Seçenekleri
Çalışma modu adları farklı olsa da, WAF‘lar temel olarak üç farklı şekilde satır içi olarak dağıtılır. NSS Labs‘e göre dağıtım seçenekleri şeffaf köprü, şeffaf ters proxy ve ters proxy’dir. ‘Şeffaf’, HTTP trafiğinin doğrudan web uygulamasına gönderildiği gerçeğini ifade eder, bu nedenle WAF, istemci ve sunucu arasında şeffaftır. Bu, WAF‘ın bir proxy gibi davrandığı ve istemci trafiğinin doğrudan WAF‘a gönderildiği ters proxy’nin aksinedir. WAF daha sonra filtrelenmiş trafiği web uygulamalarına ayrı olarak gönderir. Bu, IP maskeleme gibi ek faydalar sağlayabilir ancak performans gecikmesi gibi dezavantajlara neden olabilir.