WAF (Web Application Firewall) Nedir ?


Günümüzde hemen hemen internete açık her şirket güvenlik duvarı kullanmaktadır. Kimileri bunu güvenlik amaçlı kimileri de getirdiği ek özellikler için tercih ederler. Klasik güvenlik duvarları ip adresi, port numarası, bağlantı durumu gibi bir paketi OSI katmanında 4. seviyeye kadar inceleyerek karar verirler. Bazı güvenlik duvarları yedinci katmana kadar çıkarak belirli protokoller için inceleme imkânı sunsa da günümüz için bunlar istisna sayılacak kadar azdır.
Kullanılan uygulamaları tekrar basitleştiremeyeceğimize göre bunlar için önlem almakta fayda var. Web Uygulama Guvenlik duvarı -yazıda WAF (Web Application Firewall) olarak bahsedilecektir- olarak adlandırılan sistemler karmaşıklaşan web trafiği üzerinde detaylı inceleme yaparak anormal trafiği engellemeye yarayan teknoloji olarak karşımıza çıkıyor. Kısacası HTTP/HTTPS/SOAP/XML-RPC/Web Servisleri üzerinde detaylı paket incelemesi yaparak zararlı istekleri bloklamak için kullanılan bir araç diyebiliriz.
WAF, webservera gelen HTTP isteklerini eleyerek çalışır.Hem POST hem de GET isteklerini her türlü ziyaretçinin trafiğini inceleyerek uygulanan kurallarca denetler. Website adreslerini ya da URL’leri sıradışı davranışlara karşı izler,sürpriz bir kullanıcıyla karşılaşırsa CAPTCHA’ya yönlendir, capcha doğru bir şekilde işaretledikten sonra işleme devam edilir, yok eğer yanlış cevap verirsek bot, robot, saldırgan olmamıza karşın o anki trafiğimizi bloklar. WAF çeşitli şekillerde çalışmakta olup parsing, decoding(base64) filtreleme gibi yöntemlerle faaliyet gösterir.
WAF sistemlerinin kullanımı bazı güvenlik standartları tarafından da tavsiye edilmekte.Bunların başında duruma göre WAF kullanımını zorunlu tutan PCI Veri Güvenliği standartı geliyor.
WAF kullanımı PCI DSS (6.6)’a göre zorunlu tutuluyor. Ya da kod analizi, kaynak kod incelemesi uzun vadede daha efektif bir çözüm sunsa da kısa vadede WAF çözümü daha uygun gözüküyor. Diğer yandan kaynak kod incelemesi sadece incelenen koddaki açıklıkları bulur ve düzeltilmesi için çözümler sunarken WAF ile bu açıklıklar kapatılır.

WAF için temel kavramlar/ Güvenlik Modelleri
Positive security model(Beyaz liste modeli): İzin verilen belirli işlemler hariç her şeyin engellenmesi yaklaşımı. Sadece izin verilen objelerin belirlenmesi ve geri kalanların engellenmesini öngörür. Bu modeli kullanan ürünlerde sistemi tam devreye almadan positive modeli disable etmekte fayda var, yoksa model doğası gereği izin verilmeyen tüm her şeyi engelleyecektir.
Negative security model (Kara liste modeli): Yasaklanmış belirli işlemler hariç her şeye izin verilmesidir. Sadece yasaklanan objelerin belirlenmesi ve bunların dışındakilere izin verilmesini öngörür ve nadir durumlarda kullanılan bir yaklaşımdır.
learning-based firewall: Gelen ve giden istekleri inceleyerek web sayfalarının haritasını çıkarmaya çalışır. Burada web adminlerin katkısı WAF cihazına yönlendirilir ve öğrendikleri onaylanır ya da reddedilir. Bu işlem sonrasında artık web sayfasına yapılacak yeni tip ataklar kolaylıkla önlenecektir ya da sizin haberiniz dışında çalıştırılan web siteleri ortaya çıkacaktır. Basit bir örnek verecek olursak, öğrenme sonrası http://www.example.com/~user/ dizini yasaklandıysa sonradan bu dizin altından okunmaya çalışılacak. bash_history dosyası herhangi bir incelemeye uğramadan engellenecektir ya da aynı sunucu üzerinde sizin haberiniz olmadan çalıştırılan www.xyz.com web sitesi farkedilerek engellenecektir. . Learning-based özelliği olmayan ürünlerde WAF arkasında koruma altına alınmak istenen tüm siteler tanımlanması gerekir.
Çalışma yapısı
Yerleşim senaryoları
WAF için temelde dört yerleşim senaryosu vardır. Bunlar teknik olarak inline bridge,
Offline(passive), integrated ve reverse proxy olarak adlandırılabilir. Yerleşim modeline göre
ürün tercihi yapılmalıdır.
Bridge Yerleşim Modeli
Bu yöntemde WAF cihazının web sunucuların önüne bridge modda yerleştirilerek trafiği
üzerinden geçirmesi ve incelemesi sağlanır… Bu yöntemin kullanılması durumunda ağ
cihazlarında, web sunucularda ya da dns sunucularda herhangi bir değişiklik yapılması
gerekmez.
Network tabanlı IPS benzeri bulunduğu konum üzerinden geçen tüm trafiği inline olarak alır,
inceler ve duruma göre bloklama yapar.
Tek dezavantajı sistemde yaşanacak bir arıza sonrası web trafiğinin kesilmesi olasılığıdır. Bu da ilgili cihazın fail-open(cihazda yaşanacak bir problem sonrası trafiğin akmaya devam etmesi) özellikde olması ile aşılabilir.
Offline(passive) Yerleşim Modeli
Bu yerleşim modelinde WAF Intrusion Detection System benzeri çalışır. WAF cihazı web sunucuların olduğu switch mirrorlarak ya da hub aracılığı ile bağlanır ve pasif olarak web sunuculara giden trafiğin bir kopyasını alır. Alınan kopya trafik üzerinde detaylı paket analizi yapılarak zararlı istekler için cevap üretilir, bu cevaplar TCP RST paketleridir. Burada aktif yanıt IDS sistemlerindekine benzer sorun ortaya çıkar. Saldırganın gönderdiği isteğin cevabı WAF tarafından gönderilecek TCP RST paketlerinden önce ulaşabilir ya da saldırgan http kullanarak geriye yönelik udp bağlantısı açmaya çalıştığında WAF cihazı işlevsiz kalabilir. Bu modelin kullanımında iyi karar verilmelidir ve TCP RST paketlerinin cevap paketlerinden önce hedefe ulaşması için yerleşimi iyice düşünülmelidir. Bununla birlikte canlı trafiği üzerinden geçirmediği için sistem ek bir yük getirmez, sistem için “point of failure” konumunda olmaz ve Web sunucu, DNS sunucu üzerinde ek ayar gerektirmez.
Bütünleşik Yerleşim Modeli
Bu model türü en basit WAF yerleşimidir ve tamamen çalışan işletim sistemine, web sunucusuna bağlıdır. Mesela Microsoft IIS için kullanabileceğiniz xyz ürününü Linux üzerinde ya da Windows üzerinde Apache için kullanamazsınız, benzer şekilde Apache için Kullanılan modsecurity yazılımını IIS için kullanamazsınız. Bütünleşik WAF yazılımları yerine göre avantajlı olabilmektedir. Özellikle koruyacağınız sistemlerin sayısı fazla değilse bu tip bir yazılım tercih edilebilir.
Reverse Proxy Yerleşim Modeli
Reverse Proxy yerleşim modeli bildiğimiz Proxy mantığı ile çalışır. Web sayfasına ulaşmaya çalışan tüm istemciler web sunucu yerine reverse Proxy modundaki WAF sistemine ulaşır, WAF isteği aldıktan ve gerekli incelemelerden geçirdikten sonra arkadaki web sunucuya iletir veya doğrudan isteği bloklar.
Bu model, diğerlerine göre ortamda en fazla değişiklik gerektiren modeldir. Sağlıklı çalışacak bir yapı için dns, web sunucu ve network ayarlarında değişiklik gerektirir. WAF tarafından korunmaya alınacak tüm web sayfalarının A kayıtları WAF cihazına ulaşacak şekilde değiştirilmelidir ki dns üzerinde yapılacak değişikliklerin aktif olma süresini en az 12 saat düşünürsek bu zaman dilimi içerisinde web sayfasına ulaşımda problemler yaşanabilir.
Ek olarak web sunucuya gelen her istek ve dönen her cevap WAF sistemi üzerinden geçeceği için yine diğer yerleşim yöntemlerine oranla gecikme oranı (latency) daha yüksektir. Gecikme oranı caching, l7 compression vs gibi ek özellikler kullanılarak düşürülebilir. Bununla birlikte tüm paketler WAF üzerinden onaylı geçtiğinden dolayı http istek ve cevapları üzerinde daha sıkı kontroller yapma imkânı sağlar.

Yorumlar