İnternet sitelerinin güvenlik açıkları ile ilgili alınması gereken önlemleri açıklar mısınız?
Çok çeşitli atak türleri bulunmaktadır aslına bakarsanız. Yazdığınız algoritmanın operasyonu sizin istediğiniz şekilde gerçekleştirmesine özen göstermeniz gerekebilir. Ayrıca web sayfanızı live sunucularda çalıştırmadan önce mutlaka test etmeniz gerekmektedir. Her türlü testten geçirmeniz gerekebilir. Bu konu aslında bayağı detayla incelenebilir. Eğer kullanıcı verileri hassas ise data transferlerini SSL sertifikaları güvenliği altında taşımanızı tavsiye edebilirm. Çünkü bu sertifikalar data transferinin güvenilir şekilde yani encryptolayaraka(yanlış bilmiyorsam) olmasını sağlıyorlar. Bir de web sunucunuzu gerçekten emin ellerde olduğundan emin olmanız gerekebilir : ) Aslında dediğim gibi bu işlem bayağı teferruatlıdır. Injection açıklarına göz atmanızda yarar var diye düşünmekteyim. Eğer projenizde web servisleri kullanıyorsanız uygulama kimlikleri oluşturarak ve IP eşleşmelerini de kontrol edebilirsiniz ve buna uygun servis authentication katmanı kullanabilirsiniz. Şİmdilik aklıma gelenler bunlar.
Projeyi programlarken her yazdığımız satır kod için buraya illegal yollardan erişim olur mu ? Benim yazdığım bu algoritma dışarıdan benim düşünmediğim başka olasılıklarla çalıştırılması denenip; uygulamama zarar verir mi ? Bu düşünce ile projelerimizi programlamalıyız yani bakış açımızı kendi projemizi hacklemek olarak değiştirmeliyiz. Durum böyle olunca bir süre sonra paranoya modunda da kod yazabiliyoruz : )
Web projeleri için ilk aklıma gelenleri sıralamak isterim
- Form alanları ve url satırları tüm kullanıcılara ilk açık olan alanlar olduğu için ilk önlemler buralardan alınmalı.
- Form alanlarından girilen veriler hem clientside hem serverside denetlenmeli. Zararlı kodlar bu alanlardan gönderilerek veritabanınızda veri bütünlüğünü bozabilir.
- Form alanlarından gönderilen bilgilerden bazıları veritabanlarınızda şifrelenerek kaydedilmeli. Kullanıcı şifreleri gibi.
- Projeniz url satırından GET metodu ile gelen parametreleri şifreleyebilirsiniz ya da olasılık dışı gönderilecek bir parametre mutlaka denetlenip ekrana anlamlı hata mesajları gösterilmelidir. Aksi takdirde ekrana kullandığınız teknolojinin hata mesajı ve kaynak dosyanın satır numarasına kadar verilebilecek bir hata mesajı sizi eleverebilir.
- Form alanlarında captcha kullanılması flood atakların önüne geçmek için faydalı olacaktır aksi takdirde kötü niyetli kişilerin saldırılarına açık kapı bırakmış olunur.
Bu saydıklarım proje programlama aşamasındayken o anda düşünülüp gerçekleştirilmesi gereken temel güvenlik önlemleridir. Sunucu taraflı alınması gereken de pek çok önlem vardır bu da sistem ağ uzmanlığı konusuna giriyor.
Kodlamada oluşan açıklar ve hostingle alakalı açıkları olarak ikiye ayırabiliriz... Kodlamadaki en büyük açıklar sql injection açıklarıdır. .
501 Görüntülenme5 Takipçi3 Yanıt
Web YazılımıSite Güvenliği