Netscaler Application Firewall Web Uygulama Güvenliği Web Uygulama güvenliği, HTTP ve HTTP prorokolü kullanarak iletişim kuran programlar ve bilgisarlar için network güvenliğidir. Bu, güvenlik eksikliklerinin ve zayıflıklarının bol olduğu oldukça geniş bir alandır. Sunucu ve istemci’lerin her ikisi üzerinde ki işletim sitemleri güvenlik sorunları ve saldırlara karşı savunmasızdır. CGI, Java, JavaScript, Perl ve PHP gibi teknolojilerini sağlayan web sunucu yazılımları ve web siteleri, altlarında yatan bu teknolojiler nedeniyle güvenlik açıkları barındırır. Bu teknolojilerle oluşturan web uygulamaları ile iletişim kuran tarayıcılar ve diğer istemci uygulamalar da güvenlik açıkları barındır. Ziyaretçilerle etkileşim kurmayı sağlayan ve bu teknolojilerden herhangi birini veya en basitinden HTML kullanan web siteleri çok sıklıkla güvenlik açıkları barındırır. Geçmişte, bir güvenlik ihlali çok sıklıkla sadece rahatsız ediciydi. Fakat bügün nadiren can sıkıcı olup çoğunlukla büyük bir güvenlik sorunu. Örneğin bir hacker’ın bir web sunucusuna erişim kazanandığı ve web site’sine yetkisiz değişiklikler yaptığı saldırılar yaygın olarak kullanılıyor. Bu ataklar genelde hünerlerini diğer hacker’lara göstermek veya hedeflerinde ki kişi ve şirketleri utandırmaktan başka motivasyonu olmayan hacker’lar tarafından başlatılıyordu. Halbuki şu an en güncel güvenlik ihlalleri, motivasyonarını para kazanma isteğinden alıyor. Saldırıların büyük çoğunluğu hassas ve potansiyel olarak değerli kişisel bilgileri ele geçirmek veya web site ve web sunucularına yetkisiz erişim sağlayarak kontrollerini ele geçirmek için yapılıyor. Web saldırılarının bazı formları kişisel bilgileri ele geçirmek üzerine yoğunlaşır. Bu atakların çoğunluğu bir saldırganın bütün kontrolü ele geçirmesini önlebilecek yeteri derecede güvenli olan web site’lerine karşı yapılıyor. Saldırganın bir web sitesinden elde ettiği bilgiler, müşteri isimleri, adresleri ,telefon numaraları, sosyal güvenlik numaraları, kredikart numaraları, hastane kayıtları ve diğer kişisel bilgiler olabilir. Saldırgan bu bilgileri kullanabilir veya onları başkalarına satabilir. Böyle saldırılarla elde edilen bilgilerin çoğu yasalarla korunur. Bu tip ihlaller kişisel bilgilerinin gizliliği ihlal edilen müşteriler için oldukça ciddi sonuçları doğurabilir. En iyi ihtimalle bu müşteriler kredikartlarının kötüye kullanılmasını, onların isimleriyle yetkisiz kredi hesapları açılmasını veya açıkca kimliklerinin çalınmasını önlemek için titiz davranmak zorunda kalabilirler. En kötü ihtimalle berbat kredi borcu ile karşı karşıya kalabilirler veya bir parçası olmadıkları kiriminal aktiviteler için bile suçlanabilirler. Web saldırıları, bir web sitesi veya web sitesinin üzerinde çalıştığı sunucu veya her ikisini kontrol etme amacı güder. Sunucu veya bir web sitesinin kontrolünü ele geçiren bir hacker bu kontrolü, yasak içerikleri tutmak, başka bir sunucuda bulunan içerikler için proxy gibi davranmak, toplu e-mail’ler göndermek için SMTP hizmetlerini kullanmak veya gizliliği ihlal edilmiş başka web sunucuları üzerinde ki bu tür faliyetleri desteklemek için DNS hizmetlerini sağlamak için kullanabilir. Güvenliği ihlal edilen web suncuları üzerinde bulunan web sitelerinin çoğu şupe uyanduran ve düpedüz sahte işletmelerin reklamını yapabilirler. Örneğin, edolandırıcılık web sitelerinin ve çocuk istismarı yapan web sitelerinin çoğunluğu güvenliği ihlal edilmiş bu web sunucularının üzerinde bulunur. Web sitelerinizin ve web hizmetlerinizin bu saldırılara karşı korunması, bilinmeyen saldırılara kaşı koruma ve karakteristik olarak teşhis edilebilen bilinen atakları bloklama yeteneğinin her ikisini barındıran çok katmanlı bir savunmayla mümkündür. Bilinen Web Atakları Whitehat Website Güvenlik Açığı olasılıkları Raporu 2015 Web sitelerinin savunmasının ilk hattı web güvenlik uzmanları tarafından analiz edilmiş ve incelenmiş ve varolduğu bilinen çok sayıda ki saldırılara karşı korumadır. HTML tabanlı web sitelerine yapılan genel saldırı türleri aşağıdakileri içerir. Buffer overflow atakları. Web sunucusu veya üzerinde koştuğu işletim sisteminin kilitlenmesi, çökmesi veya işletim sitemine saldırganının yetkisiz erişim sağlamasına umuduyla aşırı boyuttu uzun URL, aşırı boyutta uzun cookie veya başka aşırı boyutta uzun bit bilgisinin bir web sunucusuna gönderilmesidir. Buffer overflow saldırısı bilgilere yetkisiz erişim kazanmak, bir web sunucusunun güvenliği ihlal etmek veya her ikisi içinde kullanılabilir. o Cookie security atakları. Genellikle sahte kimlik bilgileri kullanarak yetkisiz içeriğe erişim elde etme umuduyla değiştirilmiş bir cookie’nin bir web sunucusuna gönderilmesidir. o Forceful browsing. Anasayfa üzerinde ki hyperlink’ler veya web sitesi’inde yaygın diğer start URL’ler aracılığıyla bu URL’lere gitmeden bir web sitesi üzerinde ki URL’lere doğrudan erişilmesidir. Forcefull browsing’in özgün örneklerinde biri web sitenizin bir sayfasını bookmark olarak eklemiş bir kullanıcının site üzerinde ki varolmayan bir içeriğe veya varolan doğrudan erişim izni olmayan bir içeriğe tekrar tekrar erişimde bulunmasıdır. Çok sıklıkla bu gibi bir durum web site güvenliği üzerinde bir saldırıyı betimler. Forcefull browsing genellikle yetkisiz bilgilere erişim kazanmak için kullanılır. Ayrıca suncuların gizliliğini ihlal etme teşebüsünde buffer overflow saldırısıyla birleştirilebilir. o Web form güvenlik atakları. Web formu içerisinde web sunucunuza uygun olmayan içerik gönderilmesidir. Uygun olmayan içerik, değiştirilmiş gizli alanları, sadece alfanümerik veri için tasarlanan bir alanda yazılımsal kod veya HTML’i, sadece kısa bir string kabul eden bir alanda aşırı derecede uzun bir string’i, web sitenizin bu web formunda almayı ummadığı çok çeşitli diğer verileri içerir. Web form güvenlik saldırları, web sitenizden yetkisiz bilgileri elde etmede veya açıkca web sitesinin gizliliğini ihlal etmede, genellikle buffer overflow saldırısıyla birleştirilerek kullanılır. o Web form güvenliğine yönelik saldırıların iki özel türününden özel olarak bahsetmesi gerekiyor: o o SQL injection atakları. SQL veritabanında SQL komutlarının çalıştırılması hedefiyle bir web formunda veya URL’in bir parçası olarak aktif SQL komutların gönderilmesidir. SQL injection saldırıları genellikle yetkisiz bilgi elde etmek için kullanılır. Cross-Site scripting saldırıları. Bir script’in, bulunduğu web sitesi dışında ki bir web sitesi üzerinde bulunan herhangi bir içeriği değiştirmesini engelleyen ve same-origin kuralı olarak adlandırılan kuralı ihlal etmek için bir web sayfası üzerinde bir script veya URL kullanımıdır. Script’ler bilgi ele geçiribildiğinden ve web istesinde ki dosyaları değiştirebildiğinden ötürü başka bir web sites’sinde ki içeriğe bir script’in erişimine izin vermek saldırgan’ın yetkisiz bilgileri ele geçirmesine, bir web sunucusunun gizliliğinin ihlal edilmesine veya her ikisine olanak sağlar. XML tabanlı web hizmetlerine karşı saldırılar genellikle takip eden iki kategoriden enaz birinde yeralıyor: Bir web servisine uygun olmayan içerik gönderilmesi teşebbüsü veya bir web hizmeti üzerinde güvenlik ihlaline teşebbüs edilmesi. XML tabanlı web hizmetlerine karşı yapılan genel atak türleri aşağıdakileri içerir. o o o Kötü niyetli kod veya nesneler. Ya doğrudan hashas bilgilerin elde edilebielceği ya da saldırgana web hizmetlerinin veya altında ki sunucunun kontrolünü alabileceği nesneleri ve kodları içeren XML istekleridir. Badly-formed XML request. W3C XML tanımlamalarına uymayan XML istekleridir. Bu durum bu nedenle güvensiz web hizmetlerinde güvenliği ihlal edebilir. Denial of service (Dos) saldırıları. Hedefteki web hizmetini çok yoğun ve baskılı bir şekilde boğmak niyetiyle yüksek yoğunlukta ve aralıksız olarak XML isteklerinin gönderilmesi ve web hizmerlerine meşru kullanıcı erşimlerinin engellenmesidir. Standard XML tabanlı ataklara ek olarak , XML web hizmetleri ve Web 2.0 siteleride SQL injection ve cross-site scripting ataklarına karşı aşağıda açıklandığı gibi savunmasızdır. o o SQL injection atakları. SQL veritabanının bu komutları çalıştırması amacıyla XML isteleri içerisinde aktif SQL komutlarının gönderilmesidir. XML SQL injection ataklarıda HTML SQL injection atakları gibi genellikle yetkisiz bilgileri elde etmek için kullanılır. Cross-site scripting atakları. Bir script’in, bulunduğu uygulama dışında ki farklı bir uygulama üzerinde ki herhangibir içeriği değiştirmesini engelleyen ve same-origin kuralı olarak adlandırılan bu kuralı ihlal etmek için XML tabanlı uygulama içerisinden bir script kullanımıdır. Script’ler bilgi ele geçiribildiğinden ve XML uygulamanızı kullanarak dosyaları değiştirebildiğinden ötürü başka bir uygulamaya ait olan bir içeriğe bu script için erişim izni vermek saldırgan’ın yetkisiz bilgileri ele geçirmesine, uygulamanın gizliliğinin ihlal edilmesine veya her ikisine olanak sağlar. Bilinen ataklar genellikle belirli bir atak için daima aşikar olan belirli karaktiristikler (signature) için web site trafiği filitre edilerek durdurulabilir. Bu yaklaşım göreceli olarak daha az kaynağa ihtiyaç duyması ve yine göreceli olarak daha az false-positive içermesi nedeniyle avantajlara sahiptir. Bu nedenle imzalar (signature) web hizmetleri ve web sitelerine yapılan saldırlara karşı koymada değerli bir araçtır. Ve en çok bilinen web saldırılarının engelleyen temel imzaların konfigürasyonunun yapılmasıda oldukça kolaydır. Bilinmeyen Web Atakları Web siteleri ve uygulamalarına karşı en büyük tehtitler bilinen ataklardan ziyade bilinmeyen ataklardan gelir. Bilinmeyen atakların çoğu bu iki kategoriden birinde yeralır: henüz güvenlik firmalarının etkili bir savunma geliştirmediği yeni başlatılan ataklar (zero day ataklar) ve çoğu web hizmetleri veya web sitelerinden ziyade belirli web hizmetlerine veya web sitelerine yöneltilen dikkatlice planlanmış ataklar (spear ataklar). Bu ataklar bilinen ataklarda olduğu gibi genellikle web site veya web hizmetlerin gizliliğini ihlal edilmesi, hassas kişisel bilgileri elde edilmesi ve bu bilgileri başka ataklar için kullanmaya yöneliktir. Zero-day ataklar bütün kullanıcılar için major bir tehtittir. Bu ataklar genellikle bilinen ataklarla aynı türdendir; zero-day ataklar çok sıklıkla injected SQL, cross-site script, cross-site request forgery veya bilinen ataklara benzer başka tür atakları içerir. Çoğu durumda hedefte olan yazılımların, web hizmetlerin veya web sitelerin geliştiricilerinin daha farkına varmadığı veya henüz öğrendikleri zayıf noktaları hedef alırlar. Güvenlik firmaları bu nedenle bu ataklara karşı savunma daha geliştirmemiş ve geliştirmiş olsalar bile kullanıcılar genellikle yamaları temin edememiş ve kuramamış veya bu ataklara karşı korunmak için gerekli çözümler geliştirmemişlerdir. Zero-day atakların ifşa edilmesi ve buna karşı savunma geliştirilmesi arsında ki zaman (the vulnerability window) daralır fakat saldırganlar ataklara karşı belirli bir koruma eksiği olan çoğu web hizmeti ve web sitesinde halen saatleri veya günleri bile hesap eder. Spear atakları daha çok seçkin bir grup kullanıcı için major bir tehtittir. Spear atakların yaygın bir türü olan spear phish genellikle belirli bir banka veya finansal kurumum müşterilerini veya daha az sıklıkla belirli bir şirket veya organizasyonun çalışanlarını hedef alır. Finansal kurumun veya bankanın asıl iletişimiyle herhangi aşınalığı olan bir kulanıcının genellikle kabaca yazılan sahte belgelerin aksine spear phish türü e-mail’ler mükemmel yazılmış ve oldukça ikna edicidir. Bu e-mail’ler ilk bakışta hiçbir yabancının bilemeyeceği ve elde edemeyeceği kişiye özel bilgiler içerebilir. Bu nedenle bir spear phisher, hesapları boşaltmak , diğer kaynaklardan illegal para elde etmek veya başkalarına erişim elde etmek, daha fazla hasssas bilgi kazanmak için bile istenilen bilgileri, hedefindekinin sağlaması için ikna edebilir. Bu tür atakların her ikiside standart imzalarda olduğu gibi belirli karakteristikleri arayan statik paternleri kullanmasada genellikle tespit edilebilen bazı katakteristik özeliklere sahiptirler. Bu tür atakları tespit edilmesi heuristic filitreleme ve pozitif güvenlik model sistemlerinde olduğu gibi daha karmaşık ve daha fazla kaynak gerektirir. Heuristic filitreleme belirli bir patern yerine davranış patern’i arar. Positif güvenlik sistem modelleri korudukları web sitelerinin ve web hizmetlerinin normal davranışını modeller ve sonra normal kullanım modeline uymayan bağlantıları bloklar. URL ve web-form tabanlı güvenlik kontrollleri web sitelerinizin normal kullanımının profili çizer ve anormal veya beklenmeyen trafiği bloklamak için positif ve heuristic güvenlik modellemelerinin her ikiside kullanarak kullanıcıların web sitelerinizle nasıl etkileşime gireceğini kontrol eder. Uygun şekilde tasarlanmış ve konuşlandırılmış heuristic ve pozitif güvenlik modellerinin ikiside imzaların kaçırdığı atakların çoğunu yakalayabilir. Bu arada bu güvenlik modelleri imzalara nazaran daha fazla kaynağa ihtiyaç duyar ve false pozitif’lerden kaçınmak için uygun bir şekilde ayaranmaları için biraz zaman harcanmalıdır. Heuristic ve pozitif güvenlik modelleri öncelikli olarak ön sıra savunma hatları için değilde genelde imzalara veya diğer az kaynak gerektiren yaklaşımlara yedek olarak kullanılır. Bu yazı dizisinde Netscaler Application Firewall üzerinde imzalara ek olarak bu gelişmiş korumaları yapılandırarak, bilinmeyen ve bilinen atakların her ikisine karşı kapsamlı bir koruma sağlamak için application firewall’u yapılandırmayı ve doğru bir biçimde etkinleştirerek hybrid güvenlik modelininin uygulanması anlatılacak. Bu kapsamda bir sonra ki makale’de HTML Cross-Site Scripting korumasının Netcaler Application Firewall üzerinde nasıl efektif bir şekilde yapılandırılacağına değineceğiz.