Yazılım üzerinde Güvenliği Sağlamak için iki senaryo aklımıza gelmeli; birincisi kendi kullanıcılarımıza dikkat etmemiz, yani yetki verdiğimiz kullanıcıların kim olduğuna ve verdiğimiz yetkilerle nerelere erişebilirler bunları iyi analiz edip ona göre yetkilendirme yapmak ikincisi ise 3. şahıslar tarafından gelecek saldırılardır.
Her iki hususta da yetkin ve tecrübe çok önemlidir. Yazılımcı her ne kadar tecrübeli de olsa yazılan kodlarda bazen zafiyetler gözden kaçabiliyor ya da kullanılan yazılımın kendi zafiyetinden kaynaklı sorunlar yaşanabiliyor. Bu tip sorunların önüne geçmek içinse güvenilir siber güvenlik şirketleri tarafından yapılacak penetrasyon testleri zafiyetin olup olmadığı konusunda oldukça yardımcı oluyor.
Yazılım Güvenliği için- Penetrasyon Testi
Penetrasyon Testlerinde; Kali Linux, Netsparker, Nessus, Burp Suite, Openvas vb. uygulamalar kullanılarak zafiyet taramaları gerçekleştirilir. Bu uygulamaların lisanslı ve en kararlı versiyonlarının kullanılıyor olması zafiyet taramasının en iyi şekilde yapılmasını sağlar. Penetrason Testi sonuçlarından elde edilen veri doğru analiz edilmelidir. Yazılımda bulunan eksik veya zafiyet’in ne olduğu ve bu zafiyetten doğabilecek problemler detaylı olarak araştırılıp kapatılmalıdır.
En doğru güvenlik şüpheci yaklaşımla olur… Yazılımcı sürekli olarak yazdığı kodun güvenli olup olmadığını sorgulamalıdır. Özellikle dışarıdan yani kullanıcıdan alınan verilerin filtrelerden geçirilerek veritabanına veya sunucuya ulaşması sağlanmalıdır.
Güncel güvenlik zafiyetleri hakkında sürekli olarak bilgi sahibi olunması yazılımcının yaptığı uygulamalarda güvenlik açığı olmasının önüne geçer. İnternette güncel olarak hacklenen sitelerin veya şirketlerin nasıl hacklendiklerine dair bilgiler alabileceğimiz çeşitli platformlar mevcut. Bu platformları araştırıp güvenlik açıkları ile ilgili araştırmalar yapabiliriz.
Güvenlik açıkları sadece yazılımsal olarak düşünülmemelidir. Güvenlik açıkları yazılımın kullanıldığı cihazlar veya ortamlardan kaynaklı da oluşabilir. Örneğin bir web sitesi geliştirdiniz ve siteyi yayına açtınız. Yazılımsal olarak Penetrasyon Testlerinden de olumsuz bir sonuç almadınız. Ama sitenizin yüklü olduğu sunucuda zafiyetler mevcut. Bu durumda hacklenmemek elde değil. Bu nedenle zafiyet taramaları sadece yazılıma değil yazılımın muhafaza edildiği ortamı da kapsamalıdır. Kullanılan sunucu, sunucuyu kuran personelin yeterliliği ve sunucuda yüklü olan güvenlik araçları sunucu tarafındaki güvenliği en minimuma indirmeyi sağlar.
Güvenlik konusu kendi başına bir yığın konu içerir. Yazılım Güvenliği bir tutmak aslında bir noktada yanlış. Fakat her yazılımcının yazdığı kodun ne anlama geldiğini bilmesi gerekir. Yapılan Penetrasyon Testlerinde yazdığı kodda bir açık varsa o açık hakkında detaylı incelemeleri yapıp bir sonraki projelerinde kullanmaması gereklidir. Her işte olduğu gibi yazılımda da birçok şey zaman ve tecrübe ile edinilir. Bu nedenle yazılıma yeni başlayan kişilerin başlangıç olarak işin ehli kişilerle çalışıp tamamen tecrübe edinme ve işi öğrenmeye yönelik adımlar atması gerek.
Yazılım Yedeklemesi Yapmak
Bütün önlemler alınıp eksiksiz bir şekilde yazılımın geliştirilmesi ve kullanıma açılması içinizi her ne kadar rahatlatsa da son olarak yapmanız gereken şey düzenli olarak yazılımın ve yazılımı ayakta tutan bileşenlerin yedeklerinin alınması olmalıdır. Veritabanları ve yazılımın yedeği haftalık olarak alınabilir. Alınan yedekler ofline olarak tutulabilir. Elinizde bulunan bir sunucuya yedekleri alın ve daha sonrasında fişini çekin. İnternete çıkışı kesinlikle olmasın. Yedek sunucunuzu fiziksel olarak birisi çalmadığı sürece yedeklerinize zarar gelmeyecektir ????