# Uygulama katmanı güvenlik duvarı
Uygulama güvenlik duvarı (İngilizce: Application Firewall), girdi ve çıktıları bir uygulama veya hizmetle denetleyen bir güvenlik duvarı biçimidir . Güvenlik duvarının gerekliliklerini karşılamayan girdi,çıktı ve sistem servis çağrılarını engelleyerek çalışır. OSI Modelindeuygulama katmanı düzeyinde çalışır. OSI katmanı üzerindeki tüm ağ trafiğini uygulama katmanında kontrol etmek için oluşturulmuştur. Belirli bir uygulama olmadan ilgili ağ trafiğini kontrol edemeyen durumlu ağ güvenlik duvarının aksine, uygulamaları veya hizmetleri kontrol edebilir. Uygulama güvenlik duvarları, ağ tabanlı uygulama güvenlik duvarları ve bilgisayar tabanlı uygulama güvenlik duvarları olmak üzere ikiye ayrılır.


## Ağ tabanlı uygulama güvenlik duvarı.
Ağ tabanlı bir uygulama katmanı güvenlik duvarı, bir iletişim kuralı yığınının uygulama katmanında çalışan bir bilgisayar ağı güvenlik duvarıdır aynı zamanda proxy tabanlı veya ters proxy güvenlik duvarı olarak da bilinir. Belirli bir ağ trafiğine özgü uygulama güvenlik duvarları adıyla da adlandırılırlar, (Ağ uygulaması güvenlik duvarı) buna bir örnektir. Bilgisayarda çalışan bir yazılım veya bağımsız bir ağ donanımı parçası aracılığıyla uygulanabilirler. Genellikle, bilgisayar tabanlı çeşitli proxy sunucu formları kullanılarak, ağ trafiği, kullanıcı veya sunucuya geçmeden proxy sunucular tarafından denetlenir. Uygulama katmanı üzerinde çalıştığı için, trafik içeriğini denetleyebilir, engellenmiş zararlı içerikleri engelleyebilir (web siteleri, virüsler, istemci tarafındaki zararlı mantıksal akışlar gibi).
Modern uygulama güvenlik duvarlarında, şifreleme işlemleri sunucularda yapılmayabilir, algılanan müdahalelerden veya zararlı iletişimden uygulama girdi / çıktısını engelleyebilir, kimlik doğrulamayı yönetebilir,konsolide edebilir veya ilkeleri ihlal eden içeriği engelleyebilir.


### Tarih.
Purdue Üniversitesi'nden Gene Spafford, AT & T Laboratuvarlarından Bill Cheswick ve Marcus Ranum, uygulama katmanı güvenlik duvarı olarak bilinen üçüncü jenerasyon güvenlik duvarını tanımladılar. Markus Ranum'un Paul Vixie, Brian Reed ve Jeff Mogul tarafından geliştirilen güvenlik duvarı üzerine olan çalışması ilk ticari ürünün yaratılmasına öncülük etti. Ürün DEC tarafından çıkarıldı, Geoff Mulligan tarafından DEC SEAL olarak isimlendirildi. DEC'in ilk büyük satışı 13 Haziran 1991'de ABD'nin Doğu kıyısında bulunan bir kimya şirketine yapıldı.
TIS'teki DARPA sözleşmesi uyarınca, Marcus Ranum, Wei Xu ve Peter Churchyard  Firewall Toolkit (FWTK) denilen güvenlik duvarını geliştirdiler, ve 1 Ekim 1993 tarihinde lisanslı olarak kullanılabilir hale getirildi. Ürünün ticari amaç yerine serbestçe temin edilebilmesinin amaçları şunlardı; Yazılım, dokümantasyon ve kullanılan yöntemler vasıtasıyla, (halihazırda) resmi güvenlik yöntemlerinde 11 yıllık tecrübeye sahip bir şirketin bu deneyimlerini geliştiricilere aktararak, başkalarının inşa edeceği güvenlik yazılımları için ortak taban oluşturmak(böylece insanlar "sıfırdan" bu işe başlamak zorunda kalmazlar), güvenlik duvarının sınırlarını görüp bu sınırları ve güvenilirliği artırmak amaçlanmıştır. Ancak FWTK, kullanıcı etkileşimleri gerektiren basit bir uygulama proxy'si idi.
1994 yılında Wei Xu FWTK'yi çekirdek'te bazı geliştirmeler(IP durumlu filtre geliştirmesi ve socket sadeleştirme) yaparak FWTK'yi bir üst noktaya taşıdı.Bu, Gauntlet güvenlik duvarı olarak bilinen ticari ürün olarak piyasaya sürülen geleneksel bir uygulama proxy'sinin (ikinci nesil güvenlik duvarı) ötesinde, üçüncü nesil güvenlik duvarının başlangıcı olarak bilinen ilk şeffaf güvenlik duvarıydı. Gauntlet güvenlik duvarı, 1995 yılından 1998 yılına kadar Network Associates Inc (NAI) tarafından satın alındığı yılın en iyi uygulama güvenlik duvarlarından biri olarak derecelendirildi.
Uygulama katmanı filtrelemesinin en önemli özelliği, bazı uygulamaları ve protokolleri (Dosya Aktarım Protokolü, DNS veya web tarama gibi) anlayabilmesi, bir protokolün herhangi bir zararlı şekilde kötüye kullanılıp kullanılmadığını,istenmeyen bir protokolün standart olmayan bir bağlantı noktasına sızma olup olmadığını tespit edebilmesidir.


## Bilgisayar tabanlı uygulama güvenlik duvarı.
Bilgisayar tabanlı bir uygulama güvenlik duvarı, herhangi bir uygulama girdisi, çıktısı veya sistem hizmeti çağrısını, bir uygulama ile veya bir uygulama tarafından izleyebilir. Bu, bir ağ yığını yerine veya ağ yığınına ek olarak sistem çağrılarıyla iletilen bilgileri inceleyerek yapılır. Bir bilgisayar tabanlı uygulama güvenlik duvarı, yalnızca aynı bilgisayarda çalışan uygulamalara koruma sağlayabilir.
Uygulama güvenlik duvarları, bir işlemin belirli bir bağlantıyı kabul edip etmeyeceğini belirleyerek çalışır.Uygulama güvenlik duvarları, uygulama katmanı ile OSI modelinin alt katmanları arasındaki bağlantıları filtrelemek için soket çağrılarını dinleyerek işlevlerini yerine getirirler. Soket çağrılarını dinleyen uygulama güvenlik duvarları aynı zamanda soket filtreleri olarak da adlandırılır. Uygulama güvenlik duvarları bir paket filtresi gibi çalışır, ancak uygulama filtreleri, bağlantıları bağlantı noktası bazında filtrelemek yerine işlem bazında filtreleyerek (izin ver / engelle) çalışır. Genellikle, istemler, henüz bir bağlantı almamış işlemler için kural tanımlamak amaçlı kullanılır. Paket filtresi ile birlikte kullanılmayan uygulama güvenlik duvarları çok az sayıdadır.
Ayrıca, uygulama güvenlik duvarları, veri aktarımında yer alan yerel işlemler için bir protokol(kural) kümesine karşı veri paketlerinin ID'sini inceleyerek bağlantıları bir katman daha filtrelemektedir. Oluşan filtrelemenin kapsamı, verilen protokol kümesi tarafından tanımlanır. Var olan yazılım çeşitliliği göz önüne alındığında, uygulama güvenlik duvarlarının yalnızca standart hizmetler(paylaşım hizmetleri vs..) için daha karmaşık protokol kümeleri vardır. Her İşlem için olan kural kümeleri, diğer işlemlerle oluşabilecek olası tüm ilişkilendirmelerin filtrelenmesinde sınırlı etkinliğe sahiptir. Ayrıca bu kurallar, işlemin bellek bozulması istismarları(memory corruption exploit) gibi  saldırılara karşı savunmasızdır.
Bilgisayar tabanlı uygulama güvenlik duvarları ayrıca ağ tabanlı uygulama güvenlik duvarının özelliklerine de sahiptir.
Korumalı sistemler(sandboxing), dosya erişimini, süreç erişimlerini ve ağ erişimini denetleyebilir. Ticari korumalı(sandboxing) sistemler hem Windows hem de Unix tipi işletim sistemleri için mevcuttur.


## Örnekler.
Daha iyi anlaşılması açısından spesifik uygulama güvenlik duvarı örnekleri belirtilmiştir.


## Uygulamalar.
Açık kaynak kodlu veya ticari amaçlı birçok çeşit uygulama güvenlik duvarı mevcuttur.


### Mac OS X.
Mac OS X, FreeBSD'den alınan TrustedBSD MAC çalışma çatısının gerçeklemesini(implementation) içerir. TrustedBSD MAC çalışma çatısı, bazı Linux dağıtımlarında bulunan korumalı servis alanları için AppArmor'un kullanıldığı gibi, mDNSresponder gibi bazı hizmetleri korumak için kullanılır. TrustedBSD MAC çalışma çatısı, Mac OS X Leopard ve Snow Leopard'daki paylaşım servislerinin varsayılan yapılandırması göz önüne alındığında varsayılan bir güvenlik duvarı katmanı sağlar.
Leopard ile başlayan, Mac OS X güvenlik tercihlerinde bulunan Uygulama güvenlik duvarı, güvenlik duvarı listesine eklenen kod imzalama uygulamalarının kullanımı yoluyla bu tür bir güvenlik duvarının işlevselliğini sağlar. Genellikle, bu uygulama güvenlik duvarı yalnızca gelen bağlantıların güvenlik duvarı listesinde bir uygulamaya yönlendirilip yönlendirilmediğini kontrol ederek ağ bağlantılarını yönetir ve bu uygulamalar için belirtilen kuralları (engelle / izin ver) uygular.


### Linux.
Aşağıdaki liste Linux için güvenlik yazılım paketlerinin bir listesi olup, uygulamanın OS ile iletişimine filtrelemesine, kullanıcı düzeyinde filtrelemeye izin verir.
  - Kerio Control - ticari ürün
  - AppArmor
  - ModSecurity - Windows, Mac OS X, Solaris ve diğer Unix versiyonları altında çalışır. ModSecurity ağ sunucusu IIS, Apache2 veNGINX ile birlikte çalışması için dizayn edilmiştir.
  - Systrace
  - Zorp


### Windows.
  - WinGate


### Ağ cihazları.
Bu cihazlar, donanım ağı aletleri olarak ve bazı durumlarda temel sunucu donanımı üzerinde çalışan sanal versiyon(virtual image) olarak satılmaktadır.
  - Fortinet NextGeneration Firewall
  - Meraki
  - F5 Networks BIG-IP Application Security Manager
  - AIONCLOUD
  - A10 Networks Web Application Firewall
  - Barracuda Networks Web Application Firewall/Load Balancer ADC
  - Monitorapp AIWAF
  - Check Point
  - Citrix NetScaler
  - Cloudbric
  - CloudFlare
  - Imperva
  - KEMP Technologies
  - Penta Security
  - Smoothwall
  - Untangle
  - WatchGuard


## Özelleşmiş uygulama güvenlik duvarları.
Özelleşmiş uygulama güvenlik duvarları, belirli bir uygulamayı koruma ve kontrol etme konusunda birçok özellik sunar. En özelleşmiş ağ cihazı uygulama güvenlik duvarları web uygulamaları içindir.


### Tarih.
1996 PHF CGI saldırısı gibi büyük ölçekli web sunucu saldırıları, web uygulamalarını korumak için güvenlik modelleri araştırması için öncü oldu. Bu, şu anda web uygulama güvenlik duvarı (WAF) teknolojisi ailesi olarak anılacak olan teknolojinin başlangıcıydı. Piyasadaki ilk katılımcılar 1999'da ortaya çıkmaya başladı,örneğin Perfecto Technologies’s AppShield(adını 2004'te Sanctum olarak değiştirdi ve Watchfire tarafından alındı.). Bu katılımcılar e-ticaret'e ve illegal internet sayfalarına karşı gelişmek için yoğunlaştılar. NetContinuum (Barracuda Networks tarafından 2007'de satın alındı) konuya, önceden yapılandırılmış 'güvenli sunucular' sağlayarak yaklaştı.Bu tür öncüler, kural koyma sorunları, işletme açısından engeller ve genel olarak maliyet engelleri ile karşı karşıya kaldılar, ancak bu tür çözümlere duyulan ihtiyaç gün geçtikçe daha da belirginleşiyordu.
2002'de, Thinking Stone tarafından işletilen ve daha sonra 2006 yılında Breach Security tarafından satın alınan, ModSecurity adlı açık kaynak projesi, bu engelleri çözmek ve WAF teknolojisini her şirket için erişilebilir kılmak için kurulmuş bir misyon ile kuruldu. OASIS Web Uygulama Güvenliği Teknik Komitesinin (WAS TC) güvenlik açığı çalışmasına dayanan, Web uygulamalarını korumak için eşsiz bir açık kaynak kural seti olan çekirdek kural kümesinin piyasaya sürülmesiyle, piyasanın uyması gereken, düzgün, iyi belgelendirilmiş ve standartlaştırılmış öncülük edecek bir model ortaya çıkmış oldu.
2003'te,WAS TC'nin çalışmaları, Açık Web Uygulama Güvenliği Projesi (OWASP) Top 10 Listesiyle sektör boyunca genişletildi ve standartlaştırıldı. Bu yıllık sıralama, web güvenlik açıkları için bir sınıflandırma şeması olup, tehdit ve etkilere karşı durumları açıklayan yol gösterici bir modeldir. WAF gibi koruma araçları tarafından takip edilir. Bu liste, pek çok uyumluluk şemasının endüstri ölçütü olmaya devam etmiştir.
2004'te, ağ katmanı alanındaki büyük trafik yönetimi ve güvenlik sağlayıcıları, hızlı bir şekilde birleşme ve devralma yöntemleriyle WAF pazarına girdi. Bu girişimlerden önemli olanı F5'in yıl ortasında Magnifire WebSystems'i elde edebilmek için TrafficShield yazılım çözümü ile Big-IP trafik yönetim sisteminin entegrasyonunu sağladı. Aynı yıl, F5 AppShield'i satın aldı ve teknolojiyi durdurdu. Bu alım satım devir işlemleri, 2006'da Protegrity tarafından Kavado'nun satın alınmasıyla ve Citrix Systems'in Teros'u satın almasıyla devam etti.
Bu noktaya kadar, WAF pazarına, web uygulama katmanı güvenliği üzerine yoğunlaşan niş sağlayıcılar hakimdi. Pazar bu aşamadan sonra WAF geniş ağ teknolojileri (yük dengeleme, uygulama sunucuları, ağ güvenlik duvarları vb.) ile entegrasyonu üzerine yoğunlaşıldı. WAF bu noktadan sonra farklı bir markalaşma sürecine girdi. Seçenekler karmaşıktı, pahalıydı ve pazar tarafından henüz tamamen anlaşılamamıştı.
2006'da, Web Uygulama Güvenliği Konsorsiyumu, WAF pazarının anlaşılırlığını artırmaya yardımcı olmak için kuruldu. Web Uygulama Güvenlik Duvarı Değerlendirme Ölçütleri projesi (WAFEC), satıcılar, akademisyenler ve bağımsız analistler ve araştırmacıların bulunduğu bu topluluk bugün hala geçerli olan WAF'ın adaptasyonu ve geliştirilmesi için ortak bir taban oluşturdu.
WAF'a olan ilgi, 2006 PCI Güvenlik Standartları Konseyi kurulmasına bağlı olarak arttı. Önemli kart markaları (AMEX, Visa, MasterCard, vb.), Endüstrideki güvenlik uygulamalarını düzenleme ve yaygın kredi kartı dolandırıcılığını azaltmanın bir yolu olarak PCI formunu oluşturdu.  Bu standart form, tüm web uygulamalarının güvenli olmasını gerekli kıldı.(güvenli geliştirme veya WAF kullanımı ile). (OWASP Top 10, bu gereksinimin omurgasını oluşturur).
Sanallaştırmaya ve mevcut kaynakları en üst düzeye çıkarmak için Bulut sistemine ağırlık verilince, WAF teknolojisinin de yeniden ölçeklendirilebilmesi büyük önem kazandı.
2010 yılına gelindiğinde, WAF piyasası Forrester'e göre 200 milyon doları aşan bir pazara ulaşmıştı. Forrester analisti Chenxi Wang, "Web Uygulamaları Güvenlik Duvarı 2010 ve sonrası adlı şubat ayında yayınladığı raporda, "Forrester, WAF ve pazarının 2009 pazar gelirini yaklaşık 200 milyon $ olarak tahmin ediyor ve pazarın 2010'da % 20 oranında büyüyeceği" öngörüsünde bulundu. Güvenlik ve risk yöneticileri 2010'da WAF için iki eğilim olacağı tahmininde bulundular. 1)orta ölçekli markette WAF ulaşılabilir olacak, 2) Daha büyük işletmeler giderek daha yaygın olan WAF çözümlerine yönelecekler." Ayrıca yazar "Imperva'nın, WAF lideri" olduğunu da yazdı.


#### Dağıtık web uygulaması güvenlik duvarı.
Dağıtık Web Uygulaması Güvenlik Duvarı (dWARF olarak da bilinen), web uygulama güvenlik duvarı (WAF) ve Web uygulamaları güvenlik ailesinin bir üyesidir. Tamamıyla yazılım tabanlı olan dWARF mimarisi, ağın farklı alanlarında fiziksel olarak bulunabilen ayrı bileşenler olarak tasarlanmıştır. Mimarideki bu özellik, dWARF'in kaynak tüketiminin bir cihaza bağımlı olması yerine bir ağa yayılmasına olanak sağlarken, gerekli ölçeklemeyi özgürce yapabilmesine izin verir. Özellikle, daha iyi kaynak yönetimi için herhangi bir bileşen sayısının birbirinden bağımsız olarak eklenmesini / çıkarılmasını sağlar. Bu yaklaşım, özel, genel veya hybrid bulut modelleri gibi büyük ve dağıtılmış sanallaştırılmış altyapılar için idealdir.


#### Bulut sistem tabanlı web uygulaması güvenlik duvarı.
Bulut tabanlı web uygulaması güvenlik duvarı da web uygulama güvenlik duvarı (WAF) ve web uygulamaları güvenlik ailesinin bir üyesidir. Bu teknoloji, platform bağımsız olması ve bilgisayar üzerinde herhangi bir donanım veya yazılım değişikliği gerektirmemesi nedeniyle tercih sebebidir. Tüm sağlayıcılar, sadece biri DNS değişikliği yaparak; burada, tüm web trafiği, WAF vasıtasıyla yönlendirilir ve tehditler engellenir. Bulut tabanlı WAF'ler genellikle merkezi olarak orkestra gibi çalışır, yani tehdit tespit edildiğinde tehdit bilgilerinin servisin tüm kullanıcıları arasında paylaşıldığı anlamına gelir. Bu işbirliği sayesinde tehdit algılama mekanizması daha doğru sonuçlar verir. Söz konusu tehditten herkes haberdar olur. Diğer bulut tabanlı çözümler gibi bu teknoloji de esnek, ölçeklenebilir ve genelde servis ağı büyüdükçe ödeme yapmanız gereken bir hizmet olarak sunulmaktadır. Bu yaklaşım, web uygulaması güvenliğini gerektiren ancak sistemlerinde yazılım veya donanım değişiklikleri yapmak istemeyen bulut tabanlı web uygulamaları, küçük veya orta ölçekli web siteleri için idealdir.
  - Bekchy
  - CloudFlare
  - Sucuri