Web Uygulama Güvenliği Ve Saldırıları

Dünya’da birçok şirketin, kullanıcının kullandığı web uygulamaların güvenliği, yapılan saldırıları ve alınabilecek önlemlerden bahsedeceğiz.

  Web uygulamaların hızla artmasıyla beraber saldırılarda birlikte artmakta. E-ticaret, bankacılık, kurumsal şirketlerin, hatta bilgilerimizi girdiğimiz devlete ait web uygulamaları gibi birçok kurumun ve kuruluşun web uygulaması var. Bunlara yapılacak saldırılar ile kullanıcılara ve şirkete büyük sorunlar oluşturabilir. Haliyle güvenliğinin alınması gereklidir. Web uygulama güvenliğinde alınması gereken bazı önlemlerden bahsedelim.

  •  Kullanıcı Girdilerin Kontrolü

Web uygulamalarındaki kullanıcı girdilerin kontrolünü sağlamalıyız. Saldırgan kullanıcının bilgi girilmesi gereken yerlere kötü kod parçacığı enjekte etmesi sonucunda oluşabilecek güvenlik zaafiyetleri vardır. Bir kullanıcı girdisinin olduğu yerde herhangi bir kontrol olmaz ise saldırgan bu girdi alanına html kodları ekleyerek html injection, javascript kodları ekleyerek xss, csrf gibi zaafiyeteri, sql kodları ekleyerek, sql injection gibi tehlikeli güvenlik ihlallerine yol açabilmektedir. Burada html injection, xss, csrf gibi zaafiyetlerde hedef kurban kullanıcı iken; sql injection zaafiyetinde hedef web uygulamasının veritabanıdır. <script> veya html taglarını engelleyerek web uygulamasında güvelik sağlanabilir. URL’ler belli bir düzenlemeye tabi tutularak sunucu taraflı çalışan işlemleri herkes tarafından görülmesini engelleyebilir. Örneğin php?id=1 gibi bir URL de, veritabanında bulunan verileri id yoluyla çekmekte ve id numarasına göre çektiğini bir saldırgan fark ederse id değerini değiştirip id kısmına sql kodları enjekte ederk sql injectiona sebebiyet verebilir.

  • Veritabanı Güvenliği

Birçok gelimiş web uygulamalarında verilerin bir yerde tutulup web sitesinde işlemlerde veritabanından bilgileri alarak kolaylık sağlar. Kullanıcı bilgileri bulunduğu gibi web sitesinin admin bilgileri gibi önemli bilgiler veritabanında tutuluyor olabilir. Haliyle güvenliği sağlanması çok önemlidir. Aksi takdirde saldırganlar bilgilerden faydalanarak web uygulamasını ve şirketi zarara uğratabilir. Veritabanı saldırılarında sıklıkla karşılaşılabilen zaafiyetlerden biri de sql injection zaafiyetidir. Kısaca anlatmak gerekirse web uygulamalarına sql kodlarını enjekte ederek web uygulamasını sql syntax hatasına uğratmaktır. Burda da veritabanından alınan çıktıların kontrolü sağlanmaması takdirde ve herhangi bir engellemeye tâbi olmadığı takdirde saldırgan sql kodlarını enjekte ederek veritabanını görebilmektedir. Bunun güvenliğinin sağlanması içinse ‘ , ” , — , – , || gibi sql de kullanılan syntaxları engelleyip verileri veritabanından çekerken bir kontrole tabi tutmasını sağlamaktır.

  • Kullanılan Veri Akışını Korumak

Bilgi güvenliğinin temel konularından biri olan verinin gizliliği, korunması konuları, hareket halindeki ağ trafiğini sunucu istemci arasındaki isteği değiştirmek, görmek ve ele geçirmek gibi saldırılar olabilir. HTTP ve Telnet gibi herhangi bir şifrelemeye tâbi tutulmayan protokolleri kullanmak verinin gizlenmemesi, şifrelenmemesi demektir. Bunların yerine HTTPS ve SSH gibi şifreli protokolleri kullanarak veri gizliliğini ve korumasının güvenliği ihtiyaç duyulmalıdır. Kullanıcı bilgileri bulunan web uygulamalarında cookieleri secure flag, hassas verileri url de göstermemek gibi güvenlik önlemleri alınabilir.

  • Parola Güvenliği

Oldukça sık yapılabilen saldırılardan biride basit parolalara Brute Force ( Kaba Kuvvet ) saldırısı yaparak parolası basit olan kullanıcıların hesaplarına, parolası default bırakılan servislere, tahim edilebilir parolalar koyarak bir risk oluşturmaktadır. Bunun için alınabilecek güvenlik önlemlerinde kullanıcılara basit ve top password larını kullanmamalarını ve periyodik şifre değişimini  ( Belli aralıklarla şifre değişimi ) kullanmalarını öneriniz. Bunlara alınabilecek önlemlerde parolaları veritabanında güvenli bir şifreleme ile saklamak ve parola uzunluğu ve özel karakter, büyük küçük harf, sayı kullanımı zorunluluğunu getirmektir. Web ugulamasında 2 faktörlü kimlik doğrulama kullanımı zorunlu kılınarak güvenlik sağlanabilir.

  • Yetkilendirme

Kimlik doğrulama veya diğer adıyla Authentication dediğimiz, web uygulamasının kullanıcı ve yöneticilerin izinlerini yönetmektir. İstenilmeyen sayfalar, URL’ler saldırgan veya kullanıcı tarafından herkesçe görüntülenmesine izin verilmesi güvenlik ihlali arz edebilmektedir. İzinleri yetkilendiren sistemler kullanarak, Dosya erişimlerini ve profil gibi yerlere yetkilendirme işlemi uygulayarak güvenlik sağlanabilir.

Sitemizdeki diğer yazılara göz atmayı, yazımızı beğendiyseniz arkadaşlarınız ile ya da tanıdıklarınız ile paylaşmayı unutmayın sağlıcakla kalın.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.